Compare commits

...

404 Commits

Author SHA1 Message Date
Bram Moolenaar
52111f8231 patch 8.1.1237: error for using "compl", reserved word in C++
Problem:    Error for using "compl", reserved word in C++.
Solution:   Rename to "complp". (suggestion by Ken Takata)
2019-04-29 21:30:45 +02:00
Bram Moolenaar
fe368edcc0 patch 8.1.1236: sjiscorr.c not found in shadow directory
Problem:    sjiscorr.c not found in shadow directory. (Tony Mechelynck)
Solution:   Link po/*.c files with "make shadow".
2019-04-29 20:30:54 +02:00
Bram Moolenaar
602abeb20f Update .gitignore 2019-04-29 20:26:05 +02:00
Bram Moolenaar
c0af78fa08 patch 8.1.1235: compiler warnings for using STRLEN() value
Problem:    Compiler warnings for using STRLEN() value.
Solution:   Cast to int. (Christian Brabandt, Mike Williams)
2019-04-29 19:47:22 +02:00
Bram Moolenaar
701df4eb64 patch 8.1.1234: swap file test fails on MS-Windows
Problem:    Swap file test fails on MS-Windows.
Solution:   Only compare the tail of the file names.
2019-04-28 23:07:18 +02:00
Bram Moolenaar
c779c674ac patch 8.1.1233: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for verb_msg().
2019-04-28 22:53:41 +02:00
Bram Moolenaar
1b243eafb0 patch 8.1.1232: can't build on MS-Windows
Problem:    Can't build on MS-Windows.
Solution:   Define process_still_running.
2019-04-28 22:50:40 +02:00
Bram Moolenaar
67cf86bfff patch 8.1.1231: asking about existing swap file unnecessarily
Problem:    Asking about existing swap file unnecessarily.
Solution:   When it is safe, delete the swap file.  Remove
            HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)
2019-04-28 22:25:38 +02:00
Bram Moolenaar
afde13b62b patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes #4287)
2019-04-28 19:46:49 +02:00
Bram Moolenaar
ab4cece605 patch 8.1.1229: warning for posix_openpt() not declared
Problem:    Warning for posix_openpt() not declared. (Tony Mechelynck)
Solution:   Add declaration.
2019-04-28 18:40:03 +02:00
Bram Moolenaar
45e18cbdc4 patch 8.1.1228: not possible to process tags with a function
Problem:    Not possible to process tags with a function.
Solution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
2019-04-28 18:05:35 +02:00
Bram Moolenaar
7a9df9dd00 patch 8.1.1227: duplicate entries in the generate .desktop files
Problem:    Duplicate entries in the generate .desktop files. (Ralf Schandl)
Solution:   Remove translated entries from the .in files. (closes #4313)
2019-04-28 16:08:30 +02:00
Bram Moolenaar
6c60f47fb9 patch 8.1.1226: {not in Vi} remarks get in the way of useful help text
Problem:    {not in Vi} remarks get in the way of useful help text.
Solution:   Make a list of all Vi options, instead of mentioning what Vi does
            not have.  Update the help text for options.
2019-04-28 16:00:35 +02:00
Bram Moolenaar
1e44968780 patch 8.1.1225: cannot create a pty to use with :terminal on FreeBSD
Problem:    Cannot create a pty to use with :terminal on FreeBSD.
Solution:   Add support for posix_openpt(). (Ozaki Kiichi, closes #4306,
            closes #4289)
2019-04-28 14:59:59 +02:00
Bram Moolenaar
f720d0a77e patch 8.1.1224: MS-Windows: cannot specify font weight
Problem:    MS-Windows: cannot specify font weight.
Solution:   Add the "W" option to 'guifont'. (closes #4309)  Move GUI font
            explanation out of options.txt.
2019-04-28 14:02:47 +02:00
Bram Moolenaar
564344ace9 patch 8.1.1223: middle mouse click test fails without a clipboard
Problem:    Middle mouse click test fails without a clipboard.
Solution:   Check if the clipboard can be used. (Dominique Pelle, Christian
            Brabandt)  Also use WorkingClipboard() instead of checking for the
            "clipboard" feature.
2019-04-28 13:00:12 +02:00
Bram Moolenaar
dcaa54dded patch 8.1.1222: build still fails on MS-Windows
Problem:    Build still fails on MS-Windows.
Solution:   Move another declaration to start of block.
2019-04-27 22:45:00 +02:00
Bram Moolenaar
ad6dc49a75 patch 8.1.1221: filtering does not work when listing marks
Problem:    Filtering does not work when listing marks.
Solution:   Implement filtering marks. (Marcin Szamotulski, closes #3895)
2019-04-27 22:40:08 +02:00
Bram Moolenaar
0ee1bdff7d patch 8.1.1220: build fails on MS-Windows
Problem:    Build fails on MS-Windows.
Solution:   Move declaration to start of block.
2019-04-27 22:38:30 +02:00
Bram Moolenaar
6ee9658774 patch 8.1.1219: not checking for NULL return from alloc()
Problem:    Not checking for NULL return from alloc().
Solution:   Add checks. (Martin Kunev, closes #4303, closes #4174)
2019-04-27 22:06:37 +02:00
Bram Moolenaar
00aa069db8 patch 8.1.1218: cannot set a directory for a tab page
Problem:    Cannot set a directory for a tab page.
Solution:   Add the tab-local directory. (Yegappan Lakshmanan, closes #4212)
2019-04-27 20:37:57 +02:00
Bram Moolenaar
2155a6abaa patch 8.1.1217: MS-Windows: no space reserved for font quality name
Problem:    MS-Windows: no space reserved for font quality name.
Solution:   Add quality_name length if present. (Ken Takata, closes #4311)
2019-04-27 19:15:45 +02:00
Bram Moolenaar
c1b8160b44 patch 8.1.1216: mouse middle click is not tested
Problem:    Mouse middle click is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4310)
2019-04-27 19:11:35 +02:00
Bram Moolenaar
49543fbced patch 8.1.1215: "make clean" does not remove generated src/po files
Problem:    "make clean" does not remove generated src/po files.
Solution:   Remove the files for "make clean". (Christian Brabandt)
2019-04-27 18:32:31 +02:00
Bram Moolenaar
c6b37db1ba patch 8.1.1214: old style tests
Problem:    Old style tests.
Solution:   Move tests from test14 to new style test files. (Yegappan
            Lakshmanan, closes #4308)
2019-04-27 18:00:34 +02:00
Bram Moolenaar
e13a3901ca patch 8.1.1213: "make clean" in top dir does not cleanup indent test output
Problem:    "make clean" in top dir does not cleanup indent test output.
Solution:   Clean the indent test output.  Do not rely on the vim executable
            for that. (closes #4307)
2019-04-27 17:57:31 +02:00
Bram Moolenaar
520e245237 patch 8.1.1212: signal PWR is not tested
Problem:    Signal PWR is not tested.
Solution:   Test that PWR updates the swap file. (Dominique Pelle,
            closes #4312)
2019-04-27 17:32:40 +02:00
Bram Moolenaar
e61e548dd6 patch 8.1.1211: not all user command code is tested
Problem:    Not all user command code is tested.
Solution:   Add more tests.
2019-04-27 15:05:12 +02:00
Bram Moolenaar
ac9fb18020 patch 8.1.1210: support for user commands is spread out
Problem:    Support for user commands is spread out. No good reason to make
            user commands optional.
Solution:   Move user command support to usercmd.c.  Always enable the
            user_commands feature.
2019-04-27 13:04:13 +02:00
Bram Moolenaar
5431589d25 patch 8.1.1209: clever compiler warns for buffer being too small
Problem:    Clever compiler warns for buffer being too small.
Solution:   Make the buffer bigger (even though it's not really needed).
2019-04-26 22:33:49 +02:00
Bram Moolenaar
c8cc0ad477 patch 8.1.1208: links to repository use wrong file name
Problem:    Links to repository use wrong file name.
Solution:   Swap the file names. (Nahuel Ourthe, closes #4304)
2019-04-26 21:31:38 +02:00
Bram Moolenaar
1f3601e92e patch 8.1.1207: some compilers give warning messages
Problem:    Some compilers give warning messages.
Solution:   Initialize variables, change printf() argument. (Christian
            Brabandt, closes #4305)
2019-04-26 20:33:00 +02:00
Bram Moolenaar
d1f90bbcab patch 8.1.1206: user command parsing and listing not properly tested
Problem:    User command parsing and listing not properly tested.
Solution:   Add more tests. (Dominique Pelle, closes #4296)
2019-04-25 22:42:07 +02:00
Bram Moolenaar
a68e595909 patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Problem:    A BufReadPre autocommand may cause the cursor to move.
Solution:   Restore the cursor position after executing the autocommand,
            unless the autocommand moved it. (Christian Brabandt,
            closes #4302, closes #4294)
2019-04-25 22:22:01 +02:00
Bram Moolenaar
a561a41a70 patch 8.1.1204: output of :command with address completion is not nice
Problem:    Output of :command with address completion is not nice.
Solution:   Shorten the address completion names.
2019-04-25 21:27:58 +02:00
Bram Moolenaar
69ea587289 patch 8.1.1203: some autocmd tests are old style
Problem:    Some autocmd tests are old style.
Solution:   Turn the tests into new style. (Yegappan Lakshmanan, closes #4295)
2019-04-25 20:29:00 +02:00
Bram Moolenaar
c2d09c9f2c patch 8.1.1202: always get regexp debugging logs when building with -DDEBUG
Problem:    Always get regexp debugging logs when building with -DDEBUG.
Solution:   By default do not create regexp debugging logs. (Ken Takata)
2019-04-25 20:07:51 +02:00
Bram Moolenaar
725310d89e patch 8.1.1201: output of :command is hard to read
Problem:    Output of :command is hard to read.
Solution:   Make some columns wider, some narrower.  Truncate the command when
            listing all.
2019-04-24 23:08:23 +02:00
Bram Moolenaar
31fc39e47b patch 8.1.1200: old style comments in debugger source
Problem:    Old style comments in debugger source.
Solution:   Use new style comments. (Yegappan Lakshmanan, closes #4286)
2019-04-23 18:39:49 +02:00
Bram Moolenaar
8485be4e49 patch 8.1.1199: no test for :abclear
Problem:    No test for :abclear.
Solution:   Add a test. (Dominique Pelle, closes #4292)
2019-04-23 16:36:05 +02:00
Bram Moolenaar
958eabe5e5 patch 8.1.1198: bracketed paste may remain active after Vim exists
Problem:    Bracketed paste may remain active after Vim exists, because the
            terminal emulater restores the setting.
Solution:   Set/reset bracketed paste mode before setting the terminal mode.
            (closes #3579)
2019-04-21 17:22:33 +02:00
Bram Moolenaar
c75e812623 patch 8.1.1197: when starting with multiple tabs file messages is confusing
Problem:    When starting with multiple tabs file messages is confusing.
Solution:   Set 'shortmess' when loading the other tabs. (Christian Brabandt)
2019-04-21 15:55:10 +02:00
Bram Moolenaar
7bde95a461 patch 8.1.1196: parallel build may fail
Problem:    Parallel build may fail.
Solution:   Update dependencies.
2019-04-21 15:22:39 +02:00
Bram Moolenaar
eead75c5e8 patch 8.1.1195: Vim script debugger functionality needs cleanup
Problem:    Vim script debugger functionality needs cleanup.
Solution:   Move debugger code to a separate file.  Add more tests. (Yegappan
            Lakshmanan, closes #4285)
2019-04-21 11:35:00 +02:00
Bram Moolenaar
911ead1269 Update runtime files 2019-04-21 00:03:35 +02:00
Bram Moolenaar
ad3ec76bb8 patch 8.1.1194: typos and small problems in source files
Problem:    Typos and small problems in source files.
Solution:   Small fixes.
2019-04-21 00:00:13 +02:00
Bram Moolenaar
037c54f261 patch 8.1.1193: typos and small problems in test files
Problem:    Typos and small problems in test files.
Solution:   Small improvements.
2019-04-20 23:47:46 +02:00
Bram Moolenaar
4c25bd785a patch 8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
Problem:    Mode is not cleared when leaving Insert mode with mapped Esc.
Solution:   Clear the mode when redraw_cmdline is set. (closes #4269)
2019-04-20 23:38:07 +02:00
Bram Moolenaar
0fdd943595 patch 8.1.1191: not all debug commands are covered by a test
Problem:    Not all debug commands are covered by a test.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #4282)
2019-04-20 22:28:48 +02:00
Bram Moolenaar
93a4879c20 patch 8.1.1190: has('vimscript-3') does not work
Problem:    has('vimscript-3') does not work.
Solution:   Add "vimscript-3" to the list of features.
2019-04-20 21:54:28 +02:00
Bram Moolenaar
abc7c7fc5a patch 8.1.1189: mode is not cleared when leaving Insert mode
Problem:    Mode is not cleared when leaving Insert mode.
Solution:   Clear the mode when got_int is set. (Ozaki Kiichi, closes #4270)
2019-04-20 15:10:13 +02:00
Bram Moolenaar
d2e716e6df patch 8.1.1188: not all Vim variables require the v: prefix
Problem:    Not all Vim variables require the v: prefix.
Solution:   When scriptversion is 3 all Vim variables can only be used with
            the v: prefix.  (Ken Takata, closes #4274)
2019-04-20 14:39:52 +02:00
Bram Moolenaar
3a4c53ba51 patch 8.1.1187: cannot recognize Pipfile
Problem:    Cannot recognize Pipfile.
Solution:   Use existing filetypes. (Charles Ross, closes #4280)
2019-04-19 23:33:14 +02:00
Bram Moolenaar
334ad41504 patch 8.1.1186: readdir() allocates list twice
Problem:    readdir() allocates list twice.
Solution:   Remove second allocation.  Also check for zero length.
2019-04-19 15:20:46 +02:00
Bram Moolenaar
86ec6d7e1e patch 8.1.1185: mapping for CTRL-X is inconsistent
Problem:    Mapping for CTRL-X is inconsistent.
Solution:   Map CTRL-X to "*d also for the MS-Windows console. (Ken Takata,
            closes #4265)
2019-04-18 21:09:02 +02:00
Bram Moolenaar
137c14bb4f patch 8.1.1184: undo file left behind after running test
Problem:    Undo file left behind after running test.
Solution:   Delete the undo file. (Dominique Pelle, closes #4279)
2019-04-18 20:30:55 +02:00
Bram Moolenaar
b49e3563b9 patch 8.1.1183: typos in VisVim comments
Problem:    Typos in VisVim comments.
Solution:   Correct the typos. (Christ van Willegen)
2019-04-17 18:31:18 +02:00
Bram Moolenaar
b9cdb37176 patch 8.1.1182: some function prototypes are outdated
Problem:    Some function prototypes are outdated.
Solution:   Update function prototypes. (Ken Takata, closes #4267)
2019-04-17 18:24:35 +02:00
Bram Moolenaar
2b00b9b0f3 patch 8.1.1181: tests for mouse clicks are a bit flaky
Problem:    Tests for mouse clicks are a bit flaky when run in an interactive
            terminal.
Solution:   Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious
            drag events.
2019-04-17 17:08:27 +02:00
Bram Moolenaar
113bf0672b patch 8.1.1180: Vim script debugger tests are old style
Problem:    Vim script debugger tests are old style.
Solution:   Turn into new style tests. (Yegappan Lakshmanan, closes #4259)
2019-04-17 16:54:05 +02:00
Bram Moolenaar
696d637728 patch 8.1.1179: no test for mouse clicks in the fold column
Problem:    No test for mouse clicks in the fold column.
Solution:   Add a test. (Dominique Pelle, closes #4261)
2019-04-17 16:33:46 +02:00
Bram Moolenaar
4945219b99 patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Problem:    When mouse click tests fails value of 'ttytype' is unknown.
Solution:   Add a message to the assert.
2019-04-17 16:27:02 +02:00
Bram Moolenaar
1a4dce7cad patch 8.1.1177: .ts files are recognized as xml, typescript is more common
Problem:    .ts files are recognized as xml, while typescript is more common.
Solution:   Recognize .ts files as typescript. (closes #4264)
2019-04-16 22:21:05 +02:00
Bram Moolenaar
7f27976589 patch 8.1.1176: test for dragging a tab is flaky
Problem:    Test for dragging a tab is flaky.
Solution:   Add a brief sleep.
2019-04-15 21:48:22 +02:00
Bram Moolenaar
e3e3828f93 patch 8.1.1175: no test for dragging a tab and double click for new tab
Problem:    No test for dragging a tab with the mouse and for creating a new
            tab by double clicking in the tabline.
Solution:   Add two tests. (Dominique Pelle, closes #4258)
2019-04-15 20:55:31 +02:00
Bram Moolenaar
8dc4c72923 patch 8.1.1174: cannot build with Ruby 1.8
Problem:    Cannot build with Ruby 1.8. (Tom G. Christensen)
Solution:   Include ruby/st.h. (Ozaki Kiichi, closes #4257)
2019-04-14 19:42:13 +02:00
Bram Moolenaar
a8356bc173 patch 8.1.1173: suspend test has duplicated lines
Problem:    Suspend test has duplicated lines.
Solution:   Use a function.
2019-04-14 14:31:11 +02:00
Bram Moolenaar
74e3d4ec11 patch 8.1.1172: cursor properties were not fully tested
Problem:    Cursor properties were not fully tested.
Solution:   Add a test. (Dominique Pelle, closes #4256)
2019-04-14 14:16:46 +02:00
Bram Moolenaar
316c16797a patch 8.1.1171: statusline test could fail in large terminal
Problem:    Statusline test could fail in large terminal.
Solution:   Make the test work on a huge terminal. (Dominique Pelle,
            closes #4255)
2019-04-14 13:23:40 +02:00
Bram Moolenaar
a0aaf3c4df patch 8.1.1170: terminal ANSI color test does not cover all colors
Problem:    Terminal ANSI color test does not cover all colors.
Solution:   Use the color number, the name is not always resulting in an ANSI
            color when t_Co is 256.
2019-04-13 23:18:21 +02:00
Bram Moolenaar
837854d1bc patch 8.1.1169: writing coverage info in a separate dir is not needed
Problem:    Writing coverage info in a separate dir is not needed.
Solution:   Revert the changes to use a separate directory.
2019-04-13 22:44:51 +02:00
Bram Moolenaar
87dcfd75c2 patch 8.1.1168: not all screen update code of terminal is executed in tests
Problem:    Not all screen update code of the terminal window is executed in
            tests.
Solution:   Redraw before taking a screenshot.
2019-04-13 22:35:29 +02:00
Bram Moolenaar
39f76c6ac0 patch 8.1.1167: no test for closing tab by click in tabline
Problem:    No test for closing tab by click in tabline.
Solution:   Add a test.  Also fix that dragging window separator could fail in
            a large terminal. (Dominique Pelle, closes #4253)
2019-04-13 22:13:23 +02:00
Bram Moolenaar
9c35d05f45 patch 8.1.1166: gettitle test can still fail when another Vim is running
Problem:    Gettitle test can still fail when another Vim is running.
Solution:   Accept any server name number. (Dominique Pelle, closes #4252)
2019-04-13 20:39:15 +02:00
Bram Moolenaar
ca57ab54d7 patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Problem:    No test for mouse clicks in the terminal tabpage line.
Solution:   Add a test. (Dominique Pelle, closes #4247).  Also init
            TabPageIdxs[], in case it's used before a redraw.
2019-04-13 14:53:16 +02:00
Bram Moolenaar
700dfaa86a patch 8.1.1164: gettitle test is failing when server name differs
Problem:    Gettitle test is failing when server name differs. (Kenta Sato)
Solution:   Accept "VIM1" when 'autoservername' is used. (Dominique Pelle,
            closes #4250, closes #4249)
2019-04-13 14:21:19 +02:00
Bram Moolenaar
5d48e0d99a patch 8.1.1163: codecov does not report all the coverage information
Problem:    Codecov does not report all the coverage information.
Solution:   Make a second run with the nested execution output, expect that
            Codecov will merge the results.
2019-04-13 13:44:31 +02:00
Bram Moolenaar
f587ef345e patch 8.1.1162: incorrect coverage information; typo in color name
Problem:    Incorrect coverage information; typo in color name.
Solution:   Fix the typo.  Set environment variables to have a nested Vim
            write the coverage info in another directory.
2019-04-13 13:13:54 +02:00
Bram Moolenaar
1d79ce81e7 patch 8.1.1161: unreachable code
Problem:    Unreachable code.
Solution:   Remove condition that will never be true.  Add tests for all ANSI
            colors.
2019-04-12 22:27:39 +02:00
Bram Moolenaar
c8b3ddab51 patch 8.1.1160: termcodes test would fail in a very big terminal
Problem:    Termcodes test would fail in a very big terminal.
Solution:   Bail out when the row is larger than what will work. (Dominique
            Pelle, closes #4246)
2019-04-12 21:42:52 +02:00
Bram Moolenaar
a8d22e3a40 patch 8.1.1159: MS-Windows: with a silent (un)install $VIM/_vimrc is removed
Problem:    MS-Windows: with a silent (un)install $VIM/_vimrc is removed.
Solution:   Don't delete _vimrc in silent mode. (Ken Takata, closes #4242)
2019-04-12 21:29:33 +02:00
Bram Moolenaar
04af19637c patch 8.1.1158: json encoded string is sometimes missing the final NUL
Problem:    Json encoded string is sometimes missing the final NUL.
Solution:   Add the NUL.  Also for log messages.
2019-04-12 21:19:04 +02:00
Bram Moolenaar
f9b89b4679 patch 8.1.1157: Unicode tables are out of date
Problem:    Unicode tables are out of date.
Solution:   Update to Unicode 12. (Christian Brabandt, closes #4240)
2019-04-12 20:08:55 +02:00
Bram Moolenaar
d489c9801b patch 8.1.1156: Unicode emoji and other image characters not recognized
Problem:    Unicode emoji and other image characters not recognized.
Solution:   Add ranges for musical notation, game pieces, etc. (Martin
            Tournoij, closes #4238)
2019-04-12 20:00:21 +02:00
Bram Moolenaar
3fbd2d7c31 patch 8.1.1155: termcodes tests can be improved
Problem:    Termcodes tests can be improved.
Solution:   Add helper functions to simplify tests.  Dragging statusline for
            xterm and sgr. (Dominique Pelle, closes #4237)
2019-04-11 23:56:16 +02:00
Bram Moolenaar
496555fd18 patch 8.1.1154: getting a newer msgfmt on Travis is too complicated
Problem:    Getting a newer msgfmt on Travis is too complicated.
Solution:   Use a "sourcline" entry. (Ozaki Kiichi, closes #4236)
2019-04-11 20:14:56 +02:00
Bram Moolenaar
9a419ffb93 patch 8.1.1154 2019-04-11 18:44:11 +02:00
Bram Moolenaar
7edf0baef4 patch 8.1.1152: compiler warning with VS2019
Problem:    Compiler warning with VS2019.
Solution:   Specify different offset for "AMD64". (closes #4235)
2019-04-11 17:22:57 +02:00
Bram Moolenaar
679beba800 patch 8.1.1151: build fails when using shadow directory
Problem:    Build fails when using shadow directory.
Solution:   Link the desktop.in files.
2019-04-11 16:21:33 +02:00
Bram Moolenaar
29a9baa077 patch 8.1.1150: generating desktop files not tested on Travis
Problem:    Generating desktop files not tested on Travis.
Solution:   Install a newer msgfmt package. (Christian Brabandt)
2019-04-11 15:49:11 +02:00
Bram Moolenaar
26096cc96f patch 8.1.1149: building desktop files fails with older msgfmt
Problem:    Building desktop files fails with older msgfmt.
Solution:   Add autoconf check.  Avoid always building the desktop files.
2019-04-11 15:25:40 +02:00
Bram Moolenaar
730f48fe36 patch 8.1.1148: CTRL-L with 'incsearch' does not pick up char under cursor
Problem:    CTRL-L with 'incsearch' does not pick up char under cursor.
            (Smylers)
Solution:   Do not compare the position with the cursor position. (Hirohito
            Higashi, closes #3620)
2019-04-11 13:45:57 +02:00
Bram Moolenaar
a60e536a29 patch 8.1.1147: desktop file translations are requiring manual updates
Problem:    Desktop file translations are requiring manual updates.
Solution:   Use the .po files for desktop file translations. (Christian
            Brabandt)
2019-04-11 13:11:39 +02:00
Bram Moolenaar
ef8c83c550 patch 8.1.1146: in MS-Windows console colors in a terminal window are wrong
Problem:    In MS-Windows console colors in a terminal window are wrong.
Solution:   Use the ansi index also for 16 colors. (Ken Takata)
2019-04-11 11:40:13 +02:00
Bram Moolenaar
a7be0f2451 patch 8.1.1145: compiler warning for unused function
Problem:    Compiler warning for unused function. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-11 11:19:32 +02:00
Bram Moolenaar
862f1e17ea patch 8.1.1144: too strict checking of the 'spellfile' option
Problem:    Too strict checking of the 'spellfile' option.
Solution:   Allow for a path.
2019-04-10 22:33:41 +02:00
Bram Moolenaar
8f130eda47 patch 8.1.1143: may pass weird strings to file name expansion
Problem:    May pass weird strings to file name expansion.
Solution:   Check for matching characters.  Disallow control characters.
2019-04-10 22:15:19 +02:00
Bram Moolenaar
3fb01a53c6 patch 8.1.1142: no test for dragging the window separators with the mouse
Problem:    No test for dragging the window separators with the mouse.
Solution:   Add a test. (Dominique Pelle, closes #4226)
2019-04-09 21:52:02 +02:00
Bram Moolenaar
1b55797e90 patch 8.1.1141: terminal winpos test fails with very large terminal
Problem:    Terminal winpos test fails with very large terminal. (Dominique
            Pelle)
Solution:   Compute the expected size more accurately. (closes #4228)
2019-04-09 21:17:32 +02:00
Bram Moolenaar
46ad288b9b patch 8.1.1140: not easy to find out what neighbors a window has
Problem:    Not easy to find out what neighbors a window has.
Solution:   Add more arguments to winnr(). (Yegappan Lakshmanan, closes #3993)
2019-04-08 20:01:47 +02:00
Bram Moolenaar
9845f36aa6 patch 8.1.1139: no test for what is fixed in patch 8.1.0716
Problem:    No test for what is fixed in patch 8.1.0716.
Solution:   Add a test. (Yasuhiro Matsumoto, closes #3797)
2019-04-08 18:59:54 +02:00
Bram Moolenaar
d7f246c68c patch 8.1.1138: plugins don't get notified when the popup menu changes
Problem:    Plugins don't get notified when the popup menu changes.
Solution:   Add the CompleteChanged event. (Andy Massimino. closes #4176)
2019-04-08 18:15:41 +02:00
Bram Moolenaar
62e1bb4a11 Update runtime files. 2019-04-08 16:25:07 +02:00
Bram Moolenaar
049736fa8a patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Problem:    Xterm mouse wheel escape sequence is not tested.
Solution:   Add a test using low-level input. (Dominique Pelle, closes #4221)
2019-04-07 21:55:07 +02:00
Bram Moolenaar
905dd905de patch 8.1.1136: decoding of mouse click escape sequence is not tested
Problem:    Decoding of mouse click escape sequence is not tested.
Solution:   Add a test for xterm and SGR using low-level input.  Make
            low-level input execution with feedkeys() work.
2019-04-07 14:21:47 +02:00
Bram Moolenaar
d85c396d51 patch 8.1.1135: build failure for small version
Problem:    Build failure for small version. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-07 14:19:14 +02:00
Bram Moolenaar
39803d82db patch 8.1.1134: buffer for quickfix window is reused for another file
Problem:    Buffer for quickfix window is reused for another file.
Solution:   Don't reuse the quickfx buffer. (Yegappan Lakshmanan)
2019-04-07 12:04:51 +02:00
Bram Moolenaar
08499f5a4d patch 8.1.1133: compiler warning for uninitialized struct member
Problem:    Compiler warning for uninitialized struct member. (Yegappan
            Lakshmanan)
Solution:   Add initializer field.
2019-04-07 11:56:49 +02:00
Bram Moolenaar
616aeef21f patch 8.1.1132: getwinpos() test fails on MS-Windows
Problem:    getwinpos() test fails on MS-Windows.
Solution:   Don't try running this test.
2019-04-06 22:21:22 +02:00
Bram Moolenaar
16c34c3765 patch 8.1.1131: getwinpos() does not work in the MS-Windows console
Problem:    getwinpos() does not work in the MS-Windows console.
Solution:   Implement getwinpos().
2019-04-06 22:01:24 +02:00
Bram Moolenaar
1164023828 patch 8.1.1130: MS-Windows: warning for unused variable
Problem:    MS-Windows: warning for unused variable.
Solution:   Remove the variable.
2019-04-06 20:53:29 +02:00
Bram Moolenaar
2d7260d665 patch 8.1.1129: when making a new screendump test have to create the file
Problem:    When making a new screendump test have to create the file.
Solution:   Continue creating the failed screendump, so it can be moved once
            it is correct.
2019-04-06 20:51:52 +02:00
Bram Moolenaar
94a7242ad1 patch 8.1.1128: getwinpos() test does not work on MS-Windows
Problem:    getwinpos() test does not work on MS-Windows.
Solution:   Skip the test.
2019-04-06 20:40:35 +02:00
Bram Moolenaar
6bc9305a02 patch 8.1.1127: getwinpos() doesn't work in terminal on MS-Windows console
Problem:    getwinpos() doesn't work in terminal on MS-Windows console.
Solution:   Adjust #ifdefs.  Disable test for MS-Windows console.
2019-04-06 20:00:19 +02:00
Bram Moolenaar
3d3f21764a patch 8.1.1126: build failure with +terminal but without tgetent
Problem:    Build failure with +terminal but without tgetent.
Solution:   Adjust #ifdef.
2019-04-06 17:56:05 +02:00
Bram Moolenaar
fa1e90cd4d patch 8.1.1125: libvterm does not handle the window position report
Problem:    Libvterm does not handle the window position report.
Solution:   Let libvterm call the fallback CSI handler when not handling CSI
            sequence.  Handle the window position report in Vim.
2019-04-06 17:47:40 +02:00
Bram Moolenaar
d9eefe3155 patch 8.1.1124: insert completion flags are mixed up
Problem:    Insert completion flags are mixed up.
Solution:   Clean up flags use of ins_compl_add() and cp_flags.
2019-04-06 14:22:21 +02:00
Bram Moolenaar
73655cf0ca patch 8.1.1123: no way to avoid filtering for autocomplete function
Problem:    No way to avoid filtering for autocomplete function, causing
            flickering of the popup menu.
Solution:   Add the "equal" field to complete items. (closes #3887)
2019-04-06 13:45:55 +02:00
Bram Moolenaar
9d40128afd patch 8.1.1122: char2nr() does not handle composing characters
Problem:    char2nr() does not handle composing characters.
Solution:   Add str2list() and list2str(). (Ozaki Kiichi, closes #4190)
2019-04-06 13:18:12 +02:00
Bram Moolenaar
4a5711b5ea patch 8.1.1121: test for term_gettitle() was disabled
Problem:    Test for term_gettitle() was disabled.
Solution:   Enable the test and bail out only when it doesn't work. (Dominique
            Pelle, closes #3776)
2019-04-06 12:39:55 +02:00
Bram Moolenaar
543c9b1921 patch 8.1.1120: cannot easily get directory entry matches
Problem:    Cannot easily get directory entry matches.
Solution:   Add the readdir() function. (Yasuhiro Matsumoto, closes #2439)
2019-04-05 22:50:40 +02:00
Bram Moolenaar
577fadfc10 patch 8.1.1119: no support for Windows on ARM64.
Problem:    No support for Windows on ARM64.
Solution:   Add ARM64 support (Leendert van Doorn)
2019-04-04 20:32:24 +02:00
Bram Moolenaar
652de23dc7 patch 8.1.1118: a couple of conditions are hard to understand
Problem:    A couple of conditions are hard to understand.
Solution:   Split the conditions into pieces. (Ozaki Kiichi, closes #3879)
2019-04-04 20:13:09 +02:00
Bram Moolenaar
1cd4dc444a patch 8.1.1117: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef.
2019-04-04 19:06:14 +02:00
Bram Moolenaar
558ca4ae55 patch 8.1.1116: cannot enforce a Vim script style
Problem:    Cannot enforce a Vim script style.
Solution:   Add the :scriptversion command. (closes #3857)
2019-04-04 18:15:38 +02:00
Bram Moolenaar
8f4aeb5572 patch 8.1.1115: cannot build with older C compiler
Problem:    Cannot build with older C compiler.
Solution:   Move variable declaration to start of block.
2019-04-04 15:40:56 +02:00
Bram Moolenaar
0f248b006c patch 8.1.1114: confusing overloaded operator "." for string concatenation
Problem:    Confusing overloaded operator "." for string concatenation.
Solution:   Add ".." for string concatenation.  Also "let a ..= b".
2019-04-04 15:36:05 +02:00
Bram Moolenaar
eb93f3f0e2 patch 8.1.1113: making an autocommand trigger once is not so easy
Problem:    Making an autocommand trigger once is not so easy.
Solution:   Add the ++once argument.  Also add ++nested as an alias for
            "nested". (Justin M. Keyes, closes #4100)
2019-04-04 15:04:56 +02:00
Bram Moolenaar
87f59b09ea patch 8.1.1112: duplicate code in quickfix file
Problem:    Duplicate code in quickfix file.
Solution:   Move code into functions. (Yegappan Lakshmanan, closes #4207)
2019-04-04 14:04:11 +02:00
Bram Moolenaar
fda1bff39f patch 8.1.1111: it is not easy to check for infinity
Problem:    It is not easy to check for infinity.
Solution:   Add isinf(). (Ozaki Kiichi, closes #3787)
2019-04-04 13:44:37 +02:00
Bram Moolenaar
e5e4e22c1c patch 8.1.1110: composing chars on space wrong when 'listchars' is set
Problem:    Composing chars on space wrong when 'listchars' is set.
Solution:   Do not use "space" and "nbsp" entries of 'listchars' when there is
            a composing character.  (Yee Cheng Chin, closes #4197)
2019-04-04 13:28:45 +02:00
Bram Moolenaar
39b76b7df8 patch 8.1.1109: deleted file still in list of distributed files
Problem:    Deleted file still in list of distributed files.
Solution:   Remove the src/os_w32dll.c entry.
2019-04-04 13:12:07 +02:00
Bram Moolenaar
723dd946f9 Update runtime files. 2019-04-04 13:11:03 +02:00
Bram Moolenaar
7a66627cf4 patch 8.1.1108: test for 'visualbell' doesn't work
Problem:    Test for 'visualbell' doesn't work.
Solution:   Make 'belloff' empty.
2019-04-03 22:52:34 +02:00
Bram Moolenaar
b4e6a2d075 patch 8.1.1107: no test for 'visualbell'
Problem:    No test for 'visualbell'.
Solution:   Add a test.
2019-04-03 21:53:33 +02:00
Bram Moolenaar
449ac47f93 patch 8.1.1106: no test for 'writedelay'
Problem:    No test for 'writedelay'.
Solution:   Add a test.
2019-04-03 21:42:35 +02:00
Bram Moolenaar
5da04ef1b4 patch 8.1.1105: long escape sequences may be split up
Problem:    Long escape sequences may be split up.
Solution:   Assume esccape sequences can be up to 80 bytes long. (Nobuhiro
            Takasaki, closes #4196)
2019-04-03 21:15:58 +02:00
Bram Moolenaar
796cc42d3a patch 8.1.1104: MS-Windows: not all environment variables can be used
Problem:    MS-Windows: not all environment variables can be used.
Solution:   Use the wide version of WinMain() and main(). (Ken Takata,
            closes #4206)
2019-04-03 20:31:00 +02:00
Bram Moolenaar
0eb035c974 patch 8.1.1103: MS-Windows: old API calls are no longer needed
Problem:    MS-Windows: old API calls are no longer needed.
Solution:   Always use the wide functions. (Ken Takata, closes #4199)
2019-04-02 22:15:55 +02:00
Bram Moolenaar
b26705afb5 patch 8.1.1102: Win32 exe file contains unused code
Problem:    Win32 exe file contains unused code.
Solution:   Remove unused #ifdefs and code. (Ken Takata, closes #4198)
2019-04-02 22:02:32 +02:00
Bram Moolenaar
690a905a01 patch 8.1.1101: signals test may fail in the GUI
Problem:    Signals test may fail in the GUI.
Solution:   Skip the test for the GUI. (Yee Checng Chin, closes #4202)
2019-04-02 21:45:41 +02:00
Bram Moolenaar
fd700393be patch 8.1.1100: tag file without trailing newline no longer works
Problem:    Tag file without trailing newline no longer works. (Marco Hinz)
Solution:   Don't expect a newline at the end of the file. (closes #4200)
2019-04-02 21:26:07 +02:00
Bram Moolenaar
b4a6020ac6 patch 8.1.1099: the do_tag() function is too long
Problem:    The do_tag() function is too long.
Solution:   Factor parts out to separate functions.  Move simplify_filename()
            to a file where it fits better. (Andy Massimino, closes #4195)
2019-03-31 19:40:07 +02:00
Bram Moolenaar
95946f1209 patch 8.1.1098: quickfix code duplication
Problem:    Quickfix code duplication.
Solution:   Refactor the qf_init_ext() function. (Yegappan Lakshmanan,
            closes #4193)
2019-03-31 15:31:59 +02:00
Bram Moolenaar
4fc8e2f8bb patch 8.1.1097: Motif build fails
Problem:    Motif build fails. (Paul Jolly)
Solution:   Only use gui_mch_maximized() for MS-Windows. (closes #4194)
2019-03-30 22:26:38 +01:00
Bram Moolenaar
b70a47b774 patch 8.1.1096: MS-Windows: cannot distinguish BS and CTRL-H
Problem:    MS-Windows: cannot distinguish BS and CTRL-H.
Solution:   Add code for VK_BACK. (Linwei, closes #1833)
2019-03-30 22:11:21 +01:00
Bram Moolenaar
8662189736 patch 8.1.1095: MS-Windows: executable() fails on very long filename
Problem:    MS-Windows: executable() fails on very long filename.
Solution:   (Ken Takata, closes #4015)
2019-03-30 21:51:28 +01:00
Bram Moolenaar
5209334c55 patch 8.1.1094: long line in tags file causes error
Problem:    Long line in tags file causes error.
Solution:   Check for overlong line earlier. (Andy Massimino, closes #4051,
            closes #4084)
2019-03-30 21:41:48 +01:00
Bram Moolenaar
96428dd4e9 patch 8.1.1093: support for outdated tags format slows down tag parsing
Problem:    Support for outdated tags format slows down tag parsing.
Solution:   Remove FEAT_TAG_OLDSTATIC.
2019-03-30 21:19:34 +01:00
Bram Moolenaar
372674fca3 patch 8.1.1092: setting 'guifont' when maximized resizes the Vim window
Problem:    Setting 'guifont' when maximized resizes the Vim window. When
            'guioptions' contains "k" gvim may open with a tiny window.
Solution:   Avoid un-maximizing when setting 'guifont'. (Yee Cheng Chin,
            closes #3808)
2019-03-30 20:31:22 +01:00
Bram Moolenaar
f0908e6fe1 patch 8.1.1091: MS-Windows: cannot use multi-byte chars in environment var
Problem:    MS-Windows: cannot use multi-byte chars in environment var.
Solution:   Use the wide API. (Ken Takata, closes #4008)
2019-03-30 20:11:50 +01:00
Bram Moolenaar
2d04a91d69 patch 8.1.1090: MS-Windows: modify_fname() has problems with some 'encoding'
Problem:    MS-Windows: modify_fname() has problems with some 'encoding'.
Solution:   Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
            closes #4007)
2019-03-30 20:04:08 +01:00
Bram Moolenaar
b44b7add8a patch 8.1.1089: tutor does not check $LC_MESSAGES
Problem:    Tutor does not check $LC_MESSAGES.
Solution:   Let $LC_MESSAGES overrule $LANG. (Miklos Vajna, closes #4112)
2019-03-30 19:56:46 +01:00
Bram Moolenaar
9e1e358d37 patch 8.1.1088: height of quickfix window not retained with vertical split
Problem:    Height of quickfix window not retained with vertical split.
Solution:   Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu,
            closes #4013, closes #2998)
2019-03-30 19:49:06 +01:00
Bram Moolenaar
7559dcef6c patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Problem:    tag stack is incorrect after CTRL-T and then :tag
Solution:   Handle DT_TAG differently. (test by Andy Massimino, closes #3944,
            closes #4177)
2019-03-30 19:12:02 +01:00
Bram Moolenaar
abab0b0fdd patch 8.1.1086: too many curly braces
Problem:    Too many curly braces.
Solution:   Remove curly braces where they are not needed. (Hirohito Higashi,
            closes #3982)
2019-03-30 18:47:01 +01:00
Bram Moolenaar
bd9bf266fc patch 8.1.1085: compiler warning for possibly uninitialized variable
Problem:    Compiler warning for possibly uninitialized variable. (Tony
            Mechelynck)
Solution:   Make conditions more logical.
2019-03-30 18:25:39 +01:00
Bram Moolenaar
aff749145e patch 8.1.1084: cannot delete a match from another window
Problem:    Cannot delete a match from another window. (Paul Jolly)
Solution:   Add window ID argument to matchdelete(), clearmatches(),
            getmatches() and setmatches(). (Andy Massimino, closes #4178)
2019-03-30 18:11:49 +01:00
Bram Moolenaar
8bb41b3d06 patch 8.1.1083: MS-Windows: hang when opening a file on network share
Problem:    MS-Windows: hang when opening a file on network share.
Solution:   Avoid using FindFirstFile(), use GetLongPathNameW(). (Ken Takata,
            closes #3923)
2019-03-30 17:28:16 +01:00
Bram Moolenaar
ab62c19ea0 patch 8.1.1082: "Conceal" match is mixed up with 'hlsearch' match.
Problem:    "Conceal" match is mixed up with 'hlsearch' match.
Solution:   Check that a match is found, not a 'hlsearch' item. (Andy
            Massimino, closes #4073)
2019-03-30 16:39:05 +01:00
Bram Moolenaar
433a5eb9de patch 8.1.1081: MS-Windows: cannot use some fonts
Problem:    MS-Windows: cannot use fonts whose name cannot be represented in
            the current code page.
Solution:   Use wide font functions. (Ken Takata, closes #4000)
2019-03-30 16:24:16 +01:00
Bram Moolenaar
ef7f0e367e patch 8.1.1080: when a screendump test fails, moving the file is a hassle
Problem:    When a screendump test fails, moving the file is a hassle.
Solution:   Instead of appending ".failed" to the file name, keep the same
            file name but put the screendump in the "failed" directory.
            Then the file name only needs to be typed once when moving a
            screendump.
2019-03-30 15:59:51 +01:00
Bram Moolenaar
48aed0824e patch 8.1.1079: no need for a separate ScreenLinesUtf8() test function
Problem:    No need for a separate ScreenLinesUtf8() test function.
Solution:   Get the composing characters with ScreenLines().
2019-03-30 15:44:17 +01:00
Bram Moolenaar
5f8069bbf5 patch 8.1.1078: when 'listchars' is set a composing char on a space is wrong
Problem:    When 'listchars' is set a composing char on a space is wrong.
Solution:   Separate handling a non-breaking space and a space. (Yasuhiro
            Matsumoto, closes #4046)
2019-03-30 15:34:47 +01:00
Bram Moolenaar
9a2c091a74 patch 8.1.1077: reg_executing() is reset by calling input()
Problem:    reg_executing() is reset by calling input().
Solution:   Implement a more generic way to save and restore reg_executing.
            (Ozaki Kiichi, closes #4192)
2019-03-30 14:26:18 +01:00
Bram Moolenaar
7591bb39d5 patch 8.1.1076: file for Insert mode is much too big
Problem:    File for Insert mode is much too big.
Solution:   Split off the code for Insert completion. (Yegappan Lakshmanan,
            closes #4044)
2019-03-30 13:53:47 +01:00
Bram Moolenaar
de5b380042 patch 8.1.1075: function reference count wrong in Python code
Problem:    Function reference count wrong in Python code.
Solution:   Use "O" instead of "N" for the arguments. (Ben Jackson,
            closes #4188)
2019-03-30 12:51:22 +01:00
Bram Moolenaar
bfd3603670 patch 8.1.1074: Python test doesn't wipe out hidden buffer
Problem:    Python test doesn't wipe out hidden buffer.
Solution:   Wipe out the buffer. (Ben Jackson, closes #4189)
2019-03-30 12:33:13 +01:00
Bram Moolenaar
e73f911c53 patch 8.1.1073: space in number column is on wrong side with 'rightleft' set
Problem:    Space in number column is on wrong side with 'rightleft' set.
Solution:   Move the space to the text side.  Add a test.
2019-03-29 18:29:54 +01:00
Bram Moolenaar
8ee4c01b8c patch 8.1.1072: extending sign and foldcolumn below the text is confusing
Problem:    Extending sign and foldcolumn below the text is confusing.
Solution:   Let the sign and foldcolumn stop at the last text line, just like
            the line number column.  Also stop the command line window leader.
            (Christian Brabandt, closes #3964)
2019-03-29 18:08:18 +01:00
Bram Moolenaar
2912abb3a2 patch 8.1.1071: cannot get composing characters from the screen
Problem:    Cannot get composing characters from the screen.
Solution:   Add screenchars() and screenstring(). (partly by Ozaki Kiichi,
            closes #4059)
2019-03-29 14:16:42 +01:00
Bram Moolenaar
e46736b23b patch 8.1.1070: issue templates are not good enough
Problem:    Issue templates are not good enough.
Solution:   Rephrase to anticipate unexperienced users.
2019-03-29 13:12:39 +01:00
Bram Moolenaar
8ac8a77f24 patch 8.1.1069: source README file doesn't look nice on github
Problem:    Source README file doesn't look nice on github.
Solution:   Turn it into markdown, still readable as plain text.
            (WenxuanHuang, closes #4141)
2019-03-29 13:10:08 +01:00
Bram Moolenaar
fd133323d4 patch 8.1.1068: cannot get all the information about current completion
Problem:    Cannot get all the information about current completion.
Solution:   Add complete_info(). (Shougo, Hirohito Higashi, closes #4106)
2019-03-29 12:20:27 +01:00
Bram Moolenaar
723d165c2f patch 8.1.1067: issues added on github are unstructured
Problem:    Issues added on github are unstructured.
Solution:   Add a bug and feature request template. (Ken Takata, closes #4183)
2019-03-29 10:54:37 +01:00
Bram Moolenaar
89828e9fe6 patch 8.1.1066: VIMDLL isn't actually used
Problem:    VIMDLL isn't actually used.
Solution:   Remove VIMDLL support.
2019-03-28 22:43:16 +01:00
Bram Moolenaar
47cf1cc257 patch 8.1.1065: no test for using and deleting menu in the GUI
Problem:    No test for using and deleting menu in the GUI.
Solution:   Add a test.
2019-03-28 22:04:56 +01:00
Bram Moolenaar
c701f320e8 patch 8.1.1064: no test for output conversion in the GTK GUI
Problem:    No test for output conversion in the GTK GUI.
Solution:   Add a simplistic test.
2019-03-28 21:49:21 +01:00
Bram Moolenaar
37db642083 patch 8.1.1063: insufficient testing for wildmenu completion
Problem:    Insufficient testing for wildmenu completion.
Solution:   Extend the test case. (Dominique Pelle, closes #4182)
2019-03-28 21:26:23 +01:00
Bram Moolenaar
a16123a666 patch 8.1.1062: quickfix code is repeated
Problem:    Quickfix code is repeated.
Solution:   Define FOR_ALL_QFL_ITEMS(). Move some code to separate functions.
            (Yegappan Lakshmanan, closes #4166)
2019-03-28 20:31:07 +01:00
Bram Moolenaar
0e97b94875 patch 8.1.1061: when substitute string throws error, substitute happens anyway
Problem:    When substitute string throws error, substitute happens anyway.
Solution:   Skip substitution when aborting. (closes #4161)
2019-03-27 22:53:53 +01:00
Bram Moolenaar
760285dd4f patch 8.1.1060: MS-Windows: get_cmd_args() is no longer needed
Problem:    MS-Windows: get_cmd_args() is no longer needed, get_cmd_argsW() is
            always used.
Solution:   Remove get_cmd_args(). (Ken Takata, closes #4171)
2019-03-27 21:59:45 +01:00
Bram Moolenaar
90d0cf69aa patch 8.1.1059: MS-Windows: PlatformId() is called unnecessarily
Problem:    MS-Windows: PlatformId() is called unnecessarily.
Solution:   Remove calls to PlatformId(). (Ken Takata, closes #4170)
2019-03-27 21:49:14 +01:00
Bram Moolenaar
3a731ee0c2 patch 8.1.1058: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Use 98% of the lower limit. (Christian Brabandt)
2019-03-27 21:41:36 +01:00
Bram Moolenaar
6a95c889bf patch 8.1.1057: nsis config is too complicated
Problem:    Nsis config is too complicated.
Solution:   Use "File /r" for the macros and pack directories. (Ken Takata,
            closes #4169)
2019-03-26 23:02:46 +01:00
Bram Moolenaar
e99be0e6d2 patch 8.1.1056: no eval function for Ruby
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes #4152)
2019-03-26 22:51:09 +01:00
Bram Moolenaar
75bf3d22f4 patch 8.1.1055: CTRL-G U in Insert mode doesn't work for shift-Left
Problem:    CTRL-G U in Insert mode doesn't work to avoid splitting the undo
            sequence for shift-left and shift-right.
Solution:   Also check dont_sync_undo for shifted cursor keys. (Christian
            Brabandt)
2019-03-26 22:46:05 +01:00
Bram Moolenaar
6fb5c97242 patch 8.1.1054: not checking return value of ga_grow()
Problem:    Not checking return value of ga_grow(). (Coverity)
Solution:   Only append when ga_grow() returns OK.
2019-03-26 21:44:20 +01:00
Bram Moolenaar
d6c3f1fa2b patch 8.1.1053: warning for missing return statement
Problem:    Warning for missing return statement. (Dominique Pelle)
Solution:   Add return statement.
2019-03-26 00:31:21 +01:00
Bram Moolenaar
553e5a5c56 patch 8.1.1052: test for CTRL-C message sometimes fails
Problem:    test for CTRL-C message sometimes fails
Solution:   Make sure there are no changed buffers.
2019-03-25 23:16:34 +01:00
Bram Moolenaar
a4c2a24cc7 patch 8.1.1051: not all ways to switch terminal mode are tested
Problem:    Not all ways to switch terminal mode are tested.
Solution:   Add more test cases.
2019-03-25 23:01:38 +01:00
Bram Moolenaar
3dd174abbf patch 8.1.1050: blank srceen when DirectWrite failed
Problem:    Blank srceen when DirectWrite failed.
Solution:   Call redraw_later_clear() after recreating the Direct2D render
            target. (Ken Takata, closes #4172)
2019-03-25 22:48:18 +01:00
Bram Moolenaar
a84a3dd663 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Problem:    When user tries to exit with CTRL-C message is confusing.
Solution:   Only mention ":qa!" when there is a changed buffer. (closes #4163)
2019-03-25 22:21:24 +01:00
Bram Moolenaar
b45125b374 patch 8.1.1048: minor issues with tests
Problem:    Minor issues with tests.
Solution:   Delete unused test OK file.  Add missing entries in list of tests.
            Fix readme file. (Masato Nishihata, closes #4160)
2019-03-24 20:18:40 +01:00
Bram Moolenaar
63b74a8362 Update runtime files. 2019-03-24 15:09:13 +01:00
Bram Moolenaar
db77b84ac2 patch 8.1.1047: WINCH signal is not tested
Problem:    WINCH signal is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4158)
2019-03-24 14:58:31 +01:00
Bram Moolenaar
82b033eff8 patch 8.1.1046: the "secure" variable is used inconsistently
Problem:    the "secure" variable is used inconsistently. (Justin M. Keyes)
Solution:   Set it to one instead of incrementing.
2019-03-24 14:02:04 +01:00
Bram Moolenaar
63dbfd33c1 patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Problem:    E315 ml_get error when using Python and hidden buffer.
Solution:   Make sure the cursor position is valid. (Ben Jackson,
            closes #4153, closes #4154)
2019-03-23 17:41:59 +01:00
Bram Moolenaar
c3e92c161d patch 8.1.1044: no way to check the reference count of objects
Problem:    No way to check the reference count of objects.
Solution:   Add test_refcount(). (Ozaki Kiichi, closes #4124)
2019-03-23 14:23:07 +01:00
Bram Moolenaar
b782869033 patch 8.1.1043: Lua interface does not support Blob
Problem:    Lua interface does not support Blob.
Solution:   Add support to Blob. (Ozaki Kiichi, closes #4151)
2019-03-23 13:57:02 +01:00
Bram Moolenaar
832615be12 patch 8.1.1042: the paste test doesn't work properly in the Windows console
Problem:    The paste test doesn't work properly in the Windows console.
Solution:   Disable the test.
2019-03-23 13:30:22 +01:00
Bram Moolenaar
295e3ba31f patch 8.1.1041: test for Arabic no longer needed
Problem:    Test for Arabic no longer needed.
Solution:   Remove the test for something that was intentionally left out.
2019-03-23 12:59:40 +01:00
Bram Moolenaar
b99abaa480 patch 8.1.1040: FEAT_TAG_ANYWHITE is not enabled in any build
Problem:    FEAT_TAG_ANYWHITE is not enabled in any build.
Solution:   Remove the feature.
2019-03-22 17:03:05 +01:00
Bram Moolenaar
e37368c496 patch 8.1.1039: MS-Windows build fails
Problem:    MS-Windows build fails.
Solution:   Remove dependency on arabic.h
2019-03-22 16:57:45 +01:00
Bram Moolenaar
dc4fa190e7 patch 8.1.1038: Arabic support excludes Farsi
Problem:    Arabic support excludes Farsi.
Solution:   Add Farsi support to the Arabic support. (Ali Gholami Rudi,
            Ameretat Reith)
2019-03-22 16:33:15 +01:00
Bram Moolenaar
6b6f7aae4a patch 8.1.1037: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Increase tolerance from 3% to 20%.
2019-03-22 14:36:59 +01:00
Bram Moolenaar
9afe5e9cc0 patch 8.1.1036: quickfix function arguments are inconsistent
Problem:    Quickfix function arguments are inconsistent.
Solution:   Pass a list pointer to more functions. (Yegappan Lakshmanan,
            closes #4149)
2019-03-22 14:16:06 +01:00
Bram Moolenaar
0a2f578e22 patch 8.1.1035: prop_remove() second argument is not optional
Problem:    prop_remove() second argument is not optional.
Solution:   Fix argument count.  Use "buf" instead of "curbuf". (closes #4147)
2019-03-22 13:20:43 +01:00
Bram Moolenaar
2ace1bd652 patch 8.1.1034: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Merge FEAT_MOUSE_SGR into FEAT_MOUSE_XTERM / FEAT_MOUSE_TTY.
2019-03-22 12:03:30 +01:00
Bram Moolenaar
ba64ba0935 patch 8.1.1033: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems. (Elimar
            Riesebieter)
Solution:   Increase tolerance from 1% to 3%.
2019-03-22 11:33:09 +01:00
Bram Moolenaar
2c519cf3bf patch 8.1.1032: warnings from clang static analyzer
Problem:    Warnings from clang static analyzer. (Yegappan Lakshmanan)
Solution:   Fix relevant warnings.
2019-03-21 21:45:34 +01:00
Bram Moolenaar
f7e47af776 patch 8.1.1031: memory usage test may still fail
Problem:    Memory usage test may still fail.
Solution:   Drop the unused min value. (Christian Brabandt)
2019-03-21 21:16:36 +01:00
Bram Moolenaar
0398e00a1b patch 8.1.1030: quickfix function arguments are inconsistent
Problem:    Quickfix function arguments are inconsistent.
Solution:   Pass a list pointer instead of info and index. (Yegappan
            Lakshmanan, closes #4135)
2019-03-21 21:12:49 +01:00
Bram Moolenaar
60ebd524cf patch 8.1.1029: DirectWrite doesn't take 'linespace' into account
Problem:    DirectWrite doesn't take 'linespace' into account.
Solution:   Include 'linespace' in the position. (Ken Takata, closes #4137)
2019-03-21 20:50:12 +01:00
Bram Moolenaar
9029b918f9 patch 8.1.1028: MS-Windows: memory leak when creating terminal fails
Problem:    MS-Windows: memory leak when creating terminal fails.
Solution:   Free the command. (Ken Takata, closes #4138)
2019-03-21 19:58:00 +01:00
Bram Moolenaar
08cda65ddf patch 8.1.1027: memory usage test sometimes fails
Problem:    Memory usage test sometimes fails.
Solution:   Use 80% of before.last as the lower limit. (Christian Brabandt)
2019-03-20 22:45:01 +01:00
Bram Moolenaar
d00e024d9f patch 8.1.1026: unused condition
Problem:    Unused condition. (Coverity)
Solution:   Remove the condition.  Also remove unused #define.
2019-03-20 21:42:20 +01:00
Bram Moolenaar
64c8ed366d patch 8.1.1025: checking NULL pointer after addition
Problem:    Checking NULL pointer after addition. (Coverity)
Solution:   First check for NULL, then add the column.
2019-03-20 21:18:34 +01:00
Bram Moolenaar
697005f2cf patch 8.1.1024: stray log calls in terminal code
Problem:    Stray log calls in terminal code. (Christian Brabandt)
Solution:   Remove the calls.
2019-03-20 20:38:44 +01:00
Bram Moolenaar
61be376337 patch 8.1.1023: may use NULL pointer when indexing a blob
Problem:    May use NULL pointer when indexing a blob. (Coverity)
Solution:   Break out of loop after using index on blob
2019-03-19 23:04:17 +01:00
Bram Moolenaar
e142a9467a patch 8.1.1022: may use NULL pointer when out of memory
Problem:    May use NULL pointer when out of memory. (Coverity)
Solution:   Check for blob_alloc() returning NULL.
2019-03-19 23:03:27 +01:00
Bram Moolenaar
8e9a24a127 patch 8.1.1021: pyeval() and py3eval() leak memory
Problem:    pyeval() and py3eval() leak memory.
Solution:   Do not increase the reference count twice. (Ozaki Kiichi,
            closes #4129)
2019-03-19 22:22:55 +01:00
Bram Moolenaar
828bff1f9b patch 8.1.1020: compiler warning for Python3 interface
Problem:    Compiler warning for Python3 interface.
Solution:   Add type cast. (Ozaki Kiichi, closes #4128, closes #4103)
2019-03-19 22:11:41 +01:00
Bram Moolenaar
4eefe47ea4 patch 8.1.1019: Lua: may garbage collect function reference in use
Problem:    Lua: may garbage collect function reference in use.
Solution:   Keep the function name instead of the typeval. Make luaV_setref()
            handle funcref objects. (Ozaki Kiichi, closes #4127)
2019-03-19 21:59:19 +01:00
Bram Moolenaar
8376c3d321 patch 8.1.1018: window cleared when entering Terminal-Normal twice
Problem:    Window cleared when entering Terminal-Normal twice. (Epheien)
Solution:   Don't cleanup scrollback when there is no postponed scrollback.
            (Christian Brabandt, closes #4126)
2019-03-19 20:50:43 +01:00
Bram Moolenaar
493fbe4abe patch 8.1.1017: off-by-one error in filetype detection
Problem:    Off-by-one error in filetype detection.
Solution:   Also check the last line of the file.
2019-03-17 17:16:12 +01:00
Bram Moolenaar
26967617a3 Update runtime files. 2019-03-17 17:13:16 +01:00
Bram Moolenaar
049ca59236 patch 8.1.1016: MS-Windows: No color in shell when using "!" in 'guioptions
Problem:    MS-Windows: No color in shell when using "!" in 'guioptions.
Solution:   Don't stop termcap when using a terminal window for the shell.
            (vim-jp, closes #4117)
2019-03-17 16:59:44 +01:00
Bram Moolenaar
647e24ba3d patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Problem:    Quickfix buffer shows up in list, can't get buffer number.
Solution:   Make the quickfix buffer unlisted when the quickfix window is
            closed.  get the quickfix buffer number with getqflist().
            (Yegappan Lakshmanan, closes #4113)
2019-03-17 16:39:46 +01:00
Bram Moolenaar
38db5276cd patch 8.1.1014: MS-Windows: /analyze only defined for non-debug version
Problem:    MS-Windows: /analyze only defined for non-debug version.
Solution:   Move adding of /analyze up. (Taro Muraoka, closes #4114)
2019-03-17 15:47:25 +01:00
Bram Moolenaar
3b5fef6a99 patch 8.1.1013: MS-Windows: Scrolling fails when dividing the screen
Problem:    MS-Windows: Scrolling fails when dividing the screen.
Solution:   Position the cursor before calling ScrollConsoleScreenBuffer().
            (Nobuhiro Takasaki, closes #4115)
2019-03-17 14:54:53 +01:00
Bram Moolenaar
ab89d7ab89 patch 8.1.1012: memory leak with E461
Problem:    Memory leak with E461.
Solution:   Clear the typeval. (Dominique Pelle, closes #4111)
2019-03-17 14:43:31 +01:00
Bram Moolenaar
2ba4238818 patch 8.1.1011: indent from autoindent not removed from blank line
Problem:    Indent from autoindent not removed from blank line. (Daniel Hahler)
Solution:   Do not reset did_ai when text follows. (closes #4119)
2019-03-16 18:11:07 +01:00
Bram Moolenaar
713bf9e996 patch 8.1.1010: Lua interface leaks memory
Problem:    Lua interface leaks memory.
Solution:   Clear typeval after copying it.
2019-03-16 16:38:41 +01:00
Bram Moolenaar
1f271efbbb patch 8.1.1009: MS-Windows: some text is not baseline aligned
Problem:    MS-Windows: some text is not baseline aligned.
Solution:   Use bottom alignment. (Taro Muraoka, closes #4116, closes #1520)
2019-03-16 15:24:42 +01:00
Bram Moolenaar
0251d2d811 patch 8.1.1008: MS-Windows: HAVE_STDINT_H only defined for non-debug version
Problem:    MS-Windows: HAVE_STDINT_H only defined for non-debug version.
Solution:   Move definition of HAVE_STDINT_H up. (Taro Muraoka, closes #4109)
2019-03-14 21:37:19 +01:00
Bram Moolenaar
209b8e3e3b patch 8.1.1007: using closure may consume a lot of memory
Problem:    Using closure may consume a lot of memory.
Solution:   unreference items that are no longer needed. Add a test. (Ozaki
            Kiichi, closes #3961)
2019-03-14 13:43:24 +01:00
Bram Moolenaar
4aa47b28f4 patch 8.1.1006: repeated code in quickfix support
Problem:    Repeated code in quickfix support.
Solution:   Move code to functions. (Yegappan Lakshmanan, closes #4091)
2019-03-13 06:51:53 +01:00
Bram Moolenaar
55d81cd2a1 patch 8.1.1005: test fails because t_F2 is not set
Problem:    Test fails because t_F2 is not set.
Solution:   Add try-catch.
2019-03-11 08:05:50 +01:00
Bram Moolenaar
e165f63598 patch 8.1.1004: function "luaV_setref()" not covered with tests
Problem:    Function "luaV_setref()" not covered with tests.
Solution:   Add a test. (Dominique Pelle, closes #4089)
2019-03-10 09:48:59 +01:00
Bram Moolenaar
6edbbd8114 patch 8.1.1003: playing back recorded key sequence mistakes key code
Problem:    Playing back recorded key sequence mistakes key code.
Solution:   Insert a <Nop> after the <Esc>. (closes #4068)
2019-03-10 09:41:51 +01:00
Bram Moolenaar
cbef8e1aa1 patch 8.1.1002: "gf" does not always work when URL has a port number
Problem:    "gf" does not always work when URL has a port number. (Jakob
            Schöttl)
Solution:   When a URL is recognized also accept ":". (closes #4082)
2019-03-09 12:32:56 +01:00
Bram Moolenaar
8156ed3755 patch 8.1.1001: Visual area not correct when using 'cursorline'
Problem:    Visual area not correct when using 'cursorline'.
Solution:   Update w_last_cursorline also in Visual mode. (Hirohito Higashi,
            closes #4086)
2019-03-09 11:46:15 +01:00
Bram Moolenaar
fd731b0e31 patch 8.1.1000: indenting is off
Problem:    Indenting is off.
Solution:   Make indenting consistent and update comments. (Ozaki Kiichi,
            closes #4079)
2019-03-09 11:23:58 +01:00
Bram Moolenaar
9d7fdd403a patch 8.1.0999: use register one too often and not properly tested
Problem:    Use register one too often and not properly tested.
Solution:   Do not always use register one when specifying a register.
            (closes #4085)  Add more tests.
2019-03-08 09:50:52 +01:00
Bram Moolenaar
19a66858a5 patch 8.1.0998: getcurpos() unexpectedly changes "curswant"
Problem:    getcurpos() unexpectedly changes "curswant".
Solution:   Save and restore "curswant". (closes #4069)
2019-03-07 11:25:32 +01:00
Bram Moolenaar
d5a5886ce9 patch 8.1.0997: using GUI colors in vim.exe when 'termguicolors' is off
Problem:    Using GUI colors in vim.exe when 'termguicolors' is off.
Solution:   Add condition for 'termguicolors' set. (Ken Takata, closes #4078)
2019-03-07 06:40:27 +01:00
Bram Moolenaar
6bb8c66c8b patch 8.1.0996: a few screendump tests fail because of scrolling
Problem:    A few screendump tests fail because of scrolling.
Solution:   Update the screendumps.
2019-03-05 13:26:55 +01:00
Bram Moolenaar
f0fab3046c patch 8.1.0995: a getchar() call resets the reg_executing() result
Problem:    A getchar() call while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes #406
2019-03-05 12:24:10 +01:00
Bram Moolenaar
8fcb60f961 patch 8.1.0994: relative cursor position is not calculated correctly
Problem:    Relative cursor position is not calculated correctly.
Solution:   Always set topline, also when window is one line only.
            (Robert Webb) Add more info to getwininfo() for testing.
2019-03-04 13:18:30 +01:00
Bram Moolenaar
772153f8d8 patch 8.1.0993: ch_read() may return garbage if terminating NL is missing
Problem:    ch_read() may return garbage if terminating NL is missing.
Solution:   Add terminating NUL. (Ozaki Kiichi, closes #4065)
2019-03-04 12:09:49 +01:00
Bram Moolenaar
cce713ddcc patch 8.1.0992: a :normal command resets the reg_executing() result
Problem:    A :normal command while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes #4066)
2019-03-04 11:40:12 +01:00
Bram Moolenaar
975880b6e6 patch 8.1.0991: cannot build with a mix of features
Problem:    Cannot build with FEAT_EVAL defined and FEAT_SEARCH_EXTRA
            undefined, and with FEAT_DIFF defined and FEAT_EVAL undefined.
Solution:   Add a couple of #ifdefs. (closes #4067)
2019-03-03 14:42:11 +01:00
Bram Moolenaar
e21c1580b7 patch 8.1.0990: floating point exception with "%= 0" and "/= 0"
Problem:    Floating point exception with "%= 0" and "/= 0".
Solution:   Avoid dividing by zero. (Dominique Pelle, closes #4058)
2019-03-02 11:57:09 +01:00
Bram Moolenaar
bdace838c6 patch 8.1.0989: various small code ugliness
Problem:    Various small code ugliness.
Solution:   Remove pointless NULL checks. Fix function calls. Fix typos.
            (Dominique Pelle, closes #4060)
2019-03-02 10:13:42 +01:00
Bram Moolenaar
d82a81cad9 patch 8.1.0988: deleting location list buffer breaks location list window
Problem:    Deleting a location list buffer breaks location list window
            functionality.
Solution:   (Yegappan Lakshmanan, closes #4056)
2019-03-02 07:57:18 +01:00
Bram Moolenaar
6ef8f9eacd patch 8.1.0987: unnecessary condition in #ifdef
Problem:    Unnecessary condition in #ifdef.
Solution:   Remove using CYGWIN32. (Ken Takata)
2019-03-02 07:15:28 +01:00
Bram Moolenaar
ef8c956172 patch 8.1.0986: rename() is not propertly tested
Problem:    rename() is not propertly tested.
Solution:   Add tests. (Dominique Pelle, closes #4061)
2019-03-02 06:42:07 +01:00
Bram Moolenaar
ab350f89f9 patch 8.1.0985: crash with large number in regexp
Problem:    Crash with large number in regexp. (Kuang-che Wu)
Solution:   Check for long becoming negative int. (closes #)
2019-02-28 06:25:00 +01:00
Bram Moolenaar
c69efcb42f patch 8.1.0984: unnecessary #ifdefs
Problem:    Unnecessary #ifdefs.
Solution:   Remove the #ifdefs. (Ken Takata)
2019-02-27 14:12:01 +01:00
Bram Moolenaar
1eed532999 patch 8.1.0983: checking __CYGWIN32__ unnecessarily
Problem:    Checking __CYGWIN32__ unnecessarily.
Solution:   Remove the checks. (Ken Takata)
2019-02-26 17:03:54 +01:00
Bram Moolenaar
32033d2397 patch 8.1.0982: update_cursor() called twice in :shell
Problem:    update_cursor() called twice in :shell.
Solution:   Remove one of the calls. (Yasuhiro Matsumoto, closes #4039)
2019-02-25 06:28:57 +01:00
Bram Moolenaar
5b868a82ed patch 8.1.0981: pasting in terminal insufficiently tested
Problem:    Pasting in terminal insufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #4040)
2019-02-25 06:11:53 +01:00
Bram Moolenaar
58d63a0a23 patch 8.1.0980: extend() insufficiently tested
Problem:    extend() insufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #4040)
2019-02-25 05:56:31 +01:00
Bram Moolenaar
1fa8fdd611 patch 8.1.0979: compiler warning for unused functions
Problem:    Compiler warning for unused functions. (Yasuhiro Matsumoto)
Solution:   Adjust #ifdef.
2019-02-25 05:41:15 +01:00
Bram Moolenaar
2472ae81df patch 8.1.0978: blob not tested with Perl
Problem:    Blob not tested with Perl.
Solution:   Add more test coverage.  Fixes a crash. (Dominique Pelle,
            closes #4037)
2019-02-23 15:04:17 +01:00
Bram Moolenaar
0d13cce345 patch 8.1.0977: blob not tested with Ruby
Problem:    Blob not tested with Ruby.
Solution:   Add more test coverage.  fixes a crash. (Dominique Pelle,
            closes #4036)
2019-02-23 14:23:03 +01:00
Bram Moolenaar
e4963c543d patch 8.1.0976: dosinstall still has buffer overflow problems
Problem:    Dosinstall still has buffer overflow problems.
Solution:   Adjust  buffer sizes. (Yasuhiro Matsumoto, closes #4002)
2019-02-22 19:41:08 +01:00
Bram Moolenaar
c666388367 patch 8.1.0975: using STRNCPY() wrongly. Warning for uninitialized variable
Problem:    Using STRNCPY() wrongly. Warning for uninitialized variable.
Solution:   Use mch_memmove(). Initialize variable. (Yasuhiro Matsumoto,
            closes #3979)
2019-02-22 19:14:54 +01:00
Bram Moolenaar
882d02eeb5 patch 8.1.0974: cannot switch from terminal window to previous tabpage
Problem:    Cannot switch from terminal window to previous tabpage.
Solution:   Make CTRL-W gT move to previous tabpage.
2019-02-22 17:56:43 +01:00
Bram Moolenaar
cd62512c55 patch 8.1.0973: pattern with syntax error gives threee error messages
Problem:    Pattern with syntax error gives threee error messages. (Kuang-che
            Wu)
Solution:   Remove outdated internal error.  Don't fall back to other engine
            after an error.
2019-02-22 17:29:43 +01:00
Bram Moolenaar
72e83c1ae5 patch 8.1.0972: cannot switch from terminal window to next tabpage
Problem:    Cannot switch from terminal window to next tabpage.
Solution:   Make CTRL-W gt move to next tabpage.
2019-02-22 16:09:52 +01:00
Bram Moolenaar
f6b401090e Update runtime files 2019-02-22 15:24:03 +01:00
Bram Moolenaar
55d3bdbbe2 patch 8.1.0971: failure for selecting quoted text object moves cursor
Problem:    Failure for selecting quoted text object moves cursor.
Solution:   Restore the Visual selection on failure. (Christian Brabandt,
            closes #4024)
2019-02-22 15:04:17 +01:00
Bram Moolenaar
ed79d1e348 patch 8.1.0970: text properties test fails when 'encoding' is not utf-8
Problem:    Text properties test fails when 'encoding' is not utf-8.
Solution:   Compare with original value of 'encoding'. (Christian Brabandt,
            closes #3986)
2019-02-22 14:38:58 +01:00
Bram Moolenaar
97c2c05ead patch 8.1.0969: message written during startup is truncated
Problem:    Message written during startup is truncated.
Solution:   Restore message after truncating. (closes 3969)
2019-02-22 13:42:07 +01:00
Bram Moolenaar
527a2d86fb patch 8.1.0968: crash when using search pattern \%Ufffffc23
Problem:    Crash when using search pattern \%Ufffffc23.
Solution:   Limit character to INT_MAX. (closes #4009)
2019-02-21 22:28:51 +01:00
Bram Moolenaar
1417031cfd patch 8.1.0967: stray dependency in test Makefile
Problem:    Stray dependency in test Makefile.
Solution:   Remove it. (Masato Nishihata, closes #4018)
2019-02-21 21:50:46 +01:00
Bram Moolenaar
3876789b23 patch 8.1.0966: one terminal test is flaky
Problem:    One terminal test is flaky.
Solution:   Add to list of flaky tests.
2019-02-21 18:17:14 +01:00
Bram Moolenaar
e86ecbd922 patch 8.1.0965: search test fails
Problem:    Search test fails.
Solution:   Wait a bit longer for the 'ambiwidth' redraw.
2019-02-21 17:48:59 +01:00
Bram Moolenaar
353aca1215 patch 8.1.0964: cannot see in CI why a screenshot test failed
Problem:    Cannot see in CI why a screenshot test failed.
Solution:   Add info about the failure.
2019-02-21 17:05:59 +01:00
Bram Moolenaar
4a7d2d3b40 patch 8.1.0963: illegal memory access when using 'incsearch'
Problem:    Illegal memory access when using 'incsearch'.
Solution:   Reset highlight_match when changing text. (closes #4022)
2019-02-21 16:25:50 +01:00
Bram Moolenaar
d91e5dafd5 patch 8.1.0962: building with MinGW and static libs doesn't work
Problem:    Building with MinGW and static libs doesn't work. (Salman Halim)
Solution:   Add -lgcc. (Ken Takata)
2019-02-21 13:34:07 +01:00
Bram Moolenaar
9166838420 patch 8.1.0961: Mac: fsync may fail sometimes
Problem:    Mac: fsync may fail sometimes.
Solution:   Do not check errno. (Yee Cheng Chin, closes #4025)
2019-02-21 12:16:12 +01:00
Bram Moolenaar
8caa43d815 patch 8.1.0960: when using ConPTY garbage collection has undefined behavior
Problem:    When using ConPTY garbage collection has undefined behavior.
Solution:   Free the channel in a better way. (Nobuhiro Takasaki, closes #4020)
2019-02-20 22:45:06 +01:00
Bram Moolenaar
a25e3d0695 patch 8.1.0959: sorting large numbers is not tested
Problem:    Sorting large numbers is not tested and does not work properly.
Solution:   Add test.  Fix comparing lines with and without a number.
            (Dominique Pelle, closes #4017)
2019-02-20 22:19:05 +01:00
Bram Moolenaar
38f08e76ac patch 8.1.0958: compiling weird regexp pattern is very slow
Problem:    Compiling weird regexp pattern is very slow.
Solution:   When reallocating post list increase size by 50%. (Kuang-che Wu,
            closes #4012)  Make assert_inrange() accept float values.
2019-02-20 22:04:32 +01:00
Bram Moolenaar
3585671888 patch 8.1.0957: Mac: fsync fails on network share
Problem:    Mac: fsync fails on network share.
Solution:   Check for ENOTSUP. (Yee Cheng Chin, closes #4016)
2019-02-20 20:37:01 +01:00
Bram Moolenaar
b9ddda6c2d patch 8.1.0956: using context:0 in 'diffopt' does not work well
Problem:    Using context:0 in 'diffopt' does not work well.
Solution:   Make zero context do the same as one line context. (closes #4005)
2019-02-19 23:00:50 +01:00
Bram Moolenaar
66ae3d199f patch 8.1.0955: matchit autoload directory not in installer
Problem:    Matchit autoload directory not in installer. (Chris Morgan)
Solution:   Adjust the NSIS script. (Christian Brabandt, closes #4006)
2019-02-19 21:40:28 +01:00
Bram Moolenaar
0d8562a999 patch 8.1.0954: arguments of semsg() and siemsg() are not checked
Problem:    Arguments of semsg() and siemsg() are not checked.
Solution:   Add function prototype with __attribute__.
2019-02-19 21:34:05 +01:00
Bram Moolenaar
c9629251a6 patch 8.1.0953: a very long file is truncated at 2^31 lines
Problem:    A very long file is truncated at 2^31 lines.
Solution:   Use LONG_MAX for MAXLNUM. (Dominique Pelle, closes #4011)
2019-02-19 21:24:54 +01:00
Bram Moolenaar
bbd854dc57 patch 8.1.0952: compilation warnings when building the MS-Windows installer
Problem:    Compilation warnings when building the MS-Windows installer.
Solution:   Fix buffer sizes. (Yasuhiro Matsumoto, closes #3999)
2019-02-18 22:19:33 +01:00
Bram Moolenaar
44b443c5db patch 8.1.0951: using WIN64 even though it is never defined
Problem:    Using WIN64 even though it is never defined.
Solution:   Only use _WIN64. (Ken Takata, closes #3997)
2019-02-18 22:14:18 +01:00
Bram Moolenaar
14816ad6e5 patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Problem:    Using :python sets 'pyxversion' even when not executed.
Solution:   Check the "skip" flag. (Shane Harper, closes #3995)
2019-02-18 22:04:56 +01:00
Bram Moolenaar
0472b6d149 patch 8.1.0949: MS-windows defines GUI macros different than other systems
Problem:    MS-windows defines GUI macros different than other systems.
Solution:   Swap FEAT_GUI and FEAT_GUI_MSWIN. (Hirohito Higashi, closes #3996)
2019-02-18 21:41:37 +01:00
Bram Moolenaar
d53931ae73 patch 8.1.0948: when built without +eval "Vim --clean" produces errors
Problem:    When built without +eval "Vim --clean" produces errors. (James
            McCoy)
Solution:   Do not enable filetype detection.
2019-02-18 21:32:28 +01:00
Bram Moolenaar
7dca2ebbcf patch 8.1.0947: using MSWIN before it is defined
Problem:    Using MSWIN before it is defined. (Cesar Romani)
Solution:   Move the block that uses MSWIN to below including vim.h. (Ken
            Takata)
2019-02-18 20:42:50 +01:00
Bram Moolenaar
c854898881 Revert change accidentally included in runtime file updates. Closes #3998. 2019-02-18 17:40:18 +01:00
Bram Moolenaar
b0e2da2b23 patch 8.1.0946: Coveralls is not very useful
Problem:    Coveralls is not very useful.
Solution:   Remove Coveralls badge, add badge for packages.
2019-02-17 23:26:50 +01:00
Bram Moolenaar
4c92e75dd4 Update runtime files. 2019-02-17 21:18:32 +01:00
Bram Moolenaar
a5483448cb patch 8.1.0945: internal error when using pattern with NL in the range
Problem:    Internal error when using pattern with NL in the range.
Solution:   Use an actual newline for the range. (closes #3989)  Also fix
            error message.  (Dominique Pelle)
2019-02-17 20:17:02 +01:00
Bram Moolenaar
c85c8fcb9f patch 8.1.0944: format of nbdbg() arguments is not checked
Problem:    Format of nbdbg() arguments is not checked.
Solution:   Add format attribute.  Fix reported problems. (Dominique Pelle,
            closes #3992)
2019-02-17 19:12:21 +01:00
Bram Moolenaar
749f07c0db patch 8.1.0943: still a trace of Farsi support
Problem:    Still a trace of Farsi support.
Solution:   Remove defining macros.
2019-02-17 18:59:10 +01:00
Bram Moolenaar
76cbe811da patch 8.1.0942: options window still checks for the multi_byte feature
Problem:    Options window still checks for the multi_byte feature.
Solution:   Remove the unnecessary check. (Dominique Pelle, closes #3990)
2019-02-17 17:53:49 +01:00
Bram Moolenaar
4f97475d32 patch 8.1.0941: macros for MS-Windows are inconsistent
Problem:    Macros for MS-Windows are inconsistent, using "32", "3264 and
            others.
Solution:   Use MSWIN for all MS-Windows builds.  Use FEAT_GUI_MSWIN for the
            GUI build. (Hirohito Higashi, closes #3932)
2019-02-17 17:44:42 +01:00
Bram Moolenaar
78d21dae9c patch 8.1.0940: MS-Windows console resizing not handled properly
Problem:    MS-Windows console resizing not handled properly.
Solution:   Handle resizing the console better. (Nobuhiro Takasaki,
            closes #3968, closes #3611)
2019-02-17 15:00:52 +01:00
Bram Moolenaar
3678f65d43 patch 8.1.0939: no completion for sign group names
Problem:    No completion for sign group names.
Solution:   Add completion for sign group names and buffer names. (Yegappan
            Lakshmanan, closes #3980)
2019-02-17 14:50:25 +01:00
Bram Moolenaar
21edde8742 patch 8.1.0938: background color is wrong in MS-Windows console
Problem:    Background color is wrong in MS-Windows console when not using VTP.
Solution:   Use g_attrCurrent. (Nobuhiro Takasaki, closes #3987)
2019-02-17 14:10:56 +01:00
Bram Moolenaar
f1b57ab2ab patch 8.1.0937: invalid memory access in search pattern
Problem:    Invalid memory access in search pattern. (Kuang-che Wu)
Solution:   Check for incomplete collation element. (Dominique Pelle,
            closes #3985)
2019-02-17 13:53:34 +01:00
Bram Moolenaar
55c77cf2ea patch 8.1.0936: may leak memory when using 'vartabstop'
Problem:    May leak memory when using 'vartabstop'. (Kuang-che Wu)
Solution:   Fix handling allocated memory for 'vartabstop'. (closes #3976)
2019-02-16 19:05:11 +01:00
Bram Moolenaar
8bfd9469ce patch 8.1.0935: old regexp engine may use invalid buffer
Problem:    Old regexp engine may use invalid buffer for 'iskeyword' or
            uninitialized buffer pointer. (Kuang-che Wu)
Solution:   Set rex.reg_buf when compiling the pattern. (closes #3972)
2019-02-16 18:07:57 +01:00
Bram Moolenaar
985079c514 patch 8.1.0934: invalid memory access in search pattern
Problem:    Invalid memory access in search pattern. (Kuang-che Wu)
Solution:   Check for incomplete equivalence class. (closes #3970)
2019-02-16 17:07:47 +01:00
Bram Moolenaar
6982f42f33 patch 8.1.0933: When using VTP scroll region isn't used properly
Problem:    When using VTP scroll region isn't used properly.
Solution:   Make better use of the scroll region. (Nobuhiro Takasaki,
            closes #3974)
2019-02-16 16:48:01 +01:00
Bram Moolenaar
14184a3133 patch 8.1.0932: Farsi support is outdated and unused
Problem:    Farsi support is outdated and unused.
Solution:   Delete the Farsi support.
2019-02-16 15:10:30 +01:00
Bram Moolenaar
6902c0eb27 patch 8.1.0931: vtp_working included in GUI build but unused
Problem:    vtp_working included in GUI build but unused.
Solution:   Adjust #ifdefs. (Ken Takata, closes #3971)
2019-02-16 14:07:37 +01:00
Bram Moolenaar
0a1b17bbec patch 8.1.0930: typo in Makefile
Problem:    Typo in Makefile.
Solution:   Change ABORT_CLFAGS to ABORT_CFLAGS. (Kuang-che Wu, closes #3977)
2019-02-16 13:45:09 +01:00
Bram Moolenaar
5acd987258 patch 8.1.0929: no error when requesting ConPTY but it's not available
Problem:    No error when requesting ConPTY but it's not available.
Solution:   Add an error message. (Hirohito Higashi, closes #3967)
2019-02-16 13:35:13 +01:00
Bram Moolenaar
d634024b90 patch 8.1.0928: stray log function call
Problem:    Stray log function call.
Solution:   Remove the log function call.
2019-02-16 00:00:28 +01:00
Bram Moolenaar
0059074008 patch 8.1.0927: USE_CR is never defined
Problem:    USE_CR is never defined.
Solution:   Remove usage of USE_CR. (Ken Takata, closes #3958)
2019-02-15 21:06:09 +01:00
Bram Moolenaar
e93e5a504f patch 8.1.0926: no test for :wnext, :wNext and :wprevious
Problem:    No test for :wnext, :wNext and :wprevious.
Solution:   Add a test. (Dominique Pelle, closes #3963)
2019-02-15 20:22:38 +01:00
Bram Moolenaar
5ff7df509a patch 8.1.0925: terminal scrollback test still still flaky
Problem:    Terminal scrollback test still still flaky.
Solution:   Explicitly set the shell.  Disable ruler. (Ozaki Kiichi,
            closes #3966)
2019-02-15 01:06:13 +01:00
Bram Moolenaar
7e841e3ce5 patch 8.1.0924: terminal scrollback test still flaky
Problem:    Terminal scrollback test still flaky.
Solution:   Wait a bit longer before running the tail command.
2019-02-15 00:26:14 +01:00
Bram Moolenaar
c3ef896608 patch 8.1.0923: terminal dump diff swap does not update file names
Problem:    Terminal dump diff swap does not update file names.
Solution:   Also swap the file name.  Add a test.
2019-02-15 00:16:13 +01:00
Bram Moolenaar
96baf02aa8 patch 8.1.0922: terminal scrollback test is flaky
Problem:    Terminal scrollback test is flaky.
Solution:   Wait a bit before running the tail command.
2019-02-14 23:49:38 +01:00
Bram Moolenaar
81aa0f56f8 patch 8.1.0921: terminal test sometimes fails; using memory after free
Problem:    Terminal test sometimes fails; using memory after free.
Solution:   Fee memory a bit later.  Add test to cover this.  Disable flaky
            screenshot test. (closes #3956)
2019-02-14 23:23:19 +01:00
Bram Moolenaar
29ae223ddc patch 8.1.0920: in Terminal-Normal mode job output messes up the window
Problem:    In Terminal-Normal mode job output messes up the window.
Solution:   Postpone scrolling and updating the buffer when in Terminal-Normal
            mode.
2019-02-14 21:22:01 +01:00
Bram Moolenaar
0f77d6afd5 patch 8.1.0919: compiler warnings
Problem:    Compiler warnings.
Solution:   Add type casts. (Mike Williams)
2019-02-14 20:55:09 +01:00
Bram Moolenaar
9b5c1fcdea patch 8.1.0918: MS-Windows: startup messages are not converted
Problem:    MS-Windows: startup messages are not converted.
Solution:   Convert messages when the current codepage differs from
            'encoding'. (Yasuhiro Matsumoto, closes #3914)
2019-02-14 14:08:04 +01:00
Bram Moolenaar
445e71c5ee patch 8.1.0917: double free when running out of memory
Problem:    Double free when running out of memory.
Solution:   Remove one free. (Ken Takata, closes #3955)
2019-02-14 13:43:36 +01:00
Bram Moolenaar
b999ba2778 patch 8.1.0916: with Python 3.7 "find_module" is not made available
Problem:    With Python 3.7 "find_module" is not made available.
Solution:   Also add "find_module" with Python 3.7. (Joel Frederico,
            closes #3954)
2019-02-14 13:28:45 +01:00
Bram Moolenaar
a787019518 patch 8.1.0915: fsync() may not work properly on Mac
Problem:    fsync() may not work properly on Mac.
Solution:   Use fcntl() with F_FULLFSYNC. (suggested by Justin M. Keyes)
2019-02-14 12:56:36 +01:00
Bram Moolenaar
5fd0f5052f patch 8.1.0914: code related to findfile() is spread out
Problem:    Code related to findfile() is spread out.
Solution:   Put findfile() related code into a new source file. (Yegappan
            Lakshmanan, closes #3934)
2019-02-13 23:13:28 +01:00
Bram Moolenaar
688b3983d8 patch 8.1.0913: CI crashes when running out of memory
Problem:    CI crashes when running out of memory.
Solution:   Apply 'maxmempattern' also to new regexp engine.
2019-02-13 21:47:36 +01:00
Bram Moolenaar
18442cbcc0 patch 8.1.0912: MS-Windows: warning for signed/unsigned
Problem:    MS-Windows: warning for signed/unsigned.
Solution:   Add type cast. (Nobuhiro Takasaki, closes #3945)
2019-02-13 21:22:12 +01:00
Bram Moolenaar
943e9639a9 patch 8.1.0911: tag line with Ex command cannot have extra fields
Problem:    Tag line with Ex command cannot have extra fields.
Solution:   Recognize |;" as the end of the command. (closes #2402)
2019-02-13 21:19:14 +01:00
Bram Moolenaar
15bbd6ec87 patch 8.1.0910: crash with tricky search pattern
Problem:    Crash with tricky search pattern. (Kuang-che Wu)
Solution:   Check for runnning out of memory. (closes #3950)
2019-02-13 20:31:50 +01:00
Bram Moolenaar
d9ef1b8d77 patch 8.1.0909: MS-Windows: using ConPTY even though it is not stable
Problem:    MS-Windows: using ConPTY even though it is not stable.
Solution:   When ConPTY version is unstable, prefer using winpty. (Ken Takata,
            closes #3949)
2019-02-13 19:23:10 +01:00
Bram Moolenaar
9403a2168d patch 8.1.0908: can't handle large value for %{nr}v in regexp
Problem:    Can't handle large value for %{nr}v in regexp. (Kuang-che Wu)
Solution:   Give an error if the value is too large. (closes #3948)
2019-02-13 18:35:06 +01:00
Bram Moolenaar
5382f12c91 patch 8.1.0907: CI tests on AppVeyor are failing
Problem:    CI tests on AppVeyor are failing.
Solution:   Reduce the recursiveness limit for regexp.
2019-02-13 01:18:38 +01:00
Bram Moolenaar
e1ed53f3f9 patch 8.1.0906: using clumsy way to get console window handle
Problem:    Using clumsy way to get console window handle.
Solution:   Use GetConsoleWindow(). (Ken Takata, closes #3940)
2019-02-12 23:12:37 +01:00
Bram Moolenaar
5567ad48b6 patch 8.1.0905: complicated regexp causes a crash
Problem:    Complicated regexp causes a crash. (Kuang-che Wu)
Solution:   Limit the recursiveness of addstate(). (closes #3941)
2019-02-12 23:05:46 +01:00
Bram Moolenaar
00f148d2f2 patch 8.1.0904: USE_LONG_FNAME never defined
Problem:    USE_LONG_FNAME never defined.
Solution:   Remove using USE_LONG_FNAME. (Ken Takata, closes #3938)
2019-02-12 22:37:27 +01:00
Bram Moolenaar
beb7574d6b patch 8.1.0903: struct uses more bytes than needed
Problem:    Struct uses more bytes than needed.
Solution:   Reorder members of regitem_S. (Dominique Pelle, closes #3936)
2019-02-12 22:33:00 +01:00
Bram Moolenaar
ff697e6cef patch 8.1.0902: incomplete set of assignment operators
Problem:    Incomplete set of assignment operators.
Solution:   Add /=, *= and %=. (Ozaki Kiichi, closes #3931)
2019-02-12 22:28:33 +01:00
Bram Moolenaar
57ee2b6e0b patch 8.1.0901: index in getjumplist() may be wrong
Problem:    Index in getjumplist() may be wrong. (Epheien)
Solution:   Call cleanup_jumplist() earlier. (Yegappan Lakshmanan,
            closes #3941)
2019-02-12 22:15:06 +01:00
Bram Moolenaar
48773f1f83 patch 8.1.0900: ConPTY many crash with 32-bit build
Problem:    ConPTY many crash with 32-bit build.
Solution:   Fix function declarations. (Ken Takata, closes #3943)
2019-02-12 21:46:46 +01:00
Bram Moolenaar
e0fb7d1e38 patch 8.1.0899: no need to check restricted mode for setwinvar()
Problem:    No need to check restricted mode for setwinvar().
Solution:   Remove check_restricted().
2019-02-12 20:48:10 +01:00
Bram Moolenaar
0ea21e41c6 patch 8.1.0898: a messed up rgb.txt can crash Vim
Problem:    A messed up rgb.txt can crash Vim. (Pavel Cheremushkin)
Solution:   Limit to 10000 entries.  Also don't retry many times when the file
            cannot be read.
2019-02-12 20:46:48 +01:00
Bram Moolenaar
05c00c038b patch 8.1.0897: can modify a:000 when using a reference
Problem:    Can modify a:000 when using a reference.
Solution:   Make check for locked variable stricter. (Ozaki Kiichi,
            closes #3930)
2019-02-11 22:00:11 +01:00
Bram Moolenaar
5a6698169d patch 8.1.0896: tests for restricted mode no run for MS-Windows GUI
Problem:    Tests for restricted mode no run for MS-Windows GUI.
Solution:   Make tests also work in MS-Windows GUI.
2019-02-11 21:45:00 +01:00
Bram Moolenaar
ec0f50a35e patch 8.1.0895: MS-Windows: dealing with temp name encoding not quite right
Problem:    MS-Windows: dealing with temp name encoding not quite right.
Solution:   Use more wide functions. (Ken Takata, closes #3921)
2019-02-10 23:26:13 +01:00
Bram Moolenaar
dce1e89be4 patch 8.1.0894: MS-Windows: resolve() does not return a reparse point
Problem:    MS-Windows: resolve() does not return a reparse point.
Solution:   Improve resolve(). (Yasuhiro Matsumoto, closes #3896)
2019-02-10 23:18:53 +01:00
Bram Moolenaar
3615abb693 patch 8.1.0893: terminal test is a bit flaky
Problem:    Terminal test is a bit flaky.
Solution:   Add test_terminal_no_cmd() to list of flaky tests.
2019-02-10 23:04:12 +01:00
Bram Moolenaar
eeb1b9c7ed patch 8.1.0892: failure when closing a window when location list is in use
Problem:    Failure when closing a window when location list is in use.
Solution:   Handle the situation gracefully. Make sure memory for 'switchbuf'
            is not freed at the wrong time. (Yegappan Lakshmanan,
            closes #3928)
2019-02-10 22:59:04 +01:00
Bram Moolenaar
d77aa4d22e patch 8.1.0891: substitute command inssuficiently tested
Problem:    Substitute command inssuficiently tested.
Solution:   Add more test coverage. (Dominique Pelle)
2019-02-10 22:50:14 +01:00
Bram Moolenaar
593864817a patch 8.1.0890: pty allocation wrong if using file for out channel
Problem:    Pty allocation wrong if using file for out channel and using null
            for in channel and null for error channel.
Solution:   Correct using use_file_for_out in condition. (Ozaki Kiichi, closes
            #3917)
2019-02-10 22:43:46 +01:00
Bram Moolenaar
6524068ff3 patch 8.1.0889: MS-Windows: a channel write may hang
Problem:    MS-Windows: a channel write may hang.
Solution:   Check for WriteFile() not writing anything. (Yasuhiro Matsumoto,
            closes #3920)
2019-02-10 22:23:26 +01:00
Bram Moolenaar
31b816042f patch 8.1.0888: the a: dict is not immutable as documented
Problem:    The a: dict is not immutable as documented.
Solution:   Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro
            Matsumoto, closes #3929)
2019-02-10 22:14:27 +01:00
Bram Moolenaar
9474716d39 patch 8.1.0887: the 'l' flag in :subsitute is sticky
Problem:    The 'l' flag in :subsitute is sticky.
Solution:   Reset the flag. (Dominique Pelle, closes #3925)
2019-02-10 21:55:26 +01:00
Bram Moolenaar
b763361161 patch 8.1.0886: compiler warning for NULL pointer and condition always true
Problem:    Compiler warning for adding to NULL pointer and a condition that
            is always true.
Solution:   Check for NULL pointer before adding. Remove useless "if".
            (Friedirch, closes #3913)
2019-02-10 21:48:25 +01:00
Bram Moolenaar
18c5632cab patch 8.1.0885: test for restricted hangs on MS-Windows GUI
Problem:    Test for restricted hangs on MS-Windows GUI.
Solution:   Skip the test.
2019-02-09 11:13:12 +01:00
Bram Moolenaar
af630d4f7f patch 8.1.0884: double check for bsd systems
Problem:    Double check for bsd systems.
Solution:   Delete the old line.
2019-02-08 23:09:48 +01:00
Bram Moolenaar
54d6fe5e60 patch 8.1.0883: missing some changes for Ex commands
Problem:    Missing some changes for Ex commands.
Solution:   Add mising changes in header file.
2019-02-08 16:50:26 +01:00
Bram Moolenaar
1aa43755e2 patch 8.1.0882: checking for FEAT_MBYTE which doesn't exist anymore
Problem:    Checking for FEAT_MBYTE which doesn't exist anymore. (Christ van
            Willegen)
Solution:   Remove it.
2019-02-08 14:41:31 +01:00
Bram Moolenaar
8c62a08faf patch 8.1.0881: can execute shell commands in rvim through interfaces
Problem:    Can execute shell commands in rvim through interfaces.
Solution:   Disable using interfaces in restricted mode. Allow for writing
            file with writefile(), histadd() and a few others.
2019-02-08 14:34:10 +01:00
Bram Moolenaar
c6ddce3f2c patch 8.1.0880: MS-Windows: inconsistent selection of winpty/conpty
Problem:    MS-Windows: inconsistent selection of winpty/conpty.
Solution:   Name option 'termwintype', use ++type argument and "term_pty" for
            term_start(). (Hirohito Higashi, closes #3915)
2019-02-08 12:47:03 +01:00
Bram Moolenaar
0036201a1a patch 8.1.0879: MS-Windows: temp name encoding can be wrong
Problem:    MS-Windows: temp name encoding can be wrong.
Solution:   Convert from active code page to 'encoding'. (Ken Takata,
            closes #3520, closes #1698)
2019-02-08 12:21:30 +01:00
Bram Moolenaar
a02e3f65c5 patch 8.1.0878: test for has('bsd') fails on some BSD systems
Problem:    Test for has('bsd') fails on some BSD systems.
Solution:   Adjust the uname match. (James McCoy, closes #3909)
2019-02-07 21:27:14 +01:00
Bram Moolenaar
ee8188fc74 patch 8.1.0877: new buffer used every time the quickfix window is opened
Problem:    New buffer used every time the quickfix window is opened.
Solution:   Reuse the buffer. (Yegappan Lakshmanan, closes #3902)
2019-02-05 21:23:04 +01:00
Bram Moolenaar
2a78b7c704 patch 8.1.0876: completion match not displayed when popup menu is not shown
Problem:    Completion match not displayed when popup menu is not shown.
Solution:   Call update_screen() when not displaying the popup menu to show
            the inserted match. (Ken Takata, Hirohito Higashi)
2019-02-05 20:12:06 +01:00
Bram Moolenaar
71b13e92ae patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Problem:    Not all errors of marks and findfile()/finddir() are tested.
Solution:   Add more test coverage. (Dominique Pelle)
2019-02-04 21:14:45 +01:00
Bram Moolenaar
94688b8a2a Add missing matchit file. 2019-02-04 21:02:06 +01:00
Bram Moolenaar
9c46efd7dc patch 8.1.0874: using old style comments in new file
Problem:    Using old style comments in new file.
Solution:   Convert to // comments in new file. (Yegappan Lakshmanan)
2019-02-04 20:30:18 +01:00
Bram Moolenaar
970076468e patch 8.1.0873: list if distributed files does not include matchit autoload
Problem:    List if distributed files does not include the matchit autoload
            directory.
Solution:   Add the directory.
2019-02-03 23:45:30 +01:00
Bram Moolenaar
34a587457f patch 8.1.0872: confusing condition
Problem:    Confusing condition.
Solution:   Use "==" instead of "<=".
2019-02-03 15:28:28 +01:00
Bram Moolenaar
314dd79cac Update runtime files. 2019-02-03 15:27:20 +01:00
Bram Moolenaar
63d1fea814 patch 8.1.0871: build error when building with Ruby 2.6.0
Problem:    Build error when building with Ruby 2.6.0.
Solution:   Change argument of rb_int2big_stub(). (Android Baumann,
            closes #3899)
2019-02-03 15:18:35 +01:00
Bram Moolenaar
aa5df7e312 patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Problem:    Vim doesn't use the new ConPTY support in Windows 10.
Solution:   Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
2019-02-03 14:53:10 +01:00
Bram Moolenaar
01a6c21691 patch 8.1.0869: Travis CI script is too complicated
Problem:    Travis CI script is too complicated.
Solution:   Add names to environments.  Move appveyor script outside of src
            directory. (Ozaki Kiichi, closes #3890)
2019-02-03 13:13:18 +01:00
Bram Moolenaar
889da2f243 patch 8.1.0868: crash if triggering garbage collector after a function call
Problem:    Crash if triggering garbage collector after a function call.
            (Michael Henry)
Solution:   Don't call the garbage collector right away, do it later.
            (closes #3894)
2019-02-02 14:02:30 +01:00
Bram Moolenaar
65951258d6 patch 8.1.0867: cannot build Python interface with Python 2.4
Problem:    Cannot build Python interface with Python 2.4. (Tom G. Christensen)
Solution:   Define PyBytes_FromStringAndSize. (Ken Takata, closes #3888)
2019-02-01 22:10:16 +01:00
Bram Moolenaar
1c321dcee9 patch 8.1.0866: build file dependencies are outdated
Problem:    Build file dependencies are outdated. (John Little)
Solution:   Run "make proto" and "make depend".
2019-02-01 20:42:22 +01:00
Bram Moolenaar
895d966e34 patch 8.1.0865: when 'listchars' only contains "nbsp:X" it does not work
Problem:    When 'listchars' only contains "nbsp:X" it does not work.
Solution:   Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes #3889)
2019-01-31 21:57:21 +01:00
Bram Moolenaar
375e339007 patch 8.1.0864: cannot have a local value for 'scrolloff' and 'sidescrolloff'
Problem:    Cannot have a local value for 'scrolloff' and 'sidescrolloff'.
            (Gary Holloway)
Solution:   Make 'scrolloff' and 'sidescrolloff' global-local. (mostly by
            Aron Widforss, closes #3539)
2019-01-31 18:26:10 +01:00
Bram Moolenaar
b3051ce82f patch 8.1.0863: cannot see what signal caused a job to end
Problem:    Cannot see what signal caused a job to end.
Solution:   Add "termsig" to job_info(). (Ozaki Kiichi, closes #3786)
2019-01-31 15:52:11 +01:00
Bram Moolenaar
221cd9f4dd patch 8.1.0862: no verbose version of character classes
Problem:    No verbose version of character classes.
Solution:   Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi,
            closes #1373)
2019-01-31 15:34:40 +01:00
Bram Moolenaar
60f807b3f7 patch 8.1.0861: building with MinGW and static libc doesn't work
Problem:    Building with MinGW and static libc doesn't work.
Solution:   Change the LIB argument. (Ken Takata)
2019-01-31 14:43:19 +01:00
Bram Moolenaar
77255cab74 patch 8.1.0860: debug lines left in the code
Problem:    Debug lines left in the code.
Solution:   Delete the lines.
2019-01-31 14:29:42 +01:00
Bram Moolenaar
c45eb770a5 patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Problem:    "%v" in 'errorformat' does handle multi-byte characters.
Solution:   Handle multi-byte characters. (Yegappan Lakshmanan, closes #3700)
2019-01-31 14:27:04 +01:00
Bram Moolenaar
ce655743ba patch 8.1.0858: 'indentkeys' and 'cinkeys' defaults are different
Problem:    'indentkeys' and 'cinkeys' defaults are different.
Solution:   Make them the same, update docs. (close #3882)
2019-01-31 14:12:57 +01:00
Bram Moolenaar
4b47162cce patch 8.1.0857: indent functionality is not separated
Problem:    Ignore functionality is not separated.
Solution:   Move indent functionality into a new file. (Yegappan Lakshmanan,
            closes #3886)
2019-01-31 13:48:09 +01:00
Bram Moolenaar
bbb5f8d4c2 patch 8.1.0856: when scrolling a window the cursorline is not always updated
Problem:    When scrolling a window other than the current one the cursorline
            highlighting is not always updated. (Jason Franklin)
Solution:   Call redraw_for_cursorline() after scrolling.  Only set
            w_last_cursorline when drawing the cursor line.  Reset the lines
            to be redrawn also when redrawing the whole window.
2019-01-31 13:22:32 +01:00
Bram Moolenaar
af703585a3 patch 8.1.0855: cannot build xxd with MSVC 10
Problem:    Cannot build xxd with MSVC 10.
Solution:   Move declaration to start of block.
2019-01-31 11:00:42 +01:00
Bram Moolenaar
d8c56a0d29 patch 8.1.0854: xxd does not work with more than 32 bit addresses
Problem:    xxd does not work with more than 32 bit addresses.
Solution:   Add support for 64 bit addresses. (Christer Jensen, closes #3791)
2019-01-30 23:02:25 +01:00
Bram Moolenaar
cbbd0f6578 patch 8.1.0853: options test fails on Mac
Problem:    Options test fails on Mac.
Solution:   Remove a trailing slash from $TMPDIR.
2019-01-30 22:36:18 +01:00
Bram Moolenaar
ed71ed37bc patch 8.1.0852: findfile() and finddir() are not properly tested
Problem:    findfile() and finddir() are not properly tested.
Solution:   Extend the test and add more. (Dominique Pelle, closes #3880)
2019-01-30 22:13:35 +01:00
Bram Moolenaar
8d4ce56a19 patch 8.1.0851: feedkeys() with "L" does not work properly
Problem:    feedkeys() with "L" does not work properly.
Solution:   Do not set typebuf_was_filled when using "L". (Ozaki Kiichi,
            closes #3885)
2019-01-30 22:01:40 +01:00
Bram Moolenaar
98ad1e17c3 patch 8.1.0850: test for 'backupskip' is not correct
Problem:    Test for 'backupskip' is not correct.
Solution:   Split the option in parts and use expand(). (Michael Soyka)
2019-01-30 21:51:27 +01:00
Bram Moolenaar
c07ff5c60a patch 8.1.0849: cursorline highlight is not always updated
Problem:    Cursorline highlight is not always updated.
Solution:   Set w_last_cursorline when redrawing.  Fix resetting cursor flags
            when using the popup menu.
2019-01-30 21:41:14 +01:00
Bram Moolenaar
b191be2f00 patch 8.1.0848: cannot build with Ruby 1.8
Problem:    Cannot build with Ruby 1.8. (Tom G. Christensen)
Solution:   Use rb-str_new2(). (Yasuhiro Matsumoto, closes #3883,
            closes #3884)
2019-01-30 21:00:12 +01:00
Bram Moolenaar
9172d23d05 patch 8.1.0847: may use terminal after it was cleaned up
Problem:    May use terminal after it was cleaned up.
Solution:   Use the job pointer.
2019-01-29 23:06:54 +01:00
Bram Moolenaar
39536dd557 patch 8.1.0846: not easy to recognize the system Vim runs on
Problem:    Not easy to recognize the system Vim runs on.
Solution:   Add more items to the features list. (Ozaki Kiichi, closes #3855)
2019-01-29 22:58:21 +01:00
Bram Moolenaar
2a4857a1fc patch 8.1.0845: having job_status() free the job causes problems
Problem:    Having job_status() free the job causes problems.
Solution:   Do not actually free the job or terminal yet, put it in a list and
            free it a bit later. Do not use a terminal after checking the job
            status.  (closes #3873)
2019-01-29 22:29:07 +01:00
460 changed files with 39894 additions and 30996 deletions

34
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,34 @@
---
name: Bug report
about: Create a report to help us improve Vim
title: ''
labels: ''
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Describe the bug**
A clear and concise description of what the bug is.
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
**To Reproduce**
Detailed steps to reproduce the behavior:
1. Run `vim --clean` (or `gvim --clean`, etc.)
2. Edit `filename`
3. Type '....'
4. Describe the error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, copy/paste the text or add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an enhancement for Vim
title: ''
labels: enhancement
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Is your feature request related something that is currently hard to do? Please describe.**
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

3
.gitignore vendored
View File

@@ -33,6 +33,8 @@ src/auto/pathdef.c
*.suo
*.res
*.RES
vim*.dll
vim*.lib
src/if_perl.c
src/pathdef.c
src/Obj*/pathdef.c
@@ -68,6 +70,7 @@ src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim

View File

@@ -10,58 +10,58 @@ compiler:
- gcc
env:
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
# ASAN build
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
- &tiny-nogui
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &tiny
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &asan # ASAN build
BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
- BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
- BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
# Mac OSX build
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &unittests
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &normal
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- &small
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &osx-huge # Mac OSX build
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
sudo: false
# instead of a 2*2*7 matrix (2*os + 2*compiler + 7*env),
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux
# on mac os x "tiny" is always without GUI
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
matrix:
exclude:
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
env: *tiny
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
env: *normal
- os: osx
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
env: *unittests
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
env: *small
- os: osx
env: BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
env: *linux-huge
- os: osx
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
env: *asan
- os: linux
compiler: clang
env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
env: *asan
- os: linux
compiler: clang
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
env: *unittests
- os: linux
compiler: clang
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
env: *small
- os: linux
env: BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
env: *osx-huge
branches:
except:
@@ -69,10 +69,14 @@ branches:
addons:
apt:
sources:
# Need msgfmt 0.19.8 to be able to generate .desktop files
- sourceline: 'ppa:ricotz/toolchain'
packages:
- autoconf
- clang
- lcov
- gettext
- libperl-dev
- python-dev
- python3-dev
@@ -89,35 +93,83 @@ addons:
before_install:
- rvm reset
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
# ("pyenv global system" doesn't seem to work.)
- if [ "$TRAVIS_OS_NAME" = "linux" ] && which python3 | grep '/opt/python/' > /dev/null; then export PATH=$(echo $PATH | sed -e "s#$(echo $(which python3) | sed -e 's#/python3$##'):##"); fi
- if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
# needed for https support for coveralls
# building cffi only works with gcc, not with clang
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
# Lua is not installed on Travis OSX
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export LUA_PREFIX=/usr/local; fi
# Use llvm-cov instead of gcov when compiler is clang.
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
# ("pyenv global system" doesn't seem to work.)
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "$(which python3)" =~ ^/opt/python/ ]]; then
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
pip install --user cpp-coveralls
fi
# needed for https support for coveralls
# building cffi only works with gcc, not with clang
- |
if [[ "${COVERAGE}" = "yes" ]]; then
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
fi
# Lua is not installed on Travis OSX
- |
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
export LUA_PREFIX=/usr/local
fi
# Use llvm-cov instead of gcov when compiler is clang.
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "${CC}" = "clang" ]]; then
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
fi
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
before_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]]; then
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start && sleep 3
fi
script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
# Show Vim version and also if_xx versions.
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
- make $SHADOWOPT $TEST
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do asan_symbolize < "$log"; err=1; done; fi
- if [ -n "$err" ]; then exit 1; fi
- |
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
make -C src autoconf
fi
- |
if [[ -n "${SHADOWOPT}" ]]; then
make -C src shadow
fi
- |
(
cd "${SRCDIR}" \
&& ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
) && if [[ "${BUILD}" = "yes" ]]; then
make ${SHADOWOPT} -j${NPROC}
fi
# Show Vim version and also if_xx versions.
- |
if [[ "${BUILD}" = "yes" ]]; then
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-1.vim -c quit > /dev/null
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
cat if_ver.txt
fi
- make ${SHADOWOPT} ${TEST}
- |
if [[ -n "${ASAN_OPTIONS}" ]]; then
while read log; do
asan_symbolize < "${log}"
done < <(find . -type f -name 'asan.*' -size +0)
[[ -z "${log}" ]] # exit 1 if there are ASAN logs
fi
after_success:
- if [ "$COVERAGE" = "yes" ]; then ~/.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; fi
- if [ "$COVERAGE" = "yes" ]; then cd ${SRCDIR} && bash <(curl -s https://codecov.io/bash) ; fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
~/.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
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
(cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
fi
# vim:set sts=2 sw=2 tw=0 et:

View File

@@ -21,9 +21,9 @@ maillist is also fine.
Please use the GitHub issues only for actual issues. If you are not 100% sure
that your problem is a Vim issue, please first discuss this on the Vim user
maillist. Try reproducing the problem without any plugins or settings:
maillist. Try reproducing the problem without any of your plugins or settings:
vim -N -u NONE
vim --clean
If you report an issue, please describe exactly how to reproduce it.
For example, don't say "insert some text" but say what you did exactly:
@@ -56,12 +56,14 @@ If the maintainer does not respond, contact the vim-dev maillist.
# Translations
Translating messages and runtime files is very much appreciated! These things can be translated:
Translating messages and runtime files is very much appreciated! These things
can be translated:
* Messages in Vim, see [src/po/README.txt][1]
Also used for the desktop icons.
* Menus, see [runtime/lang/README.txt][2]
* Vim tutor, see [runtime/tutor/README.txt][3]
* Manual pages, see [runtime/doc/\*.1][4] for examples
* Desktop icon, see [runtime/vim.desktop][5] and [runtime/gvim.desktop][6]
* Installer, see [nsis/lang/\*.nsi][5] for examples
The help files can be translated and made available separately.
See https://www.vim.org/translations.php for examples.
@@ -70,5 +72,4 @@ See https://www.vim.org/translations.php for examples.
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
[5]: https://github.com/vim/vim/blob/master/runtime/vim.desktop
[6]: https://github.com/vim/vim/blob/master/runtime/gvim.desktop
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi

View File

@@ -7,12 +7,11 @@ SRC_ALL = \
.lgtm.yml \
.travis.yml \
appveyor.yml \
ci/appveyor.bat \
src/Make_all.mak \
src/appveyor.bat \
src/README.txt \
src/README.md \
src/alloc.h \
src/arabic.c \
src/arabic.h \
src/ascii.h \
src/autocmd.c \
src/beval.c \
@@ -24,6 +23,7 @@ SRC_ALL = \
src/charset.c \
src/crypt.c \
src/crypt_zip.c \
src/debugger.c \
src/dict.c \
src/diff.c \
src/digraph.c \
@@ -37,10 +37,9 @@ SRC_ALL = \
src/ex_docmd.c \
src/ex_eval.c \
src/ex_getln.c \
src/farsi.c \
src/farsi.h \
src/feature.h \
src/fileio.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
src/globals.h \
@@ -49,6 +48,8 @@ SRC_ALL = \
src/gui_beval.c \
src/hardcopy.c \
src/hashtab.c \
src/indent.c \
src/insexpand.c \
src/json.c \
src/json_test.c \
src/kword_test.c \
@@ -97,6 +98,7 @@ SRC_ALL = \
src/textprop.c \
src/ui.c \
src/undo.c \
src/usercmd.c \
src/userfunc.c \
src/version.c \
src/version.h \
@@ -156,6 +158,7 @@ SRC_ALL = \
src/proto/charset.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 \
@@ -167,14 +170,16 @@ SRC_ALL = \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/findfile.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/indent.pro \
src/proto/insexpand.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
@@ -208,6 +213,7 @@ SRC_ALL = \
src/proto/textprop.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/winclip.pro \
@@ -507,13 +513,14 @@ SRC_DOS_BIN = \
src/vim.tlb \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/arm64/lib-vc14/libXpm.lib \
src/xpm/include/*.h \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons.zip \
# source files for Amiga, DOS, etc. (also in the extra archive)
@@ -662,6 +669,7 @@ RT_ALL = \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/matchit/autoload/*.vim \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
@@ -832,8 +840,6 @@ EXTRA = \
$(SRC_EXTRA) \
README_extra.txt \
src/VisVim/VisVim.dll \
farsi/README.txt \
farsi/fonts/*/far-* \
runtime/vimlogo.xpm \
src/tee/Makefile \
src/tee/Make_mvc.mak \
@@ -936,6 +942,8 @@ LANG_SRC = \
src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \
src/po/vim.desktop.in \
src/po/gvim.desktop.in \
src/po/sjiscorr.c \
src/po/*.po \

View File

@@ -43,13 +43,18 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
@if test "$@" = "test"; then \
$(MAKE) indenttest; \
fi
@# When the target is "clean" also clean for the indent tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
cd runtime/indent && \
$(MAKE) clean; \
fi
# Executable used for running the indent tests.
VIM_FOR_INDENTTEST = ../../src/vim
indenttest:
cd runtime/indent && \
$(MAKE) clean VIM="$(VIM_FOR_INDENTTEST)" && \
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"

View File

@@ -1,12 +1,12 @@
![Vim Logo](https://github.com/vim/vim/blob/master/runtime/vimlogo.gif)
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/vim/vim/badge.svg?branch=master)](https://coveralls.io/github/vim/vim?branch=master)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
[![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp)
[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)
[![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim)
## What is Vim? ##

View File

@@ -19,7 +19,7 @@ before_build:
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
build_script:
- src/appveyor.bat
- ci/appveyor.bat
test_script:
- cd src/testdir

View File

@@ -1,2 +0,0 @@
For information about installation of Farsi fonts and Vim usage in Farsi mode,
refer to the Farsi help file by typing ":help farsi" in Vim.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -322,6 +322,9 @@ Section "$(str_section_exe)" id_section_exe
SetOutPath $0
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
File ${VIMSRC}\vim${BIT}.dll
!endif
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File ${VIMSRC}\vimrun.exe
@@ -354,40 +357,10 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMRT}\indent\*.*
SetOutPath $0\macros
File ${VIMRT}\macros\*.*
SetOutPath $0\macros\hanoi
File ${VIMRT}\macros\hanoi\*.*
SetOutPath $0\macros\life
File ${VIMRT}\macros\life\*.*
SetOutPath $0\macros\maze
File ${VIMRT}\macros\maze\*.*
SetOutPath $0\macros\urm
File ${VIMRT}\macros\urm\*.*
File /r ${VIMRT}\macros\*.*
SetOutPath $0\pack\dist\opt\dvorak\dvorak
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
SetOutPath $0\pack\dist\opt\dvorak\plugin
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
SetOutPath $0\pack\dist\opt\editexisting\plugin
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
SetOutPath $0\pack\dist\opt\justify\plugin
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
SetOutPath $0\pack\dist\opt\matchit\doc
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
SetOutPath $0\pack\dist\opt\matchit\plugin
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
SetOutPath $0\pack\dist\opt\shellmenu\plugin
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
SetOutPath $0\pack\dist\opt\swapmouse\plugin
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
SetOutPath $0\pack\dist\opt\termdebug\plugin
File ${VIMRT}\pack\dist\opt\termdebug\plugin\*.*
SetOutPath $0\pack
File /r ${VIMRT}\pack\*.*
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*
@@ -1126,7 +1099,9 @@ Section "un.$(str_unsection_rootdir)" id_unsection_rootdir
Call un.GetParent
Pop $0
Delete $0\_vimrc
${IfNot} ${Silent}
Delete $0\_vimrc
${Endif}
RMDir $0
SectionEnd

View File

@@ -74,7 +74,7 @@ LangString str_group_plugin ${LANG_DANISH} "Opret plugin-mapper"
LangString str_desc_plugin ${LANG_DANISH} "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
LangString str_section_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME-mappen."
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
@@ -92,9 +92,9 @@ LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/
LangString str_desc_rm_exe ${LANG_DANISH} "Fjern alle Vim-eksekverbare- og afviklingsfiler."
LangString str_ungroup_plugin ${LANG_DANISH} "Fjern plugin-mapper"
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne hvis de er tomme."
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
LangString str_unsection_plugin_home ${LANG_DANISH} "Privat"
LangString str_unsection_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_rm_plugin_home ${LANG_DANISH} "Fjern plugin-mapperne fra HOME-mappen."
LangString str_unsection_plugin_vim ${LANG_DANISH} "Delte"
@@ -164,9 +164,9 @@ LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringe
LangString str_msg_compat_all ${LANG_DANISH} "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
LangString str_msg_keymap_title ${LANG_DANISH} " Tilknytninger "
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
LangString str_msg_keymap_default ${LANG_DANISH} "Gentilknyt ikke taster (standard)"
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster til Windows"
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster"
LangString str_msg_mouse_title ${LANG_DANISH} " Mus "
LangString str_msg_mouse_desc ${LANG_DANISH} "&Opførsel af højre og venstre knapper"

View File

@@ -1,7 +1,7 @@
" Vim functions for file type detection
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 18
" Last Change: 2019 Mar 08
" These functions are moved here from runtime/filetype.vim to make startup
" faster.
@@ -197,7 +197,7 @@ func dist#ft#FTe()
exe 'setf ' . g:filetype_euphoria
else
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
@@ -211,7 +211,7 @@ endfunc
" Distinguish between HTML, XHTML and Django
func dist#ft#FThtml()
let n = 1
while n < 10 && n < line("$")
while n < 10 && n <= line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
@@ -222,13 +222,13 @@ func dist#ft#FThtml()
endif
let n = n + 1
endwhile
setf html
setf FALLBACK html
endfunc
" Distinguish between standard IDL and MS-IDL
func dist#ft#FTidl()
let n = 1
while n < 50 && n < line("$")
while n < 50 && n <= line("$")
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
setf msidl
return
@@ -699,7 +699,7 @@ endfunc
func dist#ft#FTxml()
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
let line = getline(n)
" DocBook 4 or DocBook 5.
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
@@ -725,7 +725,7 @@ endfunc
func dist#ft#FTy()
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
let line = getline(n)
if line =~ '^\s*%'
setf yacc

View File

@@ -1,35 +1,25 @@
" Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Aug 30
" Last Change: 2019 Jan 27
" Define the string to use for items that are present both in Edit, Popup and
" Toolbar menu. Also used in mswin.vim and macmap.vim.
" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature. They are pasted as if they
" were characterwise instead. Add to that some tricks to leave the cursor in
" the right position, also for "gi".
if has("virtualedit")
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
func! paste#Paste()
let ove = &ve
set ve=all
normal! `^
if @+ != ''
normal! "+gP
endif
let c = col(".")
normal! i
if col(".") < c " compensate for i<ESC> moving the cursor left
normal! l
endif
let &ve = ove
endfunc
else
let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
endif
func! paste#Paste()
let ove = &ve
set ve=all
normal! `^
if @+ != ''
normal! "+gP
endif
let c = col(".")
normal! i
if col(".") < c " compensate for i<ESC> moving the cursor left
normal! l
endif
let &ve = ove
endfunc

View File

@@ -2,7 +2,7 @@
:" information about the environment of a possible bug in Vim.
:"
:" Maintainer: Bram Moolenaar <Bram@vim.org>
:" Last change: 2005 Jun 12
:" Last change: 2019 Jan 27
:"
:" To use inside Vim:
:" :so $VIMRUNTIME/bugreport.vim
@@ -54,9 +54,7 @@
:endif
:set all
:set termcap
:if has("autocmd")
: au
:endif
:au
:if 1
: echo "--- Normal/Visual mode mappings ---"
:endif

View File

@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2017 Jun 13
" Last change: 2019 Feb 18
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -90,8 +90,8 @@ if &t_Co > 2 || has("gui_running")
let c_comment_strings=1
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Only do this part when Vim was compiled with the +eval feature.
if 1
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
@@ -116,7 +116,7 @@ if has("autocmd")
augroup END
endif " has("autocmd")
endif
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jan 19
*autocmd.txt* For Vim version 8.1. Last change: 2019 Apr 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -52,7 +52,7 @@ effects. Be careful not to destroy your text.
2. Defining autocommands *autocmd-define*
*:au* *:autocmd*
:au[tocmd] [group] {event} {pat} [nested] {cmd}
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat} |autocmd-patterns|.
@@ -60,7 +60,13 @@ effects. Be careful not to destroy your text.
:autocmd and won't start a comment.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
they were given.
See |autocmd-nested| for [++nested]. "nested"
(without the ++) can also be used, for backwards
compatibility.
*autocmd-once*
If [++once] is supplied the command is executed once,
then removed ("one shot").
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@@ -128,10 +134,11 @@ prompt. When one command outputs two messages this can happen anyway.
==============================================================================
3. Removing autocommands *autocmd-remove*
:au[tocmd]! [group] {event} {pat} [nested] {cmd}
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
Remove all autocommands associated with {event} and
{pat}, and add the command {cmd}. See
|autocmd-nested| for [nested].
{pat}, and add the command {cmd}.
See |autocmd-once| for [++once].
See |autocmd-nested| for [++nested].
:au[tocmd]! [group] {event} {pat}
Remove all autocommands associated with {event} and
@@ -360,6 +367,7 @@ Name triggered by ~
|SessionLoadPost| after loading a session file
|MenuPopup| just before showing the popup menu
|CompleteChanged| after Insert mode completion menu changed
|CompleteDone| after Insert mode completion is done
|User| to be used in combination with ":doautocmd"
@@ -572,7 +580,22 @@ 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*
After each time the Insert mode completion
menu changed. Not fired on popup menu hide,
use |CompleteDone| for that. Never triggered
recursively.
Sets these |v:event| keys:
completed_item See |complete-items|.
height nr of items visible
width screen cells
row top screen row
col leftmost screen column
size total nr of items
scrollbar TRUE if visible
It is not allowed to change the text |textlock|.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning
@@ -621,6 +644,8 @@ CursorMoved After the cursor was moved in Normal or Visual
Not triggered when there is typeahead or when
an operator is pending.
For an example see |match-parens|.
Note: This can not be skipped with
`:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
@@ -665,13 +690,14 @@ DiffUpdated After diffs have been updated. Depending on
change or when doing |:diffupdate|.
*DirChanged*
DirChanged The working directory has changed in response
to the |:cd| or |:lcd| commands, or as a
result of the 'autochdir' option.
to the |:cd| or |:tcd| or |:lcd| commands, or
as a result of the 'autochdir' option.
The pattern can be:
"window" to trigger on `:lcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
"window" to trigger on `:lcd`
"tabpage" to trigger on `:tcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
<afile> is set to the new directory name.
*ExitPre*
ExitPre When using `:quit`, `:wq` in a way it makes
@@ -870,7 +896,6 @@ OptionSet After setting an option. The pattern is
When using |:set| in the autocommand the event
is not triggered again.
*QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
@@ -1024,6 +1049,8 @@ TextChanged After a change was made to the text in the
was defined).
Not triggered when there is typeahead or when
an operator is pending.
Note: This can not be skipped with
`:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
@@ -1465,11 +1492,11 @@ If you want the buffer to be unmodified after changing it, reset the
instead of ":q!".
*autocmd-nested* *E218*
By default, autocommands do not nest. If you use ":e" or ":w" in an
autocommand, Vim does not execute the BufRead and BufWrite autocommands for
By default, autocommands do not nest. For example, if you use ":e" or ":w" in
an autocommand, Vim does not execute the BufRead and BufWrite autocommands for
those commands. If you do want this, use the "nested" flag for those commands
in which you want nesting. For example: >
:autocmd FileChangedShell *.c nested e!
:autocmd FileChangedShell *.c ++nested e!
The nesting is limited to 10 levels to get out of recursive loops.
It's possible to use the ":au" command in an autocommand. This can be a
@@ -1612,5 +1639,8 @@ following command. Example: >
This will write the file without triggering the autocommands defined by the
gzip plugin.
Note that some autocommands are not triggered right away, but only later.
This specifically applies to |CursorMoved| and |TextChanged|.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2018 Dec 14
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -640,11 +640,11 @@ For other systems the tmpnam() library function is used.
For the {pattern} see |pattern|.
{string} can be a literal string, or something
special; see |sub-replace-special|.
*E939*
When [range] and [count] are omitted, replace in the
current line only. When [count] is given, replace in
[count] lines, starting with the last line in [range].
When [range] is omitted start in the current line.
*E939*
[count] must be a positive number. Also see
|cmdline-ranges|.

View File

@@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
*channel.txt* For Vim version 8.1. Last change: 2019 Mar 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -308,9 +308,10 @@ higher.
Command "redraw" ~
The other commands do not update the screen, so that you can send a sequence
of commands without the cursor moving around. You must end with the "redraw"
command to show any changed text and show the cursor where it belongs.
The other commands do not explicitly update the screen, so that you can send a
sequence of commands without the cursor moving around. A redraw can happen as
a side effect of some commands. You must end with the "redraw" command to
show any changed text and show the cursor where it belongs.
The argument is normally an empty string:
["redraw", ""] ~

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.1. Last change: 2018 May 02
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -355,6 +355,24 @@ OK: if (cond)
cmd;
}
When a block has one line the braces can be left out. When an if/else has
braces on one block, it usually looks better when the other block also has
braces:
OK: if (cond)
cmd;
else
cmd;
OK: if (cond)
{
cmd;
}
else
{
cmd;
cmd;
}
Use ANSI (new style) function declarations with the return type on a separate
indented line.
@@ -367,10 +385,10 @@ OK: /*
*/
int
function_name(
int arg1, /* short comment about arg1 */
int arg2) /* short comment about arg2 */
int arg1, // short comment about arg1
int arg2) // short comment about arg2
{
int local; /* comment about local */
int local; // comment about local
local = arg1 * arg2;

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
*diff.txt* For Vim version 8.1. Last change: 2019 Feb 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -179,8 +179,8 @@ loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
between the current buffer and the file it was loaded from.
(this is in |defaults.vim|). Use ":DiffOrig" to see the differences between
the current buffer and the file it was loaded from.
A buffer that is unloaded cannot be used for the diff. But it does work for
hidden buffers. You can use ":hide" to close a window without unloading the

View File

@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.1. Last change: 2018 Dec 14
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,18 +59,9 @@ conversion to be available, it might fail. For the NUL character you will see
"10". That's because NUL characters are internally represented with a NL
character. When you write the file it will become a NUL character.
When Vim was compiled without the |+multi_byte| feature, you need to specify
the character in the encoding given with 'encoding'. You might want to use
something like this: >
if has("multi_byte")
digraph oe 339
elseif &encoding == "iso-8859-15"
digraph oe 189
endif
This defines the "oe" digraph for a character that is number 339 in Unicode
and 189 in latin9 (iso-8859-15).
Example: >
digraph oe 339
This defines the "oe" digraph for a character that is number 339 in Unicode.
==============================================================================
2. Using digraphs *digraphs-use*
@@ -164,8 +155,7 @@ a standard meaning:
Example: a: is ä and o: is ö
These are the RFC1345 digraphs for the one-byte characters. See the output of
":digraphs" for the others. The characters above 255 are only available when
Vim was compiled with the |+multi_byte| feature.
":digraphs" for the others.
EURO

View File

@@ -1304,9 +1304,10 @@ use has("browsefilter"): >
==============================================================================
7. The current directory *current-directory*
You may use the |:cd| and |:lcd| commands to change to another directory, so
you will not have to type that directory name in front of the file names. It
also makes a difference for executing external commands, e.g. ":!ls".
You can use the |:cd|, |:tcd| and |:lcd| commands to change to another
directory, so you will not have to type that directory name in front of the
file names. It also makes a difference for executing external commands, e.g.
":!ls".
Changing directory fails when the current buffer is modified, the '.' flag is
present in 'cpoptions' and "!" is not used in the command.
@@ -1334,6 +1335,17 @@ present in 'cpoptions' and "!" is not used in the command.
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
*:tcd*
:tcd[!] {path} Like |:cd|, but only set the directory for the current
tab. The current window will also use this directory.
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
{not in Vi}
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|. {not in Vi}
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
@@ -1348,17 +1360,26 @@ present in 'cpoptions' and "!" is not used in the command.
:pw[d] Print the current directory name. {Vi: no pwd}
Also see |getcwd()|.
So long as no |:lcd| command has been used, all windows share the same current
directory. Using a command to jump to another window doesn't change anything
for the current directory.
So long as no |:lcd| or |:tcd| command has been used, all windows share the
same current directory. Using a command to jump to another window doesn't
change anything for the current directory.
When a |:lcd| command has been used for a window, the specified directory
becomes the current directory for that window. Windows where the |:lcd|
command has not been used stick to the global current directory. When jumping
to another window the current directory will become the last specified local
current directory. If none was specified, the global current directory is
used.
When a |:cd| command is used, the current window will lose his local current
directory and will use the global current directory from now on.
command has not been used stick to the global or tab-local current directory.
When jumping to another window the current directory will become the last
specified local current directory. If none was specified, the global or
tab-local current directory is used.
When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory will become the last specified local
directory for that tab page. If the current tab has no local current directory
the global current directory is used.
When a |:cd| command is used, the current window and tab page will lose the
local current directory and will use the global current directory from now on.
After using |:cd| the full path name will be used for reading and writing
files. On some networked file systems this may cause problems. The result of

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@@ -9,261 +9,12 @@ Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
{Vi does not have any of these commands}
*E27*
In order to use right-to-left and Farsi mapping support, it is necessary to
compile Vim with the |+farsi| feature.
Farsi support has been removed in patch 8.1.0932. At that time it was
outdated and unused.
These functions have been made by Mortaza G. Shiran <shiran@jps.net>
If you would like to bring Farsi support back, please have a look at the old
Farsi code, as it was present at the 8.1 release. It should be merged with
Arabic support using the Unicode character set.
Introduction
------------
In right-to-left oriented files the characters appear on the screen from right
to left. This kind of file is most useful when writing Farsi documents,
composing faxes or writing Farsi memos.
The commands, prompts and help files are not in Farsi, therefore the user
interface remains the standard Vi interface.
Highlights
----------
o Editing left-to-right files as in the original Vim, no change.
o Viewing and editing files in right-to-left windows. File orientation is
per window, so it is possible to view the same file in right-to-left and
left-to-right modes, simultaneously.
o Compatibility to the original Vim. Almost all features work in
right-to-left mode (see bugs below).
o Changing keyboard mapping and reverse insert modes using a single
command.
o Backing from reverse insert mode to the correct place in the file
(if possible).
o While in Farsi mode, numbers are entered from left to right. Upon entering
a none number character, that character will be inserted just into the
left of the last number.
o No special terminal with right-to-left capabilities is required. The
right-to-left changes are completely hardware independent. Only
Farsi font is necessary.
o Farsi keymapping on the command line in reverse insert mode.
o Toggling between left-to-right and right-to-left via F8 function key.
o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
function key. Since this makes sense only for the text written in
right-to-left mode, this function is also supported only in right-to-left
mode.
Farsi Fonts *farsi-fonts*
-----------
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
directory:
+ far-a01.pcf X Windows fonts for Unix including Linux systems
+ far-a01.bf X Windows fonts for SunOS
+ far-a01.f16 a screen fonts for Unix including Linux systems
+ far-a01.fon a monospaced fonts for Windows NT/95/98
+ far-a01.com a screen fonts for DOS
Font Installation
-----------------
o Installation of fonts for MS Window systems (NT/95/98)
From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
menu item select 'Install New Fonts ...'. Browse and select the
'far-a01.fon', then follow the installation guide.
NOTE: several people have reported that this does not work. The solution
is unknown.
o Installation of fonts for X Window systems (Unix/Linux)
Depending on your system, copy far-a01.pcf.Z or far-a01.pcf.gz into a
directory of your choice. Change to the directory containing the Farsi
fonts and execute the following commands:
> mkfontdir
> xset +fp path_name_of_farsi_fonts_directory
o Installation of fonts for X Window systems (SunOS)
Copy far-a01.bf font into a directory of your choice.
Change to the directory containing the far-a01.fb fonts and
execute the following commands:
> fldfamily
> xset +fp path_name_of_fonts_directory
o Installation of ASCII screen fonts (Unix/Linux)
For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts
directory and execute the setfont program as "setfont far-a01.f16". For
other systems (e.g. SCO Unix), please refer to the fonts installation
section of your system administration manuals.
o Installation of ASCII screen fonts (DOS)
After system power on, prior to the first use of Vim, upload the Farsi
fonts by executing the far-a01.com font uploading program.
Usage
-----
Prior to starting Vim, the environment in which Vim can run in Farsi mode,
must be set. In addition to installation of Farsi fonts, following points
refer to some of the system environments, which you may need to set:
Key code mapping, loading graphic card in ASCII screen mode, setting the IO
driver in 8 bit clean mode ... .
o Setting the Farsi fonts
+ For Vim GUI set the 'guifont' to far-a01. This is done by entering
':set guifont=far-a01' in the Vim window.
You can have 'guifont' set to far-a01 by Vim during the Vim startup
by appending the ':set guifont=far-a01' into your .vimrc file
(in case of NT/95/98 platforms _vimrc).
Under the X Window environment, you can also start Vim with the
'-fn far-a01' option.
+ For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
kterm -fn far-a01). Then start Vim inside the kterm.
+ For Vim under DOS, prior to the first usage of Vim, upload the Farsi
fonts by executing the far-a01.com fonts uploading program.
o Farsi Keymapping Activation
To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
This is done by entering ':set akm' or ':set fk' in the Vim window.
You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms.
To turn off the Farsi keymapping as a default second language keymapping,
reset the 'altkeymap' by entering ':set noakm'.
o right-to-left Farsi Mode
By default Vim starts in Left-to-right mode. Following are ways to change
the window orientation:
+ Start Vim with the -F option (e.g. vim -F ...).
+ Use the F8 function key to toggle between left-to-right and right-to-left.
+ While in Left-to-right mode, enter 'set rl' in the command line ('rl' is
the abbreviation for rightleft).
+ Put the 'set rl' line in your '.vimrc' file to start Vim in
right-to-left mode permanently.
Encoding
--------
The letter encoding used is the Vim extended ISIR-3342 standard with a built
in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
For document portability reasons, the letter encoding is kept the same across
different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...).
o Keyboard
+ CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin
mode as follows:
+ CTRL-_ moves the cursor to the end of the typed text in edit mode.
+ CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
Latin. The Farsi text is then entered in reverse insert mode.
+ F8 - Toggles between left-to-right and right-to-left.
+ F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
ISIR-3342 (supported only in right-to-left mode).
+ Keyboard mapping is based on the Iranian ISIRI-2901 standard.
Following table shows the keyboard mapping while Farsi(akm) mode set:
-------------------------------------
` 1 2 3 4 5 6 7 8 9 0 - =
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
~ ! @ # $ % ^ & * ( ) _ +
~ <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
q w e r t z u i o p [ ]
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
Q W E R T Z U I O P { }
<09> <20> <20> <20> <20> <20> <20> <20> [ ] { }
-------------------------------------
a s d f g h j k l ; ' \
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
A S D F G H J K L : " |
<09> <20><> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
< y x c v b n m , . /
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
> Y X C V B N M < > ?
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
Note:
<09> stands for Farsi PSP (break without space)
<09> stands for Farsi PCN (for HAMZE attribute)
Restrictions
------------
o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
supported.
o If you change the character mapping between Latin/Farsi, the redo buffer
will be reset (emptied). That is, redo is valid and will function (using
'.') only within the mode you are in.
o While numbers are entered in Farsi mode, the redo buffer will be reset
(emptied). That is, you cannot redo the last changes (using '.') after
entering numbers.
o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
o While in right-to-left mode, the search on 'Latin' pattern does not work,
except if you enter the Latin search pattern in reverse.
o In command mode there is no support for entering numbers from left
to right and also for the sake of flexibility the keymapping logic is
restricted.
o Under the X Window environment, if you want to run Vim within a xterm
terminal emulator and Farsi mode set, you need to have an ANSI compatible
xterm terminal emulator. This is because the letter codes above 128 decimal
have certain meanings in the standard xterm terminal emulator.
Note: Under X Window environment, Vim GUI works fine in Farsi mode.
This eliminates the need of any xterm terminal emulator.
Bugs
----
While in insert/replace and Farsi mode set, if you repeatedly change the
cursor position (via cursor movement) and enter new text and then try to undo
the last change, the undo will lag one change behind. But as you continue to
undo, you will reach the original line of text. You can also use U to undo all
changes made in the current line.
For more information about the bugs refer to rileft.txt.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -663,6 +663,15 @@ your |vimrc|: >
let rrst_dynamic_comments = 0
RESTRUCTUREDTEXT *ft-rst-plugin*
The following formatting setting are optionally available: >
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
To enable this behavior, set the following variable in your vimrc: >
let g:rst_style = 1
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.1. Last change: 2019 Jan 06
*gui.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11,8 +11,9 @@ Vim's Graphical User Interface *gui* *GUI*
3. Mouse Control |gui-mouse|
4. Making GUI Selections |gui-selections|
5. Menus |menus|
6. Extras |gui-extras|
7. Shell Commands |gui-shell|
6. Font |gui-font|
7. Extras |gui-extras|
8. Shell Commands |gui-shell|
Other GUI documentation:
|gui_x11.txt| For specific items of the X11 GUI.
@@ -1037,7 +1038,139 @@ make a selection.
Note that a menu that starts with ']' will not be displayed.
==============================================================================
6. Extras *gui-extras*
6. Font
This section describes font related options.
GUIFONT *gui-font*
'guifont' is the option that tells Vim what font to use. In its simplest form
the value is just one font name. It can also be a list of font names
separated with commas. The first valid font is used. When no valid font can
be found you will get an error message.
On systems where 'guifontset' is supported (X11) and 'guifontset' is not
empty, then 'guifont' is not used. See |xfontset|.
Note: As to the GTK GUIs, no error is given against any invalid names, and the
first element of the list is always picked up and made use of. This is
because, instead of identifying a given name with a font, the GTK GUIs use it
to construct a pattern and try to look up a font which best matches the
pattern among available fonts, and this way, the matching never fails. An
invalid name doesn't matter because a number of font properties other than
name will do to get the matching done.
Spaces after a comma are ignored. To include a comma in a font name precede
it with a backslash. Setting an option requires an extra backslash before a
space and a backslash. See also |option-backslash|. For example: >
:set guifont=Screen15,\ 7x13,font\\,with\\,commas
will make Vim try to use the font "Screen15" first, and if it fails it will
try to use "7x13" and then "font,with,commas" instead.
If none of the fonts can be loaded, Vim will keep the current setting. If an
empty font list is given, Vim will try using other resource settings (for X,
it will use the Vim.font resource), and finally it will try some builtin
default which should always be there ("7x13" in the case of X). The font
names given should be "normal" fonts. Vim will try to find the related bold
and italic fonts.
For Win32, GTK, Motif, Mac OS and Photon: >
:set guifont=*
will bring up a font requester, where you can pick the font you want.
The font name depends on the GUI used. See |setting-guifont| for a way to set
'guifont' for various systems.
For the GTK+ 2 and 3 GUIs, the font name looks like this: >
:set guifont=Andale\ Mono\ 11
That's all. XLFDs are not used. For Chinese this is reported to work well: >
if has("gui_gtk2")
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
endif
<
(Replace gui_gtk2 with gui_gtk3 for the GTK+ 3 GUI)
For Mac OSX you can use something like this: >
:set guifont=Monaco:h10
Also see 'macatsui', it can help fix display problems.
*E236*
Note that the fonts must be mono-spaced (all characters have the same width).
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
To preview a font on X11, you might be able to use the "xfontsel" program.
The "xlsfonts" program gives a list of all available fonts.
For the Win32 GUI *E244* *E245*
- Takes these options in the font name (use a ':' to separate the options):
hXX - height is XX (points, can be floating-point)
wXX - width is XX (points, can be floating-point)
WXX - weight is XX (see Note on Weights below)
b - bold. This is equivalent to setting the weight to 700.
i - italic
u - underline
s - strikeout
cXX - character set XX. Valid charsets are: ANSI, ARABIC, BALTIC,
CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK, HANGEUL,
HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS, SYMBOL, THAI,
TURKISH, VIETNAMESE ANSI and BALTIC. Normally you would use
"cDEFAULT".
qXX - quality XX. Valid quality names are: PROOF, DRAFT, ANTIALIASED,
NONANTIALIASED, CLEARTYPE, DEFAULT. Normally you would use
"qDEFAULT".
Some quality values are not supported in legacy OSs.
- A '_' can be used in the place of a space, so you don't need to use
backslashes to escape the spaces.
Examples: >
:set guifont=courier_new:h12:w5:b:cRUSSIAN
:set guifont=Andale_Mono:h7.5:w4.5
See also |font-sizes|.
Note on Weights: Fonts often come with a variety of weights. "Normal" weights
in Windows have a value of 400 and, left unspecified, this is the value that
will be used when attempting to find fonts. Windows will often match fonts
based on their weight with higher priority than the font name which means a
Book or Medium variant of a font might be used despite specifying a Light or
ExtraLight variant. If you are experiencing heavier weight substitution, then
explicitly setting a lower weight value may mitigate against this unwanted
substitution.
GUIFONTWIDE *gui-fontwide*
When not empty, 'guifontwide' specifies a comma-separated list of fonts to be
used for double-width characters. The first font that can be loaded is
used.
Note: The size of these fonts must be exactly twice as wide as the one
specified with 'guifont' and the same height. If there is a mismatch then
the text will not be drawn correctly.
All GUI versions but GTK+:
'guifontwide' is only used when 'encoding' is set to "utf-8" and
'guifontset' is empty or invalid.
When 'guifont' is set and a valid font is found in it and
'guifontwide' is empty Vim will attempt to find a matching
double-width font and set 'guifontwide' to it.
GTK+ GUI only: *guifontwide_gtk*
If set and valid, 'guifontwide' is always used for double width
characters, even if 'encoding' is not set to "utf-8".
Vim does not attempt to find an appropriate value for 'guifontwide'
automatically. If 'guifontwide' is empty Pango/Xft will choose the
font for characters not available in 'guifont'. Thus you do not need
to set 'guifontwide' at all unless you want to override the choice
made by Pango/Xft.
Windows +multibyte only: *guifontwide_win_mbyte*
If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
==============================================================================
7. Extras *gui-extras*
This section describes other features which are related to the GUI.
@@ -1081,7 +1214,7 @@ A recommended Japanese font is MS Mincho. You can find info here:
http://www.lexikan.com/mincho.htm
==============================================================================
7. Shell Commands *gui-shell*
8. Shell Commands *gui-shell*
For the X11 GUI the external commands are executed inside the gvim window.
See |gui-pty|.

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
*gui_w32.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -31,6 +31,17 @@ The GUI will always run in the Windows subsystem. Mostly shells automatically
return with a command prompt after starting gvim. If not, you should use the
"start" command: >
start gvim [options] file ..
< *E988*
The console version with the |-g| option may also start the GUI by executing
gvim.exe: >
vim -g [options] file ..
To make this work, gvim.exe must exist in the same directory as the vim.exe,
and this feature must be enabled at compile time.
One may also use `:gui` from the console version. However, this is an
experimental feature and this feature must be enabled at compile time.
It uses a session file to recreate the current state of the console Vim in the
GUI Vim.
Note: All fonts (bold, italic) must be of the same size!!! If you don't do
this, text will disappear or mess up the display. Vim does not check the font

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
*gui_x11.txt* For Vim version 8.1. Last change: 2019 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -48,7 +48,7 @@ that waits for gvim to exit), start gvim with "gvim -f", "vim -gf" or use
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
color.
When using "gvim -f" and then ":gui", Vim will run in the foreground. The
When using "vim -f" and then ":gui", Vim will run in the foreground. The
"-f" argument will be remembered. To force running Vim in the background use
":gui -b".

View File

@@ -10,11 +10,12 @@ The Lua Interface to Vim *lua* *Lua*
2. The vim module |lua-vim|
3. List userdata |lua-list|
4. Dict userdata |lua-dict|
5. Funcref userdata |lua-funcref|
6. Buffer userdata |lua-buffer|
7. Window userdata |lua-window|
8. The luaeval function |lua-luaeval|
9. Dynamic loading |lua-dynamic|
5. Blob userdata |lua-blob|
6. Funcref userdata |lua-funcref|
7. Buffer userdata |lua-buffer|
8. Window userdata |lua-window|
9. luaeval() Vim function |lua-luaeval|
10. Dynamic loading |lua-dynamic|
{Vi does not have any of these commands}
@@ -140,6 +141,14 @@ Vim evaluation and command execution, and others.
:echo luaeval('vim.dict(t)')
:" {'1': 3.141593, '2': v:false,
:" 'say': 'hi'}
<
vim.blob([arg]) Returns an empty blob or, if "arg" is a Lua
string, returns a blob b such that b is
equivalent to "arg" as a byte string.
Examples: >
:lua s = "12ab\x00\x80\xfe\xff"
:echo luaeval('vim.blob(s)')
:" 0z31326162.0080FEFF
<
vim.funcref({name}) Returns a Funcref to function {name} (see
|Funcref|). It is equivalent to Vim's
@@ -260,7 +269,34 @@ Examples:
<
==============================================================================
5. Funcref userdata *lua-funcref*
5. Blob userdata *lua-blob*
Blob userdata represent vim blobs. A blob "b" has the following properties:
Properties
----------
o "#b" is the length of blob "b", equivalent to "len(b)" in Vim.
o "b[k]" returns the k-th item in "b"; "b" is zero-indexed, as in Vim.
To modify the k-th item, simply do "b[k] = number"; in particular,
"b[#b] = number" can append a byte to tail.
Methods
-------
o "b:add(bytes)" appends "bytes" to the end of "b".
Examples:
>
:let b = 0z001122
:lua b = vim.eval('b') -- same 'b'
:lua print(b, b[0], #b)
:lua b[1] = 32
:lua b[#b] = 0x33 -- append a byte to tail
:lua b:add("\x80\x81\xfe\xff")
:echo b
<
==============================================================================
6. Funcref userdata *lua-funcref*
Funcref userdata represent funcref variables in Vim. Funcrefs that were
defined with a "dict" attribute need to be obtained as a dictionary key
@@ -293,7 +329,7 @@ Examples:
<
==============================================================================
6. Buffer userdata *lua-buffer*
7. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
properties and methods:
@@ -345,7 +381,7 @@ Examples:
<
==============================================================================
7. Window userdata *lua-window*
8. Window userdata *lua-window*
Window objects represent vim windows. A window userdata "w" has the following
properties and methods:
@@ -377,7 +413,7 @@ Examples:
<
==============================================================================
8. The luaeval function *lua-luaeval* *lua-eval*
9. luaeval() Vim function *lua-luaeval* *lua-eval*
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and
@@ -390,10 +426,10 @@ returns the result of the expression. It is semantically equivalent in Lua to:
end
<
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
list, dict, and funcref userdata are converted to their Vim respective types,
while Lua booleans are converted to numbers. An error is thrown if conversion
of any of the remaining Lua types, including userdata other than lists, dicts,
and funcrefs, is attempted.
list, dict, blob, and funcref userdata are converted to their Vim respective
types, while Lua booleans are converted to numbers. An error is thrown if
conversion of any of the remaining Lua types, including userdata other than
lists, dicts, blobs, and funcrefs, is attempted.
Examples: >
@@ -408,7 +444,7 @@ Examples: >
==============================================================================
9. Dynamic loading *lua-dynamic*
10. Dynamic loading *lua-dynamic*
On MS-Windows and Unix the Lua library can be loaded dynamically. The
|:version| output then includes |+lua/dyn|.

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jan 29
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -192,7 +192,7 @@ VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
and inserting line breaks.
*perl-Blob*
VIM::Blob({expr}) Return Blob literal string 0zXXXX from scalar value.
VIM::Blob({expr}) Return |Blob| literal string 0zXXXX from scalar value.
*perl-SetHeight*
Window->SetHeight({height})

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jan 29
VIM REFERENCE MANUAL by Shugo Maeda
@@ -11,7 +11,8 @@ The Ruby Interface to Vim *ruby* *Ruby*
3. Vim::Buffer objects |ruby-buffer|
4. Vim::Window objects |ruby-window|
5. Global variables |ruby-globals|
6. Dynamic loading |ruby-dynamic|
6. rubyeval() Vim function |ruby-rubyeval|
7. Dynamic loading |ruby-dynamic|
{Vi does not have any of these commands}
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
@@ -112,7 +113,7 @@ Vim::message({msg})
*ruby-blob*
Vim::blob({arg})
Return Blob literal string from {arg}.
Return |Blob| literal string from {arg}.
*ruby-set_option*
Vim::set_option({arg})
@@ -198,7 +199,16 @@ $curwin The current window object.
$curbuf The current buffer object.
==============================================================================
6. Dynamic loading *ruby-dynamic*
6. rubyeval() Vim function *ruby-rubyeval*
To facilitate bi-directional interface, you can use |rubyeval()| function to
evaluate Ruby expressions and pass their values to Vim script.
The Ruby value "true", "false" and "nil" are converted to v:true, v:false and
v:null, respectively.
==============================================================================
7. Dynamic loading *ruby-dynamic*
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|:version| output then includes |+ruby/dyn|.

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
*indent.txt* For Vim version 8.1. Last change: 2019 Feb 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -60,12 +60,13 @@ typing certain characters or commands in certain contexts. Note that this not
only triggers C-indenting. When 'indentexpr' is not empty 'indentkeys' is
used instead. The format of 'cinkeys' and 'indentkeys' is equal.
The default is "0{,0},0),:,0#,!^F,o,O,e" which specifies that indenting occurs
as follows:
The default is "0{,0},0),0],:,0#,!^F,o,O,e" which specifies that indenting
occurs as follows:
"0{" if you type '{' as the first character in a line
"0}" if you type '}' as the first character in a line
"0)" if you type ')' as the first character in a line
"0]" if you type ']' as the first character in a line
":" if you type ':' after a label or case statement
"0#" if you type '#' as the first character in a line
"!^F" if you type CTRL-F (which is not inserted)
@@ -947,6 +948,11 @@ can sometimes be slow, thus it timeouts after 150 msec. If you notice the
indenting isn't correct, you can set a larger timeout in msec: >
let g:pyindent_searchpair_timeout = 500
If looking back for unclosed parenthesis is still too slow, especially during
a copy-paste operation, or if you don't need indenting inside multi-line
parentheses, you can completely disable this feature: >
let g:pyindent_disable_parentheses_indenting = 1
R *ft-r-indent*

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 8.1. Last change: 2019 Jan 17
*index.txt* For Vim version 8.1. Last change: 2019 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -17,9 +17,11 @@ to look for deleting something, use: "/delete".
2.3. Square bracket commands |[|
2.4. Commands starting with 'g' |g|
2.5. Commands starting with 'z' |z|
2.6. Operator-pending mode |operator-pending-index|
3. Visual mode |visual-index|
4. Command-line editing |ex-edit-index|
5. EX commands |ex-cmd-index|
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 built-in functions see |functions|.
@@ -166,6 +168,20 @@ commands in CTRL-X submode *i_CTRL-X_index*
|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|)
|complete_CTRL-E| CTRL-E stop completion and go back to original text
|complete_CTRL-Y| CTRL-Y accept selected match and stop completion
CTRL-L insert one character from the current match
<CR> insert currently selected match
<BS> delete one character and redo search
CTRL-H same as <BS>
<Up> select the previous match
<Down> select the next match
<PageUp> select a match several entries back
<PageDown> select a match several entries forward
other stop completion and insert the typed character
==============================================================================
2. Normal mode *normal-index*
@@ -528,10 +544,8 @@ tag command action in Normal mode ~
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|CTRL-W_quote| CTRL-W " terminal window: paste register
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
|CTRL-W_.| CTRL-W . terminal window: type CTRL-W
|CTRL-W_:| CTRL-W : same as |:|, edit a command line
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height & width
@@ -540,7 +554,6 @@ tag command action in Normal mode ~
|CTRL-W_J| CTRL-W J move current window to the very bottom
|CTRL-W_K| CTRL-W K move current window to the very top
|CTRL-W_L| CTRL-W L move current window to the far right
|CTRL-W_N| CTRL-W N terminal window: go to Terminal Normal mode
|CTRL-W_P| CTRL-W P go to preview window
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
@@ -570,6 +583,8 @@ tag command action in Normal mode ~
|CTRL-W_gF| CTRL-W g F edit file name under the cursor in a new
tab page and jump to the line number
following the file name.
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|CTRL-W_i| CTRL-W i split window and jump to declaration of
identifier under the cursor
@@ -854,6 +869,17 @@ tag char note action in Normal mode ~
|z<Left>| z<Left> same as "zh"
|z<Right>| z<Right> same as "zl"
==============================================================================
2.6 Operator-pending mode *operator-pending-index*
These can be used after an operator, but before a {motion} has been entered.
tag char action in Operator-pending mode ~
-----------------------------------------------------------------------
|o_v| v force operator to work characterwise
|o_V| V force operator to work linewise
|o_CTRL-V| CTRL-V force operator to work blockwise
==============================================================================
3. Visual mode *visual-index*
@@ -976,7 +1002,7 @@ Normal characters are inserted at the current cursor position.
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
tag command action in Command-line editing mode ~
tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
@@ -1016,10 +1042,11 @@ tag command action in Command-line editing mode ~
command-line from history.
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
control flow
|c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|c_CTRL-R| CTRL-R {regname}
insert the contents of a register or object
under the cursor as if typed
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {regname}
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
@@ -1066,16 +1093,37 @@ tag command action in Command-line editing mode ~
|c_<Insert>| <Insert> toggle insert/overstrike mode
|c_<LeftMouse>| <LeftMouse> cursor at mouse click
==============================================================================
5. Terminal-Job mode *terminal-job-index*
Most Normal mode commands except for window commands (|CTRL-W|) do not work in
a terminal window. Switch to Terminal-Normal mode to use them.
This assumes 'termwinkey' is not set.
tag char action in Terminal-Job mode ~
-----------------------------------------------------------------------
|t_CTRL-\_CTRL-N| CTRL-\ CTRL-N switch to Terminal-Normal mode
|t_CTRL-W_N| CTRL-W N switch to Terminal-Normal mode
|t_CTRL-W_:| CTRL-W : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|t_CTRL-W_gt| CTRL-W gt go to next tabpage, same as `gt`
|t_CTRL-W_gT| CTRL-W gT go to previous tabpage, same as `gT`
You found it, Arthur! *holy-grail* *:smile*
==============================================================================
5. EX commands *ex-cmd-index* *:index*
6. EX commands *ex-cmd-index* *:index*
This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
tag command action ~
tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
@@ -1499,7 +1547,8 @@ tag command action ~
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scriptversion| :scriptv[ersion] version of Vim script used
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
@@ -1574,6 +1623,8 @@ tag command action ~
|:tab| :tab create new tab when opening new window
|:tag| :ta[g] jump to tag
|:tags| :tags show the contents of the tag stack
|:tcd| :tcd change directory for tab page
|:tchdir| :tch[dir] change directory for tab page
|:tcl| :tc[l] execute Tcl command
|:tcldo| :tcld[o] execute Tcl command for each line
|:tclfile| :tclf[ile] execute Tcl script file

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.1. Last change: 2019 Jan 11
*insert.txt* For Vim version 8.1. Last change: 2019 Apr 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -379,8 +379,8 @@ CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
movement (but only if the cursor stays
within same the line)
movement, if the cursor stays within
same the line
-----------------------------------------------------------------------
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
@@ -642,6 +642,7 @@ and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is
not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
CTRL-N (next), and CTRL-P (previous).
To get the current completion information, |complete_info()| can be used.
Also see the 'infercase' option if you want to adjust the case of the match.
*complete_CTRL-E*
@@ -1078,7 +1079,8 @@ that contains the List. The Dict can have these items:
leading text is changed.
If you want to suppress the warning message for an empty result, return
v:none. This is useful to implement asynchronous completion with complete().
|v:none|. This is useful to implement asynchronous completion with
|complete()|.
Other items are ignored.
@@ -1103,6 +1105,9 @@ items:
icase when non-zero case is to be ignored when comparing
items to be equal; when omitted zero is used, thus
items that only differ in case are added
equal when non-zero, always treat this item to be equal when
comparing. Which means, "equal=1" disables filtering
of this item.
dup when non-zero this match will be added even when an
item with the same word is already present.
empty when non-zero this match will be added even when it is
@@ -1110,10 +1115,10 @@ items:
user_data custom data which is associated with the item and
available in |v:completed_item|
All of these except "icase", "dup" and "empty" must be a string. If an item
does not meet these requirements then an error message is given and further
items in the list are not used. You can mix string and Dictionary items in
the returned list.
All of these except "icase", "equal", "dup" and "empty" must be a string. If
an item does not meet these requirements then an error message is given and
further items in the list are not used. You can mix string and Dictionary
items in the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.1. Last change: 2018 Dec 18
*map.txt* For Vim version 8.1. Last change: 2019 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1193,9 +1193,10 @@ scripts.
:com[mand] *:com* *:command*
List all user-defined commands. When listing commands,
the characters in the first two columns are
the characters in the first columns are:
! Command has the -bang attribute
" Command has the -register attribute
| Command has the -bar attribute
b Command is local to current buffer
(see below for details on attributes)
The list can be filtered on command name with
@@ -1400,14 +1401,15 @@ It is possible that the special characters in the range like ., $ or % which
by default correspond to the current line, last line and the whole buffer,
relate to arguments, (loaded) buffers, windows or tab pages.
Possible values are:
-addr=lines Range of lines (this is the default)
-addr=arguments Range for arguments
-addr=buffers Range for buffers (also not loaded buffers)
-addr=loaded_buffers Range for loaded buffers
-addr=windows Range for windows
-addr=tabs Range for tab pages
-addr=other other kind of range
Possible values are (second column is the short name used in listing):
-addr=lines Range of lines (this is the default)
-addr=arguments arg Range for arguments
-addr=buffers buf Range for buffers (also not loaded buffers)
-addr=loaded_buffers load Range for loaded buffers
-addr=windows win Range for windows
-addr=tabs tab Range for tab pages
-addr=quickfix qf Range for quickfix entries
-addr=other ? other kind of range
Special cases ~

View File

@@ -14,9 +14,6 @@ For an introduction to the most common features, see |usr_45.txt| in the user
manual.
For changing the language of messages and menus see |mlang.txt|.
{not available when compiled without the |+multi_byte| feature}
1. Getting started |mbyte-first|
2. Locale |mbyte-locale|
3. Encoding |mbyte-encoding|
@@ -44,16 +41,6 @@ features. Unfortunately, every system has its own way to deal with multibyte
languages and it is quite complicated.
COMPILING
If you already have a compiled Vim program, check if the |+multi_byte| feature
is included. The |:version| command can be used for this.
If +multi_byte is not included, you should compile Vim with "normal", "big" or
"huge" features. You can further tune what features are included. See the
INSTALL files in the source directory.
LOCALE
First of all, you must make sure your current locale is set correctly. If
@@ -633,6 +620,21 @@ windows maintains a table of which groups of characters are required for a
locale. You have to specify all the fonts that a locale requires in the
'guifontset' option.
Setting the 'guifontset' option also means that all font names will be handled
as a fontset name. Also the ones used for the "font" argument of the
|:highlight| command.
Note the difference between 'guifont' and 'guifontset': In 'guifont'
the comma-separated names are alternative names, one of which will be
used. In 'guifontset' the whole string is one fontset name,
including the commas. It is not possible to specify alternative
fontset names.
This example works on many X11 systems: >
:set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-*
<
The fonts must match with the current locale. If fonts for the character sets
that the current locale uses are not included, setting 'guifontset' will fail.
NOTE: The fontset always uses the current locale, even though 'encoding' may
be set to use a different charset. In that situation you might want to use
'guifont' and 'guifontwide' instead of 'guifontset'.

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 8.1. Last change: 2018 Dec 30
*message.txt* For Vim version 8.1. Last change: 2019 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -703,11 +703,13 @@ Or use ":set nocp".
This happens when an Ex command with mandatory argument(s) was executed, but
no argument has been specified.
*E474* *E475* >
*E474* *E475* *E983* >
Invalid argument
Invalid argument: {arg}
Duplicate argument: {arg}
An Ex command has been executed, but an invalid argument has been specified.
An Ex command or function has been executed, but an invalid argument has been
specified.
*E488* >
Trailing characters

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 8.1. Last change: 2018 Dec 27
*motion.txt* For Vim version 8.1. Last change: 2019 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -320,7 +320,7 @@ _ <underscore> [count] - 1 lines downward, on the first non-blank
G Goto line [count], default last line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
G is a one of |jump-motions|.
G is one of the |jump-motions|.
*<C-End>*
<C-End> Goto line [count], default last line, on the last
@@ -1021,7 +1021,7 @@ These commands are not marks themselves, but jump to a mark:
A "jump" is a command that normally moves the cursor several lines away. If
you make the cursor "jump" the position of the cursor before the jump is
remembered. You can return to that position with the "''" and "``" command,
remembered. You can return to that position with the "''" and "``" commands,
unless the line containing that position was changed or deleted. The
following commands are "jump" commands: "'", "`", "G", "/", "?", "n", "N",
"%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and the

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 19
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 29
VIM REFERENCE MANUAL
@@ -105,7 +105,7 @@ You may want to use GUI with GTK icons, then you have to download and install
GTK for OpenVMS or at least runtime shareable images - LIBGTK from
polarhome.com
Post 7.2 Vim uses GTK2+ while the last GTK on OpenVMS is 1.2.10, therefore
the GTK build is no longer available.
the GTK build is no longer available.
For more advanced questions, please send your problem to Vim on VMS mailing
list <vim-vms@polarhome.com>
@@ -772,9 +772,9 @@ Version 8.1
Version 8.0
- solve the 100% cpu usage issue while waiting for a keystroke
- correct the VMS warnings and errors around handling the INFINITY (used in json.c)
- minor VMS port related changes
- correct the make_vms.mms file for 8.0
- fix [.TESTDIR]make_vms.mms for 8.0
- minor VMS port related changes
- correct the make_vms.mms file for 8.0
- fix [.TESTDIR]make_vms.mms for 8.0
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 8.1. Last change: 2018 Dec 26
*pattern.txt* For Vim version 8.1. Last change: 2019 Feb 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1118,6 +1118,9 @@ x A single character, with no special meaning, matches itself
*[:tab:]* [:tab:] the <Tab> character
*[:escape:]* [:escape:] the <Esc> character
*[:backspace:]* [:backspace:] the <BS> character
*[:ident:]* [:ident:] identifier character (same as "\i")
*[:keyword:]* [:keyword:] keyword character (same as "\k")
*[:fname:]* [:fname:] file name character (same as "\f")
The brackets in character class expressions are additional to the
brackets delimiting a collection. For example, the following is a
plausible pattern for a UNIX filename: "[-./[:alnum:]_~]\+" That is,
@@ -1132,7 +1135,7 @@ x A single character, with no special meaning, matches itself
The "Func" column shows what library function is used. The
implementation depends on the system. Otherwise:
(1) Uses islower() for ASCII and Vim builtin rules for other
characters when built with the |+multi_byte| feature.
characters.
(2) Uses Vim builtin rules
(3) As with (1) but using isupper()
*/[[=* *[==]*
@@ -1208,7 +1211,7 @@ x A single character, with no special meaning, matches itself
\%u20AC Matches the character specified with up to four hexadecimal
characters.
\%U1234abcd Matches the character specified with up to eight hexadecimal
characters.
characters, up to 0x7fffffff
==============================================================================
7. Ignoring case in a pattern */ignorecase*

View File

@@ -3504,7 +3504,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
@@ -3754,8 +3754,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

@@ -111,10 +111,9 @@ not recognized by Vim will just be converted to lower case and underscores
replaced with '-' signs.
If 'printencoding' is empty or Vim cannot find the file then it will use
'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
encoding) to find the print character encoding file. If Vim is unable to find
a character encoding file then it will use the "latin1" print character
encoding file.
'encoding' (if it is set an 8-bit encoding) to find the print character
encoding file. If Vim is unable to find a character encoding file then it
will use the "latin1" print character encoding file.
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
characters to the printing encoding for printing (if 'printencoding' is empty
@@ -255,9 +254,9 @@ possible. The following tables show the valid combinations:
Japanese JIS_C_1978 x x
JIS_X_1983 x x
JIS_X_1990 x x x
MSWINDOWS x
KANJITALK6 x
KANJITALK7 x
MSWINDOWS x
KANJITALK6 x
KANJITALK7 x
euc-kr cp949 ucs-2 utf-8 ~
Korean KS_X_1992 x

View File

@@ -496,6 +496,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
second quickfix window. If [height] is given the
existing window will be resized to it.
*quickfix-buffer*
The window will contain a special buffer, with
'buftype' equal to "quickfix". Don't change this!
The window will have the w:quickfix_title variable set
@@ -504,7 +505,11 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
status line if the value of 'statusline' is adjusted
properly. Whenever this buffer is modified by a
quickfix command or function, the |b:changedtick|
variable is incremented.
variable is incremented. You can get the number of
this buffer using the getqflist() and getloclist()
functions by passing the 'qfbufnr' item. For a
location list, this buffer is wiped out when the
location list is removed.
*:lop* *:lopen*
:lop[en] [height] Open a window to show the location list for the
@@ -670,12 +675,18 @@ using these functions are below:
" get the quickfix list window id
:echo getqflist({'winid' : 0}).winid
" get the quickfix list window buffer number
:echo getqflist({'qfbufnr' : 0}).qfbufnr
" get the context of the current location list
:echo getloclist(0, {'context' : 0}).context
" get the location list window id of the third window
:echo getloclist(3, {'winid' : 0}).winid
" get the location list window buffer number of the third window
:echo getloclist(3, {'qfbufnr' : 0}).qfbufnr
" get the file window id of a location list window (winnr: 4)
:echo getloclist(4, {'filewinid' : 0}).filewinid
<

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.1. Last change: 2018 Apr 18
*quickref.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -600,7 +600,6 @@ In Insert or Command-line mode:
Short explanation of each option: *option-list*
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
'altkeymap' 'akm' for default second language (Farsi/Hebrew)
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
'autochdir' 'acd' change directory to the file in the current window
@@ -700,7 +699,6 @@ Short explanation of each option: *option-list*
'filetype' 'ft' type of file, used for autocommands
'fillchars' 'fcs' characters to use for displaying special items
'fixendofline' 'fixeol' make sure last line in file has <EOL>
'fkmap' 'fk' Farsi keyboard mapping
'foldclose' 'fcl' close a fold when the cursor leaves it
'foldcolumn' 'fdc' width of the column used to indicate folds
'foldenable' 'fen' set to display all folds open
@@ -930,6 +928,7 @@ Short explanation of each option: *option-list*
'termwinkey' 'twk' key that precedes a Vim command in a terminal
'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
'termwinsize' 'tws' size of a terminal window
'termwintype' 'twt' MS-Windows: type of pty to use for terminal window
'terse' shorten some messages
'textauto' 'ta' obsolete, use 'fileformats'
'textmode' 'tx' obsolete, use 'fileformat'

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.1. Last change: 2018 Dec 18
*repeat.txt* For Vim version 8.1. Last change: 2019 Apr 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -323,10 +323,20 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
set encoding=utf-8
scriptencoding utf-8
<
When compiled without the |+multi_byte| feature this
command is ignored.
{not in Vi}
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
*E999* *E984*
Specify the version of Vim for the lines that follow
in the same file. Only applies at the toplevel of
sourced scripts, not inside functions.
If {version} is higher than what the current Vim
version supports E999 will be given. You either need
to rewrite the script to make it work with an older
Vim version, or update Vim to a newer version. See
|vimscript-version| for what changed between versions.
*:scr* *:scriptnames*
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID

View File

@@ -55,8 +55,7 @@ automatic installs. Vim also needs to be compiled with |+gettext| feature for
user interface items translations to work.
After downloading an archive from RuVim project, unpack it into your
$VIMRUNTIME directory. We recommend using UTF-8 archive, if your version of
Vim is compiled with |+multi_byte| feature enabled.
$VIMRUNTIME directory. We recommend using UTF-8 archive.
In order to use the Russian documentation, make sure you have set the
'helplang' option to "ru".

View File

@@ -312,25 +312,25 @@ Exceptions:
spell file is used.
For example, with these values:
'runtimepath' is "~/.vim,/usr/share/vim70,~/.vim/after"
'runtimepath' is "~/.vim,/usr/share/vim81,~/.vim/after"
'encoding' is "iso-8859-2"
'spelllang' is "pl"
Vim will look for:
1. ~/.vim/spell/pl.iso-8859-2.spl
2. /usr/share/vim70/spell/pl.iso-8859-2.spl
2. /usr/share/vim81/spell/pl.iso-8859-2.spl
3. ~/.vim/spell/pl.iso-8859-2.add.spl
4. /usr/share/vim70/spell/pl.iso-8859-2.add.spl
4. /usr/share/vim81/spell/pl.iso-8859-2.add.spl
5. ~/.vim/after/spell/pl.iso-8859-2.add.spl
This assumes 1. is not found and 2. is found.
If 'encoding' is "latin1" Vim will look for:
1. ~/.vim/spell/pl.latin1.spl
2. /usr/share/vim70/spell/pl.latin1.spl
2. /usr/share/vim81/spell/pl.latin1.spl
3. ~/.vim/after/spell/pl.latin1.spl
4. ~/.vim/spell/pl.ascii.spl
5. /usr/share/vim70/spell/pl.ascii.spl
5. /usr/share/vim81/spell/pl.ascii.spl
6. ~/.vim/after/spell/pl.ascii.spl
This assumes none of them are found (Polish doesn't make sense when leaving

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.1. Last change: 2018 May 05
*starting.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -248,12 +248,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
changes and writing.
{not in Vi}
*-Z* *restricted-mode* *E145*
*-Z* *restricted-mode* *E145* *E981*
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
delete(), rename(), mkdir(), writefile(), libcall(),
job_start(), etc.
":sh", filtering, the system() function, backtick expansion
and libcall().
Also disallowed are delete(), rename(), mkdir(), job_start(),
etc.
Interfaces, such as Python, Ruby and Lua, are also disabled,
since they could be used to execute shell commands. Perl uses
the Safe module.
Note that the user may still find a loophole to execute a
shell command, it has only been made difficult.
{not in Vi}
*-g*
@@ -315,9 +321,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
and exits.) {not in Vi}
*-F*
-F Farsi mode. Sets the 'fkmap' and 'rightleft' options on.
(Only when compiled with |+rightleft| and |+farsi| features,
otherwise Vim gives an error message and exits.) {not in Vi}
-F This was used for Farsi mode, which has been removed.
See |farsi.txt|.
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.1. Last change: 2018 Dec 27
*syntax.txt* For Vim version 8.1. Last change: 2019 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1962,7 +1962,7 @@ The g:lisp_rainbow option provides 10 levels of individual colorization for
the parentheses and backquoted parentheses. Because of the quantity of
colorization levels, unlike non-rainbow highlighting, the rainbow mode
specifies its highlighting using ctermfg and guifg, thereby bypassing the
usual colorscheme control using standard highlighting groups. The actual
usual color scheme control using standard highlighting groups. The actual
highlighting used depends on the dark/bright setting (see |'bg'|).
@@ -4694,9 +4694,9 @@ in their own color.
Doesn't work recursively, thus you can't use
":colorscheme" in a color scheme script.
To customize a colorscheme use another name, e.g.
To customize a color scheme use another name, e.g.
"~/.vim/colors/mine.vim", and use `:runtime` to load
the original colorscheme: >
the original color scheme: >
runtime colors/evening.vim
hi Statement ctermfg=Blue guifg=Blue
@@ -4704,7 +4704,7 @@ in their own color.
|ColorSchemePre| autocommand event is triggered.
After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
For info about writing a colorscheme file: >
For info about writing a color scheme file: >
:edit $VIMRUNTIME/colors/README.txt
:hi[ghlight] List all the current highlight groups that have
@@ -4901,7 +4901,7 @@ ctermbg={color-nr} *highlight-ctermbg*
explicitly. This causes the highlight groups that depend on
'background' to change! This means you should set the colors for
Normal first, before setting other colors.
When a colorscheme is being used, changing 'background' causes it to
When a color scheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "g:colors_name" variable when you don't want this.

View File

@@ -1095,6 +1095,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'termwinkey' options.txt /*'termwinkey'*
'termwinscroll' options.txt /*'termwinscroll'*
'termwinsize' options.txt /*'termwinsize'*
'termwintype' options.txt /*'termwintype'*
'terse' options.txt /*'terse'*
'textauto' options.txt /*'textauto'*
'textmode' options.txt /*'textmode'*
@@ -1135,6 +1136,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'twk' options.txt /*'twk'*
'tws' options.txt /*'tws'*
'twsl' options.txt /*'twsl'*
'twt' options.txt /*'twt'*
'tx' options.txt /*'tx'*
'uc' options.txt /*'uc'*
'udf' options.txt /*'udf'*
@@ -1717,6 +1719,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
05.6 usr_05.txt /*05.6*
05.7 usr_05.txt /*05.7*
05.8 usr_05.txt /*05.8*
05.9 usr_05.txt /*05.9*
06.1 usr_06.txt /*06.1*
06.2 usr_06.txt /*06.2*
06.3 usr_06.txt /*06.3*
@@ -2518,6 +2521,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:lefta windows.txt /*:lefta*
:leftabove windows.txt /*:leftabove*
:let eval.txt /*:let*
:let%= eval.txt /*:let%=*
:let+= eval.txt /*:let+=*
:let-$ eval.txt /*:let-$*
:let-& eval.txt /*:let-&*
@@ -2527,7 +2531,10 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:let-option eval.txt /*:let-option*
:let-register eval.txt /*:let-register*
:let-unpack eval.txt /*:let-unpack*
:let..= eval.txt /*:let..=*
:let.= eval.txt /*:let.=*
:let/= eval.txt /*:let\/=*
:letstar= eval.txt /*:letstar=*
:lex quickfix.txt /*:lex*
:lexpr quickfix.txt /*:lexpr*
:lf quickfix.txt /*:lf*
@@ -2930,6 +2937,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:scripte repeat.txt /*:scripte*
:scriptencoding repeat.txt /*:scriptencoding*
:scriptnames repeat.txt /*:scriptnames*
:scriptv repeat.txt /*:scriptv*
:scriptversion repeat.txt /*:scriptversion*
:scs if_cscop.txt /*:scs*
:scscope if_cscop.txt /*:scscope*
:se options.txt /*:se*
@@ -3639,7 +3648,6 @@ CTRL-V-alternative gui_w32.txt /*CTRL-V-alternative*
CTRL-W index.txt /*CTRL-W*
CTRL-W_+ windows.txt /*CTRL-W_+*
CTRL-W_- windows.txt /*CTRL-W_-*
CTRL-W_. terminal.txt /*CTRL-W_.*
CTRL-W_: windows.txt /*CTRL-W_:*
CTRL-W_< windows.txt /*CTRL-W_<*
CTRL-W_<BS> windows.txt /*CTRL-W_<BS>*
@@ -3679,7 +3687,6 @@ CTRL-W_H windows.txt /*CTRL-W_H*
CTRL-W_J windows.txt /*CTRL-W_J*
CTRL-W_K windows.txt /*CTRL-W_K*
CTRL-W_L windows.txt /*CTRL-W_L*
CTRL-W_N terminal.txt /*CTRL-W_N*
CTRL-W_P windows.txt /*CTRL-W_P*
CTRL-W_R windows.txt /*CTRL-W_R*
CTRL-W_S windows.txt /*CTRL-W_S*
@@ -3694,9 +3701,11 @@ CTRL-W_c windows.txt /*CTRL-W_c*
CTRL-W_d tagsrch.txt /*CTRL-W_d*
CTRL-W_f windows.txt /*CTRL-W_f*
CTRL-W_gF windows.txt /*CTRL-W_gF*
CTRL-W_gT windows.txt /*CTRL-W_gT*
CTRL-W_g] windows.txt /*CTRL-W_g]*
CTRL-W_g_CTRL-] windows.txt /*CTRL-W_g_CTRL-]*
CTRL-W_gf windows.txt /*CTRL-W_gf*
CTRL-W_gt windows.txt /*CTRL-W_gt*
CTRL-W_g} windows.txt /*CTRL-W_g}*
CTRL-W_h windows.txt /*CTRL-W_h*
CTRL-W_i tagsrch.txt /*CTRL-W_i*
@@ -3707,7 +3716,6 @@ CTRL-W_n windows.txt /*CTRL-W_n*
CTRL-W_o windows.txt /*CTRL-W_o*
CTRL-W_p windows.txt /*CTRL-W_p*
CTRL-W_q windows.txt /*CTRL-W_q*
CTRL-W_quote terminal.txt /*CTRL-W_quote*
CTRL-W_r windows.txt /*CTRL-W_r*
CTRL-W_s windows.txt /*CTRL-W_s*
CTRL-W_t windows.txt /*CTRL-W_t*
@@ -3740,7 +3748,9 @@ ColorScheme autocmd.txt /*ColorScheme*
ColorSchemePre autocmd.txt /*ColorSchemePre*
Command-line cmdline.txt /*Command-line*
Command-line-mode cmdline.txt /*Command-line-mode*
CompleteChanged autocmd.txt /*CompleteChanged*
CompleteDone autocmd.txt /*CompleteDone*
ConPTY terminal.txt /*ConPTY*
Contents quickref.txt /*Contents*
Cscope if_cscop.txt /*Cscope*
CursorHold autocmd.txt /*CursorHold*
@@ -4684,7 +4694,13 @@ E978 eval.txt /*E978*
E979 eval.txt /*E979*
E98 diff.txt /*E98*
E980 eval.txt /*E980*
E981 starting.txt /*E981*
E982 terminal.txt /*E982*
E983 message.txt /*E983*
E984 repeat.txt /*E984*
E985 eval.txt /*E985*
E99 diff.txt /*E99*
E999 repeat.txt /*E999*
EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT*
Elvis intro.txt /*Elvis*
@@ -5012,7 +5028,10 @@ ZZ editing.txt /*ZZ*
[:cntrl:] pattern.txt /*[:cntrl:]*
[:digit:] pattern.txt /*[:digit:]*
[:escape:] pattern.txt /*[:escape:]*
[:fname:] pattern.txt /*[:fname:]*
[:graph:] pattern.txt /*[:graph:]*
[:ident:] pattern.txt /*[:ident:]*
[:keyword:] pattern.txt /*[:keyword:]*
[:lower:] pattern.txt /*[:lower:]*
[:print:] pattern.txt /*[:print:]*
[:punct:] pattern.txt /*[:punct:]*
@@ -5231,6 +5250,7 @@ autocmd-groups autocmd.txt /*autocmd-groups*
autocmd-intro autocmd.txt /*autocmd-intro*
autocmd-list autocmd.txt /*autocmd-list*
autocmd-nested autocmd.txt /*autocmd-nested*
autocmd-once autocmd.txt /*autocmd-once*
autocmd-osfiletypes filetype.txt /*autocmd-osfiletypes*
autocmd-patterns autocmd.txt /*autocmd-patterns*
autocmd-remove autocmd.txt /*autocmd-remove*
@@ -5666,6 +5686,8 @@ complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
complete_check() eval.txt /*complete_check()*
complete_info() eval.txt /*complete_info()*
complete_info_mode eval.txt /*complete_info_mode*
completed_item-variable eval.txt /*completed_item-variable*
completion-functions usr_41.txt /*completion-functions*
complex-change change.txt /*complex-change*
@@ -5847,6 +5869,7 @@ dec-mouse options.txt /*dec-mouse*
decada_members ft_ada.txt /*decada_members*
deepcopy() eval.txt /*deepcopy()*
defaults.vim starting.txt /*defaults.vim*
defaults.vim-explained usr_05.txt /*defaults.vim-explained*
definition-search tagsrch.txt /*definition-search*
definitions intro.txt /*definitions*
delete() eval.txt /*delete()*
@@ -6057,6 +6080,7 @@ expr-' eval.txt /*expr-'*
expr-+ eval.txt /*expr-+*
expr-- eval.txt /*expr--*
expr-. eval.txt /*expr-.*
expr-.. eval.txt /*expr-..*
expr-/ eval.txt /*expr-\/*
expr-< eval.txt /*expr-<*
expr-<# eval.txt /*expr-<#*
@@ -6120,7 +6144,6 @@ f motion.txt /*f*
false-variable eval.txt /*false-variable*
faq intro.txt /*faq*
farsi farsi.txt /*farsi*
farsi-fonts farsi.txt /*farsi-fonts*
farsi.txt farsi.txt /*farsi.txt*
fasm.vim syntax.txt /*fasm.vim*
fcs_choice-variable eval.txt /*fcs_choice-variable*
@@ -6346,6 +6369,7 @@ ft-rmd-plugin filetype.txt /*ft-rmd-plugin*
ft-rmd-syntax syntax.txt /*ft-rmd-syntax*
ft-rrst-plugin filetype.txt /*ft-rrst-plugin*
ft-rrst-syntax syntax.txt /*ft-rrst-syntax*
ft-rst-plugin filetype.txt /*ft-rst-plugin*
ft-rst-syntax syntax.txt /*ft-rst-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni*
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
@@ -7226,6 +7250,7 @@ ip motion.txt /*ip*
iquote motion.txt /*iquote*
is motion.txt /*is*
isdirectory() eval.txt /*isdirectory()*
isinf() eval.txt /*isinf()*
islocked() eval.txt /*islocked()*
isnan() eval.txt /*isnan()*
it motion.txt /*it*
@@ -7313,7 +7338,7 @@ lambda eval.txt /*lambda*
lang-variable eval.txt /*lang-variable*
language-mapping map.txt /*language-mapping*
last-pattern pattern.txt /*last-pattern*
last-position-jump eval.txt /*last-position-jump*
last-position-jump usr_05.txt /*last-position-jump*
last_buffer_nr() eval.txt /*last_buffer_nr()*
latex-syntax syntax.txt /*latex-syntax*
lc_time-variable eval.txt /*lc_time-variable*
@@ -7353,6 +7378,7 @@ list-identity eval.txt /*list-identity*
list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification*
list-repeat windows.txt /*list-repeat*
list2str() eval.txt /*list2str()*
lite.vim syntax.txt /*lite.vim*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
@@ -7389,6 +7415,7 @@ love intro.txt /*love*
lowercase change.txt /*lowercase*
lpc.vim syntax.txt /*lpc.vim*
lua if_lua.txt /*lua*
lua-blob if_lua.txt /*lua-blob*
lua-buffer if_lua.txt /*lua-buffer*
lua-commands if_lua.txt /*lua-commands*
lua-dict if_lua.txt /*lua-dict*
@@ -7981,6 +8008,7 @@ omni-sql-completion ft_sql.txt /*omni-sql-completion*
online-help helphelp.txt /*online-help*
opening-window windows.txt /*opening-window*
operator motion.txt /*operator*
operator-pending-index index.txt /*operator-pending-index*
operator-variable eval.txt /*operator-variable*
option-backslash options.txt /*option-backslash*
option-list quickref.txt /*option-list*
@@ -8237,6 +8265,7 @@ quake.vim syntax.txt /*quake.vim*
quickfix quickfix.txt /*quickfix*
quickfix-6 version6.txt /*quickfix-6*
quickfix-ID quickfix.txt /*quickfix-ID*
quickfix-buffer quickfix.txt /*quickfix-buffer*
quickfix-changedtick quickfix.txt /*quickfix-changedtick*
quickfix-context quickfix.txt /*quickfix-context*
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
@@ -8299,6 +8328,7 @@ read-in-close-cb channel.txt /*read-in-close-cb*
read-messages insert.txt /*read-messages*
read-only-share editing.txt /*read-only-share*
read-stdin version5.txt /*read-stdin*
readdir() eval.txt /*readdir()*
readfile() eval.txt /*readfile()*
readline.vim syntax.txt /*readline.vim*
recording repeat.txt /*recording*
@@ -8371,6 +8401,7 @@ ruby-dynamic if_ruby.txt /*ruby-dynamic*
ruby-evaluate if_ruby.txt /*ruby-evaluate*
ruby-globals if_ruby.txt /*ruby-globals*
ruby-message if_ruby.txt /*ruby-message*
ruby-rubyeval if_ruby.txt /*ruby-rubyeval*
ruby-set_option if_ruby.txt /*ruby-set_option*
ruby-vim if_ruby.txt /*ruby-vim*
ruby-window if_ruby.txt /*ruby-window*
@@ -8382,6 +8413,7 @@ ruby_no_expensive syntax.txt /*ruby_no_expensive*
ruby_operators syntax.txt /*ruby_operators*
ruby_space_errors syntax.txt /*ruby_space_errors*
ruby_spellcheck_strings syntax.txt /*ruby_spellcheck_strings*
rubyeval() eval.txt /*rubyeval()*
russian russian.txt /*russian*
russian-intro russian.txt /*russian-intro*
russian-issues russian.txt /*russian-issues*
@@ -8430,14 +8462,17 @@ scheme.vim syntax.txt /*scheme.vim*
scp pi_netrw.txt /*scp*
screenattr() eval.txt /*screenattr()*
screenchar() eval.txt /*screenchar()*
screenchars() eval.txt /*screenchars()*
screencol() eval.txt /*screencol()*
screenrow() eval.txt /*screenrow()*
screenstring() eval.txt /*screenstring()*
script usr_41.txt /*script*
script-here if_perl.txt /*script-here*
script-local map.txt /*script-local*
script-variable eval.txt /*script-variable*
scriptnames-dictionary eval.txt /*scriptnames-dictionary*
scriptout-changed version4.txt /*scriptout-changed*
scriptversion eval.txt /*scriptversion*
scroll-binding scroll.txt /*scroll-binding*
scroll-cursor scroll.txt /*scroll-cursor*
scroll-down scroll.txt /*scroll-down*
@@ -8713,6 +8748,7 @@ static-tag tagsrch.txt /*static-tag*
status-line windows.txt /*status-line*
statusmsg-variable eval.txt /*statusmsg-variable*
str2float() eval.txt /*str2float()*
str2list() eval.txt /*str2list()*
str2nr() eval.txt /*str2nr()*
strcasestr() eval.txt /*strcasestr()*
strcharpart() eval.txt /*strcharpart()*
@@ -8812,7 +8848,14 @@ t_AL term.txt /*t_AL*
t_BD term.txt /*t_BD*
t_BE term.txt /*t_BE*
t_CS term.txt /*t_CS*
t_CTRL-W_. terminal.txt /*t_CTRL-W_.*
t_CTRL-W_: terminal.txt /*t_CTRL-W_:*
t_CTRL-W_CTRL-C terminal.txt /*t_CTRL-W_CTRL-C*
t_CTRL-W_CTRL-W terminal.txt /*t_CTRL-W_CTRL-W*
t_CTRL-W_N terminal.txt /*t_CTRL-W_N*
t_CTRL-W_gT terminal.txt /*t_CTRL-W_gT*
t_CTRL-W_gt terminal.txt /*t_CTRL-W_gt*
t_CTRL-W_quote terminal.txt /*t_CTRL-W_quote*
t_CTRL-\_CTRL-N terminal.txt /*t_CTRL-\\_CTRL-N*
t_CV term.txt /*t_CV*
t_Ce term.txt /*t_Ce*
@@ -9002,7 +9045,6 @@ tabpagenr() eval.txt /*tabpagenr()*
tabpagewinnr() eval.txt /*tabpagewinnr()*
tag tagsrch.txt /*tag*
tag-! tagsrch.txt /*tag-!*
tag-any-white tagsrch.txt /*tag-any-white*
tag-binary-search tagsrch.txt /*tag-binary-search*
tag-blocks motion.txt /*tag-blocks*
tag-commands tagsrch.txt /*tag-commands*
@@ -9148,6 +9190,7 @@ terminal-diffscreendump terminal.txt /*terminal-diffscreendump*
terminal-dumptest terminal.txt /*terminal-dumptest*
terminal-functions usr_41.txt /*terminal-functions*
terminal-info term.txt /*terminal-info*
terminal-job-index index.txt /*terminal-job-index*
terminal-key-codes term.txt /*terminal-key-codes*
terminal-ms-windows terminal.txt /*terminal-ms-windows*
terminal-options term.txt /*terminal-options*
@@ -9181,6 +9224,7 @@ test_null_partial() eval.txt /*test_null_partial()*
test_null_string() eval.txt /*test_null_string()*
test_option_not_set() eval.txt /*test_option_not_set()*
test_override() eval.txt /*test_override()*
test_refcount() eval.txt /*test_refcount()*
test_scrollbar() eval.txt /*test_scrollbar()*
test_settime() eval.txt /*test_settime()*
testing eval.txt /*testing*
@@ -9650,6 +9694,8 @@ vimrc-filetype usr_05.txt /*vimrc-filetype*
vimrc-intro usr_05.txt /*vimrc-intro*
vimrc-option-example starting.txt /*vimrc-option-example*
vimrc_example.vim usr_05.txt /*vimrc_example.vim*
vimscript-version eval.txt /*vimscript-version*
vimscript-versions eval.txt /*vimscript-versions*
vimtutor usr_01.txt /*vimtutor*
virtcol() eval.txt /*virtcol()*
visual-block visual.txt /*visual-block*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.1. Last change: 2018 May 04
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -14,6 +14,7 @@ See section |29.1| of the user manual for an introduction.
4. Tags details |tag-details|
5. Tags file format |tags-file-format|
6. Include file searches |include-search|
7. Using 'tagfunc' |tag-function|
==============================================================================
1. Jump to a tag *tag-commands*
@@ -529,28 +530,21 @@ gnatxref For Ada. See http://www.gnuada.org/. gnatxref is
part of the gnat package.
The lines in the tags file must have one of these three formats:
The lines in the tags file must have one of these two formats:
1. {tagname} {TAB} {tagfile} {TAB} {tagaddress}
2. {tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress}
3. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} ..
2. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} ..
The first is a normal tag, which is completely compatible with Vi. It is the
only format produced by traditional ctags implementations. This is often used
for functions that are global, also referenced in other files.
Previously an old format was supported, see |tag-old-static|.
The first format is a normal tag, which is completely compatible with Vi. It
is the only format produced by traditional ctags implementations. This is
often used for functions that are global, also referenced in other files.
The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR>
also works. The <CR> and <NL> characters can never appear inside a line.
*tag-old-static*
The second format is for a static tag only. It is obsolete now, replaced by
the third format. It is only supported by Elvis 1.x and Vim and a few
versions of ctags. A static tag is often used for functions that are local,
only referenced in the file {tagfile}. Note that for the static tag, the two
occurrences of {tagfile} must be exactly the same. Also see |tags-option|
below, for how static tags are used.
The third format is new. It includes additional information in optional
The second format is new. It includes additional information in optional
fields at the end of each line. It is backwards compatible with Vi. It is
only supported by new versions of ctags (such as Exuberant ctags).
@@ -558,8 +552,7 @@ only supported by new versions of ctags (such as Exuberant ctags).
be any identifier. It cannot contain a <Tab>.
{TAB} One <Tab> character. Note: previous versions allowed any
white space here. This has been abandoned to allow spaces in
{tagfile}. It can be re-enabled by including the
|+tag_any_white| feature at compile time. *tag-any-white*
{tagfile}.
{tagfile} The file that contains the definition of {tagname}. It can
have an absolute or relative path. It may contain environment
variables and wildcards (although the use of wildcards is
@@ -571,7 +564,14 @@ only supported by new versions of ctags (such as Exuberant ctags).
{term} ;" The two characters semicolon and double quote. This is
interpreted by Vi as the start of a comment, which makes the
following be ignored. This is for backwards compatibility
with Vi, it ignores the following fields.
with Vi, it ignores the following fields. Example:
APP file /^static int APP;$/;" v
When {tagaddress} is not a line number or search pattern, then
{term} must be |;". Here the bar ends the command (excluding
the bar) and ;" is used to have Vi ignore the rest of the
line. Example:
APP file.c call cursor(3, 4)|;" v
{field} .. A list of optional fields. Each field has the form:
<Tab>{fieldname}:{value}
@@ -592,6 +592,7 @@ only supported by new versions of ctags (such as Exuberant ctags).
The only other field currently recognized by Vim is "file:"
(with an empty value). It is used for a static tag.
The first lines in the tags file can contain lines that start with
!_TAG_
These are sorted to the first lines, only rare tags that start with "!" can
@@ -606,8 +607,7 @@ ignored. (Case is ignored when 'ignorecase' is set and 'tagcase' is
The value '2' should be used then:
!_TAG_FILE_SORTED<Tab>2<Tab>{anything} ~
The other tag that Vim recognizes, but only when compiled with the
|+multi_byte| feature, is the encoding of the tags file:
The other tag that Vim recognizes is the encoding of the tags file:
!_TAG_FILE_ENCODING<Tab>utf-8<Tab>{anything} ~
Here "utf-8" is the encoding used for the tags. Vim will then convert the tag
being searched for from 'encoding' to the encoding of the tags file. And when
@@ -646,6 +646,21 @@ If the command is a normal search command (it starts and ends with "/" or
followed by white space and a '('. This will find macro names and function
names with a type prepended. {the extra searches are not in Vi}
*tag-old-static*
Until March 2019 (patch 8.1.1092) an outdated format was supported:
{tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress}
This format is for a static tag only. It is obsolete now, replaced by
the second format. It is only supported by Elvis 1.x, older Vim versions and
a few versions of ctags. A static tag is often used for functions that are
local, only referenced in the file {tagfile}. Note that for the static tag,
the two occurrences of {tagfile} must be exactly the same. Also see
|tags-option| below, for how static tags are used.
The support was removed, since when you can update to the new Vim version you
should also be able to update ctags to one that supports the second format.
==============================================================================
6. Include file searches *include-search* *definition-search*
*E387* *E388* *E389*
@@ -857,4 +872,70 @@ Common arguments for the commands above:
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
is used as a literal string, not as a search pattern.
==============================================================================
7. Using 'tagfunc' *tag-function*
It is possible to provide Vim with a function which will generate a list of
tags used for commands like |:tag|, |:tselect| and Normal mode tag commands
like |CTRL-]|.
The function used for generating the taglist is specified by setting the
'tagfunc' option. The function will be called with three arguments:
a:pattern The tag identifier used during the tag search.
a:flags List of flags to control the function behavior.
a:info Dict containing the following entries:
buf_ffname Full filename which can be used for priority.
user_data Custom data String, if stored in the tag
stack previously by tagfunc.
Currently two flags may be passed to the tag function:
'c' The function was invoked by a normal command being processed
(mnemonic: the tag function may use the context around the
cursor to perform a better job of generating the tag list.)
'i' In Insert mode, the user was completing a tag (with
|i_CTRL-X_CTRL-]|).
Note that when 'tagfunc' is set, the priority of the tags described in
|tag-priority| does not apply. Instead, the priority is exactly as the
ordering of the elements in the list returned by the function.
*E987*
The function should return a List of Dict entries. Each Dict must at least
include the following entries and each value must be a string:
name Name of the tag.
filename Name of the file where the tag is defined. It is
either relative to the current directory or a full path.
cmd Ex command used to locate the tag in the file. This
can be either an Ex search pattern or a line number.
Note that the format is similar to that of |taglist()|, which makes it possible
to use its output to generate the result.
The following fields are optional:
kind Type of the tag.
user_data String of custom data stored in the tag stack which
can be used to disambiguate tags between operations.
If the function returns |v:null| instead of a List, a standard tag lookup will
be performed instead.
It is not allowed to change the tagstack from inside 'tagfunc'. *E986*
The following is a hypothetical example of a function used for 'tagfunc'. It
uses the output of |taglist()| to generate the result: a list of tags in the
inverse order of file names.
>
function! TagFunc(pattern, flags, info)
function! CompareFilenames(item1, item2)
let f1 = a:item1['filename']
let f2 = a:item2['filename']
return f1 >=# f2 ?
\ -1 : f1 <=# f2 ? 1 : 0
endfunction
let result = taglist(a:pattern)
call sort(result, "CompareFilenames")
return result
endfunc
set tagfunc=TagFunc
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.1. Last change: 2019 Jan 19
*term.txt* For Vim version 8.1. Last change: 2019 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -539,7 +539,7 @@ there should be a tick at allow-window-ops.
Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
to reset to the default colors.
to reset to the default colors. Also see 'termguicolors'.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2018 May 17
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -44,7 +44,7 @@ If the result is "1" you have it.
{Vi does not have any of these commands}
{only available when compiled with the |+terminal| feature}
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
The terminal feature requires the |+job| and |+channel| features.
==============================================================================
1. Basic use *terminal-use*
@@ -66,20 +66,23 @@ When the keyboard focus is in the terminal window, typed keys will be sent to
the job. This uses a pty when possible. You can click outside of the
terminal window to move keyboard focus elsewhere.
*t_CTRL-W_CTRL-W* *t_CTRL-W_:*
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
CTRL-W CTRL-W move focus to the next window
CTRL-W : enter an Ex command
See |CTRL-W| for more commands.
Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
Special in the terminal window: *t_CTRL-W_.* *t_CTRL-W_N*
CTRL-W . send a CTRL-W to the job in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
CTRL-W " {reg} paste register {reg} *CTRL-W_quote*
CTRL-W " {reg} paste register {reg} *t_CTRL-W_quote*
Also works with the = register to insert the result of
evaluating an expression.
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
CTRL-W gt go to next tabpage, same as `gt` *t_CTRL-W_gt*
CTRL-W gT go to previous tabpage, same as `gT` *t_CTRL-W_gT*
See option 'termwinkey' for specifying another key instead of CTRL-W that
will work like CTRL-W. However, typing 'termwinkey' twice sends 'termwinkey'
@@ -90,8 +93,8 @@ to the job. For example:
'termwinkey' . send 'termwinkey' to the job in the terminal
'termwinkey' CTRL-\ send a CTRL-\ to the job in the terminal
'termwinkey' N go to terminal Normal mode, see below
'termwinkey' CTRL-N same as CTRL-W N
'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C|
'termwinkey' CTRL-N same as CTRL-W N |t_CTRL-W_N|
'termwinkey' CTRL-C same as CTRL-W CTRL-C |t_CTRL-W_CTRL-C|
*t_CTRL-\_CTRL-N*
The special key combination CTRL-\ CTRL-N can be used to switch to Normal
mode, just like this works in any other mode.
@@ -228,6 +231,9 @@ Syntax ~
for Python "++eof=exit()". Special
codes can be used like with `:map`,
e.g. "<C-Z>" for CTRL-Z.
++type={pty} (MS-Windows only): Use {pty} as the
virtual console. See 'termwintype'
for the values.
If you want to use more options use the |term_start()|
function.
@@ -410,6 +416,13 @@ Just put the files somewhere in your PATH. You can set the 'winptydll' option
to point to the right file, if needed. If you have both the 32-bit and 64-bit
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
build.
*ConPTY* *E982*
On more recent versions of MS-Windows 10 (beginning with the "October 2018
Update"), winpty is no longer required. On those versions, |:terminal| will use
Windows' built-in support for hosting terminal applications, "ConPTY". When
ConPTY is in use, there may be rendering artifacts regarding ambiguous-width
characters. If you encounter any such issues, install "winpty". Until the
ConPTY problems have been fixed "winpty" will be preferred.
Environment variables are used to pass information to the running job:
VIM_SERVERNAME v:servername

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Jan 26
*todo.txt* For Vim version 8.1. Last change: 2019 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -61,6 +61,7 @@ Terminal debugger:
- Add option to not open the program window. It's not used when attaching to
an already running program. (M. Kelly)
- When only gdb window exists, on "quit" edit another buffer.
- Use a sign group
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
after "run". Everything else works, including communication channel. Not
initializing mzscheme avoid the problem, thus it's not some #ifdef.
@@ -71,15 +72,15 @@ Terminal debugger:
with another Vim instance.
Terminal emulator window:
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
And use modeless selection. #2962
- When Vim runs in the terminal and changes the title, the statusline needs to
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)
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
And use modeless selection. #2962
- Allow for specifying the directory, with ++cwd={dir}.
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
#2977)
@@ -103,55 +104,29 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look.
Support for popup widows:
- Use text properties to define highlighting.
- Proposal on issue #4063
Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
#3417)
Another report, with reproduction steps. (#3799)
Is this fixed by 8.1.0761?
Notifications for text changes, could be used for LSP.
- New event, similar to TextChanged, but guaranteed to provide sequential
information of all text changes.
Possibly build on undo info (but undo itself is also a change).
How to deal with ":%s/this/that" ?
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
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?
js_decode() does not handle infinity properly. (Dominique Pelle, 2019 Jan 10,
#3788)
Patch to avoid skipping buffers when loading a session. (Jason Franklin, 2019
Jan 20)
Patch to update example of how to restore the cursor. (Ken Takata, 2019 Jan
21)
Patch to fix problems with timer in GUI. (Ozaki Kiichi, #3817)
Should also fix #3824.
Change the order in which GUI handles events? Make it work like os_unix.c,
check timer on lower level, check for pending messages higher up.
Signs:
- screen not redrawn correctly. (Dominique Pelle, 2019 Jan 14, #3803)
- Use a sign group in the Termdebug plugin.
- Avoid that "sign unplace id" does a redraw right away, esp. when there is
a sequence of these commands. (Andy Stewart, 2018 Mar 16)
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
Patch to recognize more systems with has(). (Ozaki Kiichi, #3855)
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
Errors found with random data:
heap-buffer-overflow in alist_add (#2472)
Patch for xxd to make it work with 64 bit numbers. (Christer Jense, 2019 Jan
11, #3791)
Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution?
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?
@@ -170,6 +145,13 @@ Williams, 2018 Oct 30)
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
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)
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
Mar 5)
When using a timer callback vgetc_busy is reset, allowing for using input().
But in a channel callback this does not happen. We need to do something
similar to check_due_timer(). Also see #3809.
@@ -177,15 +159,15 @@ similar to check_due_timer(). Also see #3809.
C syntax: {} inside () causes following {} to be highlighted as error.
(Michalis Giannakidis, 2006 Jun 1)
Patch on #3690 to fix that "wincmd p" does not always behave properly.
(Christian Brabandt, 2018 Dec 17)
Patch: When using %v in 'errorformat', assume the number is the screen column
not bytes, also handle multi-byte charactes. (Yegappan Lakshmanan, #3700)
Support setting the character displayed below the last line? Neovim uses
"eob:X" in 'fillchars'.
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
added?
This modeline throws unexpected errors: (#4165)
vim: syn=nosyntax
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
#2948. (related to #1512?)
On Win32 it stops showing, because showState is already ShS_SHOWING.
@@ -197,52 +179,67 @@ balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
2018 Sep 14)
Another request: #3811.
Patch for MinGW build with static libraries. (Ken Takata, 2018 Dec 16)
Patch to add new regexp classes :ident:, :keyword:, :fname:.
(ichizok, 2016 Jan 12, #1373)
Patch to add "termsig" - signal that caused job to end. (Ozaki Kiichi, 2019
Jan 10, #3786)
More warnings from static analysis:
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
missing a test.
7 Make 'scrolloff' a global-local option, so that it can be different in the
quickfix window, for example. (Gary Holloway)
Also do 'sidescrolloff'.
Still a E315 error when using terminal. (Masato Nishihata, #3959)
Patch for ConPTY support, new one: #3794 Does this work now?
(Nobuhiro Takasaki)
Issue #3649: Retrying the X server connection once may be insufficient.
Since patch 8.1.0615 we try reconnecting five times. Does it work?
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)
Patch to be able to separately map CTRL-H and BS on Windows.
(Linwei, 2017 Jul 11, #1833)
Patch to make Command-V use CTRL-R_CTRL-O* on Mac, like on Windows.
(Ken Takata, #4266)
No test for NULL after allocating memory: #4174 (martinkunevtoptal does this?)
src/crypt.c line 256;
src/crypt_zip.c line 93;
src/gui_gtk_f.c line 132;
src/gui_gtk_x11 line 1578;
src/libvterm/src/state.c line 332;
src/libvterm/src/state.c line 255;
src/libvterm/src/state.c line 1618;
src/libvterm/src/state.c line 1643
src/libvterm/src/termscreen.c line 83;
src/ops.c line 6185;
src/option.c line 12980;
src/popupmnu.c line 1090;
Missing tests for:
- add_termcap_entry()
When using exclusive selection and vi" that fails, cursor moves to the left.
Cursor should not move. (#4024)
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
Also run all tests with C locale?
"vat" doesn't work well on XML when the closing > is on another line.
#3927
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
Related to bracketed paste. I cannot reproduce it.
Using CTRL-L to add a character to the search string doesn't work for the last
character in the file. (Smylers, 2018 Nov 17, #3620)
Suggested patch by Hirohito Higashi, 2018 Nov 18.
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
case. (Nate Peterson, 2019 Jan 31, #3892)
For "silent! q" it should not prompt and just fail.
Add <aevent>, which expands to the currently triggered autocommand event name.
(Daniel Hahler, #4232) Or add it to v:event (easier to use but slightly more
expensive).
Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)
DCS 0 $ r Pt ST should be ignored.
DCS 0 + r/Pt/ ST already ignored?
Using CTRL-L to add a character to the search string that contains \v,
punctiuation is repeated. (Smylers, 2018 Nov 17, #3621)
Using CTRL-L during search only picks up the base character, not a combining
character. (Rick, 2018 Dec 11, #3682)
punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
Not ready to include yet.
Problem with two buffers with the same name a/b, if it didn't exist before and
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
@@ -250,9 +247,6 @@ When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly
scrolls back. Should allow for this scrolling, like 'scrolloff' does when
using CTRL-E. (Yee Cheng Chin, #3721)
Patch to add ":vsbuffer" - vertical split + :sbuffer. (Rob Pilling, 2019 Jan
17, #3816) Do we really need this?
Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
(Sep 8)
@@ -260,6 +254,13 @@ Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
Add function to make use of internal diff, working on two lists and returning
unified diff (list of lines).
When splitting a window with few text lines, the relative cursor position is
kept, which means part of the text isn't displayed. Better show all the text
when possible. (Dylan Lloyd, #3973)
Patch to not recognize "version" as "v:version", "count" as "v:count".
Ken Takata, #4274.
Patch to implement 'diffref' option. (#3535)
Easier to use a 'diffmaster' option, is the extra complexity needed?
@@ -272,6 +273,48 @@ cursorline highlighting not removed after yanking in Visual mode.
(Matéo Zanibelli, 2018 Oct 30, #3578)
Patch by Christian, Oct 30.
Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
Patch to add environ(), gets a dict with all environment vars, and getenv(),
useful for environment vars that are not made of keyword chars.
(Yasuhiro Matsumoto, #2875)
Add buffer argument to undotree(). (#4001)
Patch to add optional arguments with default values.
(Andy Massimino, #3952) under development
Patch to add tab-local directories. (Yegappan, #4212)
Good now?
Patch to add more info to OptionSet. Should mention what triggered the change
":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
#4118. Proposed implementation: 2019 Mar 27. Tests fail, help update
missing. Updated 2019 Apr 9
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look.
Patch to add ruby cflags. (#4050, fixes #1081)
Needs modification.
Patch for larger icons in installer. (#978) Still not good.
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
New update 2017 Apr 10, #1628
https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
Updated by Andy Massimino, 2018 Feb 7:
https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
Or should we make it asynchronous?
Patch by Andy Massimino: #4010 - needs a bit more work: produce errors when
something is wrong.
Patch to fix that using "5gj" starting inside a closed fold does not work on
screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
Memory leaks in test_channel? (or is it because of fork())
Using uninitialized value in test_crypt.
Memory leak in test_terminal:
@@ -284,6 +327,7 @@ Memory leak in test_terminal:
==23530== by 0x35C923: term_start (terminal.c:421)
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
Memory leak in test_alot with pyeval() (allocating partial)
gethostbyname() is old, use getaddrinfo() if available. (#3227)
@@ -293,6 +337,20 @@ Patch to add match count and current index "3/44" when using "n" command.
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
19.
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
Does #2405 do this?
Patch to add an interrupt() function: sets got_int. Useful in an autocommand
such as BufWritePre that checks the file name or contents.
More patches to check:
- #4098 improve Travis config
Should make 'listchars' global-local. Local to window or to buffer?
Probably window.
Add something like 'fillchars' local to window, but allow for specifying a
highlight name. Esp. for the statusline.
Sourceforge Vim pages still have content, redirect from empty page.
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
@@ -335,6 +393,9 @@ 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?
@@ -351,6 +412,11 @@ Better name?
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.
Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution?
Script generated by :mksession does not work well if there are windows with
modified buffers
change "silent only" into "silent only!"
@@ -377,24 +443,13 @@ Lemonboy can reproduce (2017 Jun 5)
Also reproduced by Benjamin Doherty, 2018 Oct 4.
Simpler way: Ken Takata, Oct 6.
Height of quickfix window is not retained with vertical splits. (Lifepillar,
2018 Aug 24, #2998)
Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
#2999)
Add more testing of the GTK GUI.
- gtk_test_widget_click() can be used to simulate a click in a widget.
Tests failing for "make testgui" with GTK:
- Test_setbufvar_options()
- Test_exit_callback_interval()
When using CTRL-W CR in the quickfix window, the jumplist in the opened window
is cleared, to avoid going back to the list of errors buffer (would have two
windows with it). Can we just remove the jump list entries for the quickfix
buffer?
Patch to fix that executable() may fail on very long filename in MS-Windows.
(Ken Takata, 2016 Feb 1, update 2018 Oct 7)
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
@@ -424,8 +479,6 @@ behave strangely, as if there is a gap and a vertical window separator.
Make {skip} argument of searchpair() consistent with other places where we
pass an expression to evaluate. Allow passing zero for "never skip".
The 'scrolloff' option is global, make it global-local. #3195
Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function.
@@ -452,9 +505,6 @@ missing: --nofork, -A , -b, -h, etc.
":au * * command" should not be allowed, only use * for event when listing or
deleting autocmds, not when adding them.
Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
Jun 10, #2998)
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
Delete all the specific stuff for the Borland compiler? (#3374)
@@ -750,9 +800,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
8, #1690)
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif?
Bogus characters inserted when triggering indent while changing text.
(Vitor Antunes, 2016 Nov 22, #1269)
@@ -806,9 +853,6 @@ When session file has name in argument list but the buffer was deleted, the
buffer is not deleted when using the session file. (#1393)
Should add the buffer in hidden state.
When an item in the quickfix list has a file name that does not exist, behave
like the item was not a match for :cnext.
Wrong diff highlighting with three files. (2016 Oct 20, #1186)
Also get E749 on exit.
Another example in #1309
@@ -857,10 +901,6 @@ Implement optional arguments for functions.
call Foo(12, all = 0)
call Foo(12, 15, 0)
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
support, or similar.
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
Add a command to take a range of lines, filter them and put the output
somewhere else. :{range}copy {dest} !cmd
@@ -918,10 +958,6 @@ Apr 23, #1653)
Window resizing with 'winfixheight': With a vertical split the height changes
anyway. (Tommy allen, 2017 Feb 21, #1502)
When adding an item to a new quickfix list make ":cnext" jump to that item.
Make a difference being at the first item and not having used :cnext at all.
(Afanasiy Fet, 2017 Jan 3)
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
E.g. deepcopy(test_null_list())
@@ -979,6 +1015,10 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
Although user could use "xterm -e 'cmd arg'".
Regexp problems:
- NFA engine can be slow for some patterns. Dominique found out that most
time is spent in addstate_here() copying the threads. Instead of copying,
let each thread point to the next one (by offset, the list is reallocated).
(Dominique Pelle, 2019 Feb 18)
- When search pattern has the base character both with and without combining
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
@@ -1040,9 +1080,6 @@ Add an argument to choose binary or non-binary (like readfile()), when omitted
use the current behavior.
Include the test.
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
New update 2017 Apr 10, #1628
When 'keywordprg' starts with ":" the argument is still escaped as a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
@@ -1111,9 +1148,6 @@ Have a way to get the call stack, in a function and from an exception.
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
This does not work: :set cscopequickfix=a-
(Linewi, 2015 Jul 12, #914)
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
@@ -2114,12 +2148,6 @@ to avoid changing 'eventignore'?
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
Probably needs a bit of work.
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
Added test, updates, June 23.
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
With modification for Tatweel character: https://dpaste.de/VmFw
Remark from Ameretat Reith (2014 Oct 13)
List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
Are they all OK? Update Jul 22.
@@ -2158,8 +2186,6 @@ for GTK, how about others? (Ron Aaron, 2010 Apr 10)
Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
Motif: Build on Ubuntu can't enter any text in dialog text fields.
":tab split fname" doesn't set the alternate file in the original window,
because win_valid() always returns FALSE. Below win_new_tabpage() in
ex_docmd.c.
@@ -2520,8 +2546,6 @@ Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,
but when compiling further tests -liconv is added without the -L argument,
that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)
When opening quickfix window, disable spell checking?
Problem with ".add" files when using two languages and restarting Vim. (Raul
Coronado, 2008 Oct 30)
@@ -2584,7 +2608,7 @@ Windows installer: licence text should not use indent, causes bad word wrap.
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
# uninstall key: vim8.1*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
@@ -2865,9 +2889,6 @@ Small problem displaying diff filler line when opening windows with a script.
Is it allowed that 'backupext' is empty? Problems when backup is in same dir
as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen)
Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007
Jan 1)
Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
23)
@@ -3020,8 +3041,6 @@ Awaiting updated patches:
+ 1", but that's ugly.
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
- Patch from Herculano de Lima Einloft Neto for better formatting of the
quickfix window (2004 dec 2)
7 When 'rightleft' is set, the search pattern should be displayed right
to left as well? See patch of Dec 26. (Nadim Shaikli)
8 Option to lock all used memory so that it doesn't get swapped to disk
@@ -3039,6 +3058,39 @@ Awaiting updated patches:
and GTK by degreneir (nov 10 and nov 18).
- Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
Better 'rightleft' or BIDI support:
- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
By Ali Gholami Rudi, also worked on arabic.c
Quickfix/Location List:
- Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
#2999)
- When using CTRL-W CR in the quickfix window, the jumplist in the opened
window is cleared, to avoid going back to the list of errors buffer (would
have two windows with it). Can we just remove the jump list entries for
the quickfix buffer?
- Quickfix window height is not kept with a vertical split. (Lifepillar,
2018 Jun 10, #2998)
- When an item in the quickfix list has a file name that does not exist,
behave like the item was not a match for :cnext.
- When adding an item to a new quickfix list make ":cnext" jump to that
item. Make a difference being at the first item and not having used
:cnext at all. (Afanasiy Fet, 2017 Jan 3)
- This does not work: :set cscopequickfix=a-
(Linewi, 2015 Jul 12, #914)
- When opening quickfix window, disable spell checking?
- Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro,
2007 Jan 1)
- Patch from Herculano de Lima Einloft Neto for better formatting of the
quickfix window (2004 dec 2)
- Amiga: When using quickfix with the Manx compiler we only get the first 25
errors. How do we get the rest?
8 The quickfix file is read without conversion, thus in 'encoding'. Add an
option to specify the encoding of the errorfile and convert it. Also for
":grep" and ":helpgrep".
More generic solution: support a filter (e.g., by calling a function).
7 Add a command that goes back to the position from before jumping to the
first quickfix location. ":cbefore"?
Vi incompatibility:
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
@@ -3126,8 +3178,6 @@ Win32 GUI known bugs:
8 The -P argument doesn't work very well with many MDI applications.
The last argument of CreateWindowEx() should be used, see MSDN docs.
Tutorial: http://win32assembly.online.fr/tut32.html
8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
of ":only" is highlighted like the cursor. (Lipelis)
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
@@ -3683,8 +3733,6 @@ Problems that will (probably) not be solved:
- In zsh, "gvim&" changes the terminal settings. This is a zsh problem.
(Jennings)
- Problem with HPterm under X: old contents of window is lost (Cosentino).
- Amiga: When using quickfix with the Manx compiler we only get the first 25
errors. How do we get the rest?
- Amiga: The ":cq" command does not always abort the Manx compiler. Why?
- Linux: A file with protection r--rw-rw- is seen readonly for others. The
access() function in GNU libc is probably wrong.
@@ -3859,8 +3907,6 @@ Tab pages:
8 Add local options for each tab page? E.g., 'diffopt' could differ between
tab pages.
7 Add local highlighting for each tab page?
7 Add local directory for tab pages? How would this interfere with
window-local directories?
Spell checking:
@@ -4017,10 +4063,6 @@ Multi-byte characters:
8 Add an item in 'fileencodings' to check the first line of an XML file for
the encoding. <?xml version="1.0" encoding="UTF-8"?> Or "charset=UTF-8"?
For HTML look for "charset=utf-8".
8 The quickfix file is read without conversion, thus in 'encoding'. Add an
option to specify the encoding of the errorfile and convert it. Also for
":grep" and ":helpgrep".
More generic solution: support a filter (e.g., by calling a function).
8 When a file was converted from 'fileencoding' to 'encoding', a tag search
should also do this on the search pattern. (Andrzej M. Ostruszka)
8 When filtering changes the encoding 'fileencoding' may not work. E.g.,
@@ -5828,8 +5870,6 @@ Various improvements:
from the 'makeprg'?
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
7 Add a command that goes back to the position from before jumping to the
first quickfix location. ":cbefore"?
7 Allow a window not to have a statusline. Makes it possible to use a
window as a buffer-tab selection.
8 Allow non-active windows to have a different statusline. (Yakov Lerner)

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 8.1. Last change: 2018 Feb 20
*usr_05.txt* For Vim version 8.1. Last change: 2019 Feb 27
VIM USER MANUAL - by Bram Moolenaar
@@ -11,12 +11,13 @@ Vim's capabilities. Or define your own macros.
|05.1| The vimrc file
|05.2| The example vimrc file explained
|05.3| Simple mappings
|05.4| Adding a package
|05.5| Adding a plugin
|05.6| Adding a help file
|05.7| The option window
|05.8| Often used options
|05.3| The defaults.vim file explained
|05.4| Simple mappings
|05.5| Adding a package
|05.6| Adding a plugin
|05.7| Adding a help file
|05.8| The option window
|05.9| Often used options
Next chapter: |usr_06.txt| Using syntax highlighting
Previous chapter: |usr_04.txt| Making small changes
@@ -81,6 +82,95 @@ In this section we will explain the various commands used in this file. This
will give you hints about how to set up your own preferences. Not everything
will be explained though. Use the ":help" command to find out more.
>
" Get the defaults that most users want.
source $VIMRUNTIME/defaults.vim
This loads the "defaults.vim" file in the $VIMRUNTIME directory. This sets up
Vim for how most users like it. If you are one of the few that don't, then
comment out this line. The commands are explained below:
|defaults.vim-explained|
>
if has("vms")
set nobackup
else
set backup
if has('persistent_undo')
set undofile
endif
endif
This tells Vim to keep a backup copy of a file when overwriting it. But not
on the VMS system, since it keeps old versions of files already. The backup
file will have the same name as the original file with "~" added. See |07.4|
This also sets the 'undofile' option, if available. This will store the
multi-level undo information in a file. The result is that when you change a
file, exit Vim, and then edit the file again, you can undo the changes made
previously. It's a very powerful and useful feature, at the cost of storing a
file. For more information see |undo-persistence|.
The "if" command is very useful to set options
only when some condition is met. More about that in |usr_41.txt|.
>
if &t_Co > 2 || has("gui_running")
set hlsearch
endif
This switches on the 'hlsearch' option, telling Vim to highlight matches with
the last used search pattern.
>
augroup vimrcEx
au!
autocmd FileType text setlocal textwidth=78
augroup END
This makes Vim break text to avoid lines getting longer than 78 characters.
But only for files that have been detected to be plain text. There are
actually two parts here. "autocmd FileType text" is an autocommand. This
defines that when the file type is set to "text" the following command is
automatically executed. "setlocal textwidth=78" sets the 'textwidth' option
to 78, but only locally in one file.
The wrapper with "augroup vimrcEx" and "augroup END" makes it possible to
delete the autocommand with the "au!" command. See |:augroup|.
>
if has('syntax') && has('eval')
packadd! matchit
endif
This loads the "matchit" plugin if the required features are available.
It makes the |%| command more powerful. This is explained at
|matchit-install|.
==============================================================================
*05.3* The defaults.vim file explained *defaults.vim-explained*
The |defaults.vim| file is loaded when the user has no vimrc file. When you
create a new vimrc file, add this line near the top to keep using it: >
source $VIMRUNTIME/defaults.vim
Or use the vimrc_example.vim file, as explained above.
The following explains what defaults.vim is doing.
>
if exists('skip_defaults_vim')
finish
endif
Loading defaults.vim can be disabled with this command: >
let skip_defaults_vim = 1
This has to be done in the system vimrc file. See |system-vimrc|. If you
have a user vimrc this is not needed, since defaults.vim will not be loaded
automatically.
>
set nocompatible
@@ -94,38 +184,19 @@ option off, thus 'nocompatible' takes care of this.
This specifies where in Insert mode the <BS> is allowed to delete the
character in front of the cursor. The three items, separated by commas, tell
Vim to delete the white space at the start of the line, a line break and the
character before where Insert mode started.
character before where Insert mode started. See 'backspace'.
>
set history=200
set autoindent
Keep 200 commands and 200 search patterns in the history. Use another number
if you want to remember fewer or more lines. See 'history'.
This makes Vim use the indent of the previous line for a newly created line.
Thus there is the same amount of white space before the new line. For example
when pressing <Enter> in Insert mode, and when using the "o" command to open a
new line.
>
if has("vms")
set nobackup
else
set backup
endif
This tells Vim to keep a backup copy of a file when overwriting it. But not
on the VMS system, since it keeps old versions of files already. The backup
file will have the same name as the original file with "~" added. See |07.4|
>
set history=50
Keep 50 commands and 50 search patterns in the history. Use another number if
you want to remember fewer or more lines.
>
set ruler
Always display the current cursor position in the lower right corner of the
Vim window.
Vim window. See 'ruler'.
>
set showcmd
@@ -144,10 +215,37 @@ the "2fw" command is executed and the displayed "2f" is removed.
^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
'showmode' 'showcmd' 'ruler'
>
set wildmenu
Display completion matches in a status line. That is when you type <Tab> and
there is more than one match. See 'wildmenu'.
>
set ttimeout
set ttimeoutlen=100
This makes typing Esc take effect more quickly. Normally Vim waits a second
to see if the Esc is the start of an escape sequence. If you have a very slow
remote connection, increase the number. See 'ttimeout'.
>
set display=truncate
Show @@@ in the last line if it is truncated, instead of hiding the whole
like. See 'display'.
>
set incsearch
Display the match for a search pattern when halfway typing it.
Display the match for a search pattern when halfway typing it. See
'incsearch'.
>
set nrformats-=octal
Do not recognize numbers starting with a zero as octal. See 'nrformats'.
>
map Q gq
@@ -157,24 +255,31 @@ defines the "Q" command to do formatting with the "gq" operator. This is how
it worked before Vim 5.0. Otherwise the "Q" command starts Ex mode, but you
will not need it.
>
inoremap <C-U> <C-G>u<C-U>
CTRL-U in insert mode deletes all entered text in the current line. Use
CTRL-G u to first break undo, so that you can undo CTRL-U after inserting a
line break. Revert with ":iunmap <C-U>".
>
if has('mouse')
set mouse=a
endif
Enable using the mouse if available. See 'mouse'.
>
vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
This mapping yanks the visually selected text and searches for it in C files.
This is a complicated mapping. You can see that mappings can be used to do
quite complicated things. Still, it is just a sequence of commands that are
executed like you typed them.
You can see that a mapping can be used to do quite complicated things. Still,
it is just a sequence of commands that are executed like you typed them.
>
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
syntax on
This switches on syntax highlighting, but only if colors are available. And
the 'hlsearch' option tells Vim to highlight matches with the last used search
pattern. The "if" command is very useful to set options only when some
condition is met. More about that in |usr_41.txt|.
Enable highlighting files in color. See |syntax|.
*vimrc-filetype* >
filetype plugin indent on
@@ -201,21 +306,12 @@ This switches on three very clever mechanisms:
automatically. Vim comes with these indent rules for a number of
filetypes. See |:filetype-indent-on| and 'indentexpr'.
>
autocmd FileType text setlocal textwidth=78
This makes Vim break text to avoid lines getting longer than 78 characters.
But only for files that have been detected to be plain text. There are
actually two parts here. "autocmd FileType text" is an autocommand. This
defines that when the file type is set to "text" the following command is
automatically executed. "setlocal textwidth=78" sets the 'textwidth' option
to 78, but only locally in one file.
*restore-cursor* >
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
*restore-cursor* *last-position-jump* >
autocmd BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
\ | exe "normal! g`\""
\ | endif
Another autocommand. This time it is used after reading any file. The
complicated stuff after it checks if the '" mark is defined, and jumps to it
@@ -224,8 +320,22 @@ from the previous line. That avoids a line getting very long.
See |line-continuation|. This only works in a Vim script file, not when
typing commands at the command-line.
>
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
\ | wincmd p | diffthis
This adds the ":DiffOrig" command. Use this in a modified buffer to see the
differences with the file it was loaded from. See |diff| and |:DiffOrig|.
>
set nolangremap
Prevent that the langmap option applies to characters that result from a
mapping. If set (default), this may break plugins (but it's backward
compatible). See 'langremap'.
==============================================================================
*05.3* Simple mappings
*05.4* Simple mappings
A mapping enables you to bind a set of Vim commands to a single key. Suppose,
for example, that you need to surround certain words with curly braces. In
@@ -272,7 +382,7 @@ The ":map" command (with no arguments) lists your current mappings. At
least the ones for Normal mode. More about mappings in section |40.1|.
==============================================================================
*05.4* Adding a package *add-package* *matchit-install*
*05.5* Adding a package *add-package* *matchit-install*
A package is a set of files that you can add to Vim. There are two kinds of
packages: optional and automatically loaded on startup.
@@ -310,7 +420,7 @@ an archive or as a repository. For an archive you can follow these steps:
More information about packages can be found here: |packages|.
==============================================================================
*05.5* Adding a plugin *add-plugin* *plugin*
*05.6* Adding a plugin *add-plugin* *plugin*
Vim's functionality can be extended by adding plugins. A plugin is nothing
more than a Vim script file that is loaded automatically when Vim starts. You
@@ -462,7 +572,7 @@ Further reading:
|new-filetype| How to detect a new file type.
==============================================================================
*05.6* Adding a help file *add-local-help*
*05.7* Adding a help file *add-local-help*
If you are lucky, the plugin you installed also comes with a help file. We
will explain how to install the help file, so that you can easily find help
@@ -507,7 +617,7 @@ them through the tag.
For writing a local help file, see |write-local-help|.
==============================================================================
*05.7* The option window
*05.8* The option window
If you are looking for an option that does what you want, you can search in
the help files here: |options|. Another way is by using this command: >
@@ -546,7 +656,7 @@ border. This is what the 'scrolloff' option does, it specifies an offset
from the window border where scrolling starts.
==============================================================================
*05.8* Often used options
*05.9* Often used options
There are an awful lot of options. Most of them you will hardly ever use.
Some of the more useful ones will be mentioned here. Don't forget you can

View File

@@ -1,4 +1,4 @@
*usr_11.txt* For Vim version 8.1. Last change: 2018 Apr 13
*usr_11.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM USER MANUAL - by Bram Moolenaar
@@ -120,7 +120,7 @@ the resulting files if they are what you expected.
USING A SPECIFIC SWAP FILE
If you know which swap file needs to be used, you can recover by giving the
swap file name. Vim will then finds out the name of the original file from
swap file name. Vim will then find out the name of the original file from
the swap file.
Example: >
@@ -205,6 +205,13 @@ something wrong. It may be one of these two situations.
NEWER than swap file! ~
NOTE that in the following situation Vim knows the swap file is not useful and
will automatically delete it:
- The file is a valid swap file (Magic number is correct).
- The flag that the file was modified is not set.
- The process is not running.
UNREADABLE SWAP FILE
Sometimes the line

View File

@@ -202,14 +202,28 @@ the other window. This is called a local directory. >
:pwd
/home/Bram/VeryLongFileName
So long as no ":lcd" command has been used, all windows share the same current
directory. Doing a ":cd" command in one window will also change the current
So long as no `:lcd` command has been used, all windows share the same current
directory. Doing a `:cd` command in one window will also change the current
directory of the other window.
For a window where ":lcd" has been used a different current directory is
remembered. Using ":cd" or ":lcd" in other windows will not change it.
When using a ":cd" command in a window that uses a different current
For a window where `:lcd` has been used a different current directory is
remembered. Using `:cd` or `:lcd` in other windows will not change it.
When using a `:cd` command in a window that uses a different current
directory, it will go back to using the shared directory.
TAB LOCAL DIRECTORY
When you open a new tab page, it uses the directory of the window in the
previous tab page from which the new tab page was opened. You can change the
directory of the current tab page using the `:tcd` command. All the windows in
a tab page share this directory except for windows with a window-local
directory. Any new windows opened in this tab page will use this directory as
the current working directory. Using a `:cd` command in a tab page will not
change the working directory of tab pages which have a tab local directory.
When the global working directory is changed using the ":cd" command in a tab
page, it will also change the current tab page working directory.
==============================================================================
*22.3* Finding a file

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jan 12
*usr_41.txt* For Vim version 8.1. Last change: 2019 Apr 06
VIM USER MANUAL - by Bram Moolenaar
@@ -577,8 +577,10 @@ used for. You can find an alphabetical list here: |functions|. Use CTRL-] on
the function name to jump to detailed help on it.
String manipulation: *string-functions*
nr2char() get a character by its ASCII value
char2nr() get ASCII value of a character
nr2char() get a character by its number value
list2str() get a character string from a list of numbers
char2nr() get number value of a character
str2list() get list of numbers from a string
str2nr() convert a string to a Number
str2float() convert a string to a Float
printf() format a string according to % items
@@ -723,6 +725,8 @@ Cursor and mark position: *cursor-functions* *mark-functions*
diff_filler() get the number of filler lines above a line
screenattr() get attribute at a screen line/row
screenchar() get character code at a screen line/row
screenchars() get character codes at a screen line/row
screenstring() get string of characters at a screen line/row
Working with text in the current buffer: *text-functions*
getline() get a line or list of lines from the buffer
@@ -762,7 +766,7 @@ System functions and manipulation of files:
isdirectory() check if a directory exists
getfsize() get the size of a file
getcwd() get the current working directory
haslocaldir() check if current window used |:lcd|
haslocaldir() check if current window used |:lcd| or |:tcd|
tempname() get the name of a temporary file
mkdir() create a new directory
delete() delete a file
@@ -771,7 +775,8 @@ System functions and manipulation of files:
systemlist() get the result of a shell command as a list
hostname() name of the system
readfile() read a file into a List of lines
writefile() write a List of lines into a file
readdir() get a List of file names in a directory
writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions*
getftime() get last modification time of a file
@@ -834,6 +839,7 @@ Insert mode completion: *completion-functions*
complete() set found matches
complete_add() add to found matches
complete_check() check if completion should be aborted
complete_info() get current completion information
pumvisible() check if the popup menu is displayed
Folding: *folding-functions*
@@ -941,6 +947,7 @@ Testing: *test-functions*
test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now
test_ignore_error() ignore a specific error message
test_null_blob() return a null Blob
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_job() return a null Job

View File

@@ -153,12 +153,6 @@ language than the text.
language, the default should work fine and you don't need to do anything. The
following is only relevant when you want to edit different languages.
Note:
Using different encodings only works when Vim was compiled to handle
it. To find out if it works, use the ":version" command and check the
output for "+multi_byte". If it's there, you are OK. If you see
"-multi_byte" you will have to find another Vim.
USING UNICODE IN THE GUI

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.1. Last change: 2019 Jan 17
*various.txt* For Vim version 8.1. Last change: 2019 Mar 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -82,8 +82,7 @@ g8 Print the hex values of the bytes used in the
value of 'maxcombine' doesn't matter.
Example of a character with two composing characters:
e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
{not in Vi} {only when compiled with the |+multi_byte|
feature}
{not in Vi}
*8g8*
8g8 Find an illegal UTF-8 byte sequence at or after the
@@ -98,8 +97,7 @@ g8 Print the hex values of the bytes used in the
Note that when the cursor is on an illegal byte or the
cursor is halfway a multi-byte character the command
won't move the cursor.
{not in Vi} {only when compiled with the |+multi_byte|
feature}
{not in Vi}
*:p* *:pr* *:print* *E749*
:[range]p[rint] [flags]
@@ -445,7 +443,7 @@ N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
T *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static|
m *+tag_any_white* any white space allowed in tags file |tag-any-white|
m *+tag_any_white* Removed; was to allow any white space in tags files
m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
m *+terminal* Support for terminal window |terminal|
@@ -458,7 +456,8 @@ N *+textprop* |text-properties|
N *+timers* the |timer_start()| function
N *+title* Setting the window 'title' and 'icon'
N *+toolbar* |gui-toolbar|
N *+user_commands* User-defined commands. |user-commands|
T *+user_commands* User-defined commands. |user-commands|
Always enabled since 8.1.1210.
B *+vartabs* Variable-width tabstops. |'vartabstop'|
N *+viminfo* |'viminfo'|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
@@ -572,17 +571,19 @@ N *+X11* Unix only: can restore window title |X11|
the output, not necessarily the whole line. Only some
commands support filtering, try it out to check if it
works. Some of the commands that support filtering:
|:#| - filter whole line
|:command| - filter by command name
|:files| - filter by file name
|:highlight| - filter by highlight group
|:jumps| - filter by file name
|:let| - filter by variable name
|:list| - filter whole line
|:llist| - filter by file name or module name
|:oldfiles| - filter by file name
|:clist| - filter by file name or module name
|:set| - filter by variable name
|:#| - filter whole line
|:clist| - filter by file name or module name
|:command| - filter by command name
|:files| - filter by file name
|:highlight| - filter by highlight group
|:jumps| - filter by file name
|:let| - filter by variable name
|:list| - filter whole line
|:llist| - filter by file name or module name
|:marks| - filter by text in the current file,
or file name for other files
|:oldfiles| - filter by file name
|:set| - filter by variable name
Only normal messages are filtered, error messages are
not.

View File

@@ -2378,7 +2378,7 @@ Solution: Use the msgfmt command found by configure. (Danek Duvall)
Files: src/config.mk.in, src/po/Makefile
Patch 7.4.323
Problem: Substitute() with zero width pattern breaks multi-byte character.
Problem: substitute() with zero width pattern breaks multi-byte character.
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
Files: src/eval.c src/testdir/test69.in, src/testdir/test69.ok
@@ -20311,7 +20311,7 @@ Solution: Use R for a running job and F for a finished job.
Files: src/buffer.c
Patch 8.0.0936
Problem: Mode() returns wrong value for a terminal window.
Problem: mode() returns wrong value for a terminal window.
Solution: Return 't' when typed keys go to a job.
Files: src/evalfunc.c, src/testdir/test_terminal.vim
@@ -20697,7 +20697,7 @@ Solution: Add type cast. (Mike Williams)
Files: src/channel.c
Patch 8.0.1004
Problem: Matchstrpos() without a match returns too many items.
Problem: matchstrpos() without a match returns too many items.
Solution: Also remove the second item when the position is beyond the end of
the string. (Hirohito Higashi) Use an enum for the type.
Files: src/evalfunc.c, src/testdir/test_match.vim
@@ -22544,7 +22544,7 @@ Files: src/ex_getln.c, src/proto/search.pro, src/search.c,
src/testdir/test_search.vim
Patch 8.0.1305
Problem: Writefile() never calls fsync().
Problem: writefile() never calls fsync().
Solution: Follow the 'fsync' option with override to enable or disable.
Files: src/fileio.c, src/evalfunc.c, runtime/doc/eval.txt, src/globals.h,
src/testdir/test_writefile.vim
@@ -22732,7 +22732,7 @@ Solution: Take the winbar into account when computing the new window
Files: src/vim.h, src/window.c
Patch 8.0.1335
Problem: Writefile() using fsync() may give an error for a device.
Problem: writefile() using fsync() may give an error for a device.
(Yasuhiro Matsumoto)
Solution: Ignore fsync() failing. (closes #2373)
Files: src/evalfunc.c
@@ -23618,7 +23618,7 @@ Files: src/edit.c, src/testdir/test_ins_complete.vim,
src/testdir/test_popup.vim, src/testdir/test_edit.vim
Patch 8.0.1483
Problem: Searchpair() might return an invalid value on timeout.
Problem: searchpair() might return an invalid value on timeout.
Solution: When the second search times out, do not accept a match from the
first search. (Daniel Hahler, closes #2552)
Files: src/search.c
@@ -23722,7 +23722,7 @@ Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/Makefile,
src/testdir/Make_all.mak, src/testdir/test_jumplist.vim
Patch 8.0.1498 (after 8.0.1497)
Problem: Getjumplist() returns duplicate entries. (lacygoill)
Problem: getjumplist() returns duplicate entries. (lacygoill)
Solution: Call cleanup_jumplist(). (Yegappan Lakshmanan)
Files: src/evalfunc.c, src/mark.c, src/proto/mark.pro,
src/testdir/test_jumplist.vim
@@ -23842,7 +23842,7 @@ Solution: Restore emsg_silent before executing :try. (closes #2531)
Files: src/ex_docmd.c, src/testdir/test_eval_stuff.vim
Patch 8.0.1519
Problem: Getchangelist() does not use argument as bufname().
Problem: getchangelist() does not use argument as bufname().
Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
Files: src/evalfunc.c, src/testdir/test_changelist.vim

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.1. Last change: 2016 Aug 16
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,8 +19,9 @@ is missing something or because Posix is beside the mark).
3. Limits |limits|
4. The most interesting additions |vim-additions|
5. Other vim features |other-features|
6. Command-line arguments |cmdline-arguments|
7. POSIX compliance |posix-compliance|
6. Supported Vi features |vi-features|
7. Command-line arguments |cmdline-arguments|
8. POSIX compliance |posix-compliance|
==============================================================================
1. Simulated command *simulated-command*
@@ -787,7 +788,80 @@ message, since that may cause a mapping to be aborted.
The AUX: device of the Amiga is supported.
==============================================================================
6. Command-line arguments *cmdline-arguments*
6. Supported Vi features *vi-features*
Vim supports nearly all Vi commands and mostly in the same way. That is when
the 'compatible' option is set and 'cpoptions' contains all flags. What the
effect is of resetting 'compatible' and removing flags from 'cpoptions' can be
found at the help for the specific command.
Below is listed what features are present in Vi. Anything else has been added
by Vim.
The following Ex commands are supported by Vi: ~
TODO
`:set` but not `:set inv{option}`, `:set option&`, `:set all&`,
`:set option+=value`,
`:set option^=value`
`:set option-=value`
`:set option<`
The following Normal mode commands are supported by Vi: ~
TODO
The following options are supported by Vi: ~
'autoindent' 'ai' take indent for new line from previous line
'autowrite' 'aw' automatically write file if changed
'directory' 'dir' list of directory names for the swap file
'edcompatible' 'ed' toggle flags of ":substitute" command
'errorbells' 'eb' ring the bell for error messages
'ignorecase' 'ic' ignore case in search patterns
'lines' number of lines in the display
'lisp' automatic indenting for Lisp
'list' show <Tab> and <EOL>
'magic' changes special characters in search patterns
'modeline' 'ml' recognize 'modelines' at start or end of file
{called modelines in some Vi versions}
'number' 'nu' print the line number in front of each line
'paragraphs' 'para' nroff macros that separate paragraphs
'prompt' 'prompt' enable prompt in Ex mode
'readonly' 'ro' disallow writing the buffer {Vim sets 'readonly'
when editing a file with `:view`}
'remap' allow mappings to work recursively
'report' threshold for reporting nr. of lines changed
'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
'sections' 'sect' nroff macros that separate sections
'shell' 'sh' name of shell to use for external commands
'shiftwidth' 'sw' number of spaces to use for (auto)indent step
'showmatch' 'sm' briefly jump to matching bracket if insert one
'showmode' 'smd' message on status line to show current mode
'tabstop' 'ts' number of spaces that <Tab> in file uses
'taglength' 'tl' number of significant characters for a tag
'tags' 'tag' list of file names used by the tag command
'tagstack' 'tgst' push tags onto the tag stack {not in all versions
of Vi}
'term' name of the terminal
'terse' shorten some messages
'timeout' 'to' time out on mappings and key codes
'ttytype' 'tty' alias for 'term'
'verbose' 'vbs' give informative messages {only in some Vi
versions as a boolean option}
'warn' warn for shell command when buffer was changed
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
'wrapmargin' 'wm' chars from the right where wrapping starts
'wrapscan' 'ws' searches wrap around the end of the file
'writeany' 'wa' write to file with no need for "!" override
Also see |missing-options|.
==============================================================================
7. Command-line arguments *cmdline-arguments*
Different versions of Vi have different command-line arguments. This can be
confusing. To help you, this section gives an overview of the differences.
@@ -967,7 +1041,7 @@ Only Vim is able to accept options in between and after the file names.
@{cmdfile} Vile: use {cmdfile} as startup file.
==============================================================================
7. POSIX compliance *posix* *posix-compliance*
8. POSIX compliance *posix* *posix-compliance*
In 2005 the POSIX test suite was run to check the compatibility of Vim. Most
of the test was executed properly. There are the few things where Vim

View File

@@ -1,4 +1,4 @@
*visual.txt* For Vim version 8.1. Last change: 2019 Jan 11
*visual.txt* For Vim version 8.1. Last change: 2019 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -118,6 +118,8 @@ gn Search forward for the last used search pattern, like
E.g., "dgn" deletes the text of the next match.
If Visual mode is active, extends the selection
until the end of the next match.
Note: Unlike `n` the search direction does not depend
on the previous search command.
*gN* *v_gN*
gN Like |gn| but searches backward, like with `N`.

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2018 Apr 24
*windows.txt* For Vim version 8.1. Last change: 2019 Mar 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -842,6 +842,12 @@ CTRL-W gF *CTRL-W_gF*
{not available when the |+file_in_path| feature was disabled
at compile time}
CTRL-W gt *CTRL-W_gt*
Go to next tab page, same as `gt`.
CTRL-W gT *CTRL-W_gT*
Go to previous tab page, same as `gT`.
Also see |CTRL-W_CTRL-I|: open window for an included file that includes
the keyword under the cursor.

View File

@@ -1,6 +1,6 @@
" Vim script for Evim key bindings
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Sep 20
" Last Change: 2019 Jan 27
" Don't use Vi-compatible mode.
set nocompatible
@@ -49,19 +49,14 @@ if &t_Co > 2 || has("gui_running")
nohlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on
" For all text files set 'textwidth' to 78 characters.
au FileType text setlocal tw=78
endif " has("autocmd")
" For all text files set 'textwidth' to 78 characters.
au FileType text setlocal tw=78
" Add optional packages.
"

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 18
" Last Change: 2019 Apr 19
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -42,6 +42,8 @@ endif
" Function used for patterns that end in a star: don't set the filetype if the
" file name matches ft_ignore_pat.
" When using this, the entry should probably be further down below with the
" other StarSetf() calls.
func! s:StarSetf(ft)
if expand("<amatch>") !~ g:ft_ignore_pat
exe 'setf ' . a:ft
@@ -54,6 +56,9 @@ au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
" Abaqus or Trasys
au BufNewFile,BufRead *.inp call dist#ft#Check_inp()
" 8th (Firth-derivative)
au BufNewFile,BufRead *.8th setf 8th
" A-A-P recipe
au BufNewFile,BufRead *.aap setf aap
@@ -92,11 +97,9 @@ au BufNewFile,BufRead build.xml setf ant
" Arduino
au BufNewFile,BufRead *.ino,*.pde setf arduino
" Apache style config file
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" Apache config file
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
au BufNewFile,BufRead */etc/apache2/sites-*/*.com setf apache
" XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65
@@ -651,7 +654,6 @@ au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
" Gitolite
au BufNewFile,BufRead gitolite.conf setf gitolite
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
" Gnuplot scripts
@@ -800,7 +802,6 @@ au BufNewFile,BufRead *.jsp setf jsp
" Java Properties resource file (note: doesn't catch font.properties.pl)
au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties
au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties')
" Jess
au BufNewFile,BufRead *.clp setf jess
@@ -1173,6 +1174,10 @@ au BufNewFile,BufRead *.rcp setf pilrc
" Pine config
au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
" Pipenv Pipfiles
au BufNewFile,BufRead Pipfile setf config
au BufNewFile,BufRead Pipfile.lock setf json
" PL/1, PL/I
au BufNewFile,BufRead *.pli,*.pl1 setf pli
@@ -1458,7 +1463,6 @@ au BufNewFile,BufRead *.decl,*.dcl,*.dec
" SGML catalog file
au BufNewFile,BufRead catalog setf catalog
au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
@@ -1613,6 +1617,10 @@ au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
" Systemd unit files
au BufNewFile,BufRead */systemd/*.{automount,mount,path,service,socket,swap,target,timer} setf systemd
" Systemd overrides
au BufNewFile,BufRead /etc/systemd/system/*.d/*.conf setf systemd
" Systemd temp files
au BufNewFile,BufRead /etc/systemd/system/*.d/.#* setf systemd
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc
@@ -1695,6 +1703,9 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
" TWIG files
au BufNewFile,BufReadPost *.twig setf twig
" Typescript
au BufNewFile,BufReadPost *.ts setf typescript
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
@@ -1735,7 +1746,6 @@ au BufNewFile,BufRead *.sv,*.svh setf systemverilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
" Vim script
au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim
@@ -1857,7 +1867,8 @@ au BufNewFile,BufRead *.xmi setf xml
au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML
au BufNewFile,BufRead *.ts,*.ui setf xml
" However, for .ts Typescript is more common.
au BufNewFile,BufRead *.ui setf xml
" TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull)
au BufNewFile,BufRead *.tpm setf xml
@@ -1948,6 +1959,7 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
" More Apache style config files
au BufNewFile,BufRead */etc/proftpd/*.conf*,*/etc/proftpd/conf.*/* call s:StarSetf('apachestyle')
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" More Apache config files
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
@@ -2004,6 +2016,12 @@ au BufNewFile,BufRead *fvwm2rc*
" Gedcom
au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom')
" Git
au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/* call s:StarSetf('gitconfig')
" Gitolite
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
" GTK RC
au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc')
@@ -2016,6 +2034,9 @@ au! BufNewFile,BufRead *jarg*
\| call s:StarSetf('jargon')
\|endif
" Java Properties resource file (note: doesn't catch font.properties.pl)
au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties')
" Kconfig
au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
@@ -2077,6 +2098,9 @@ au BufRead,BufNewFile *.rdf call dist#ft#Redif()
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
" SGML catalog file
au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Shell scripts ending in a star
au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,,PKGBUILD* call dist#ft#SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc* call dist#ft#SetFileTypeSH("ksh")
@@ -2088,6 +2112,9 @@ au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh")
" csh scripts ending in a star
au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
" VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
" Vim script
au BufNewFile,BufRead *vimrc* call s:StarSetf('vim')

25
runtime/ftplugin/8th.vim Normal file
View File

@@ -0,0 +1,25 @@
" Vim ftplugin file
" Language: 8th
" Version: any
" Last Change: 2015/11/08
" Maintainer: Ron Aaron <ron@aaron-tech.com>
" URL: https://8th-dev.com/
" Filetypes: *.8th
" NOTE: 8th allows any non-whitespace in a name, so you need to do:
" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
" This goes with the syntax/8th.vim file.
" Only do this when not done yet for this buffer
if exists("b:did_8thplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_8thplugin = 1
setlocal ts=2 sts=2 sw=2 et
setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
setlocal fo=tcrqol
setlocal matchpairs+=\::;
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
setlocal suffixesadd=.8th

View File

@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info>
" Last Update: By ZyX: use shiftwidth()
" Maintainer: Ankit Jain <ajatkj@yahoo.co.in>
" (formerly Tim Pope <vimNOSPAM@tpope.info>)
" Last Update: By Ankit Jain (changed maintainer) on 22.03.2019
" Insert mode mappings: <C-T> <C-D> <Tab>
" Normal mode mappings: < > << >> [[ ]] [] ][

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 8th May 2012
" Last Change: 14th April 2019
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -16,6 +16,7 @@ set cpo&vim
" BAT comment formatting
setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal commentstring=::\ %s
setlocal formatoptions-=t formatoptions+=rol
" Define patterns for the browse file filter

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Make
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2013 Apr 22
" Last Change: 2019 Apr 02
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -27,7 +27,7 @@ setlocal commentstring=#\ %s
" Including files.
let &l:include = '^\s*include'
" For matchit.vim, suggested by Albert Netymk.
" For matchit.vim, suggested by Albert Netymk and Ken Takata.
if exists("loaded_matchit")
let b:match_words = '\<if\(n\)\=\(eq\|def\)\>:\<else\>:\<endif\>,\<define\>:\<endef\>'
let b:match_words = '^ *ifn\=\(eq\|def\)\>:^ *else\(\s\+ifn\=\(eq\|def\)\)\=\>:^ *endif\>,\<define\>:\<endef\>,^!\s*if\(n\=def\)\=\>:^!\s*else\(if\(n\=def\)\=\)\=\>:^!\s*endif\>'
endif

View File

@@ -3,7 +3,7 @@
" Maintainer: Tom Picton <tom@tompicton.co.uk>
" Previous Maintainer: James Sully <sullyj3@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Sun, 15 April 2018
" Last Change: Sun 17 Mar 2019
" https://github.com/tpict/vim-ftplugin-python
if exists("b:did_ftplugin") | finish | endif
@@ -37,9 +37,10 @@ setlocal suffixesadd=.py
setlocal comments=b:#,fb:-
setlocal commentstring=#\ %s
setlocal omnifunc=pythoncomplete#Complete
if has('python3')
setlocal omnifunc=python3complete#Complete
setlocal omnifunc=python3complete#Complete
elseif has('python')
setlocal omnifunc=pythoncomplete#Complete
endif
set wildignore+=*.pyc
@@ -53,32 +54,34 @@ let b:prev='\v^\s*(class\|def\|async def)>'
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0, v:count1)<cr>"
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
if !exists('g:no_plugin_maps') && !exists('g:no_python_maps')
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W', v:count1)<cr>"
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb', v:count1)<cr>"
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', v:count1, 0)<cr>"
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', v:count1, 0)<cr>"
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W', v:count1)<cr>"
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb', v:count1)<cr>"
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0, v:count1)<cr>"
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', v:count1, 0)<cr>"
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', v:count1, 0)<cr>"
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W', v:count1)<cr>"
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb', v:count1)<cr>"
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', v:count1, 0)<cr>"
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', v:count1, 0)<cr>"
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W', v:count1)<cr>"
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb', v:count1)<cr>"
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0, v:count1)<cr>"
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W', v:count1)<cr>"
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', v:count1, 0)<cr>"
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', v:count1, 0)<cr>"
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W', v:count1)<cr>"
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb', v:count1)<cr>"
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', v:count1, 0)<cr>"
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', v:count1, 0)<cr>"
endif
if !exists('*<SID>Python_jump')
fun! <SID>Python_jump(mode, motion, flags, count, ...) range
@@ -123,10 +126,80 @@ if !exists('g:pydoc_executable')
let g:pydoc_executable = 0
endif
endif
" Windows-specific pydoc setup
if has('win32') || has('win64')
if executable('python')
" available as Tools\scripts\pydoc.py
let g:pydoc_executable = 1
else
let g:pydoc_executable = 0
endif
endif
" If "pydoc" was found use it for keywordprg.
if g:pydoc_executable
setlocal keywordprg=pydoc
if has('win32') || has('win64')
setlocal keywordprg=python\ -m\ pydoc\
else
setlocal keywordprg=pydoc
endif
endif
" Script for filetype switching to undo the local stuff we may have changed
let b:undo_ftplugin = 'setlocal cinkeys<'
\ . '|setlocal comments<'
\ . '|setlocal commentstring<'
\ . '|setlocal expandtab<'
\ . '|setlocal include<'
\ . '|setlocal includeexpr<'
\ . '|setlocal indentkeys<'
\ . '|setlocal keywordprg<'
\ . '|setlocal omnifunc<'
\ . '|setlocal shiftwidth<'
\ . '|setlocal softtabstop<'
\ . '|setlocal suffixesadd<'
\ . '|setlocal tabstop<'
\ . '|silent! nunmap <buffer> [M'
\ . '|silent! nunmap <buffer> [['
\ . '|silent! nunmap <buffer> []'
\ . '|silent! nunmap <buffer> [m'
\ . '|silent! nunmap <buffer> ]M'
\ . '|silent! nunmap <buffer> ]['
\ . '|silent! nunmap <buffer> ]]'
\ . '|silent! nunmap <buffer> ]m'
\ . '|silent! ounmap <buffer> [M'
\ . '|silent! ounmap <buffer> [['
\ . '|silent! ounmap <buffer> []'
\ . '|silent! ounmap <buffer> [m'
\ . '|silent! ounmap <buffer> ]M'
\ . '|silent! ounmap <buffer> ]['
\ . '|silent! ounmap <buffer> ]]'
\ . '|silent! ounmap <buffer> ]m'
\ . '|silent! xunmap <buffer> [M'
\ . '|silent! xunmap <buffer> [['
\ . '|silent! xunmap <buffer> []'
\ . '|silent! xunmap <buffer> [m'
\ . '|silent! xunmap <buffer> ]M'
\ . '|silent! xunmap <buffer> ]['
\ . '|silent! xunmap <buffer> ]]'
\ . '|silent! xunmap <buffer> ]m'
\ . '|unlet! b:browsefilter'
\ . '|unlet! b:child_match'
\ . '|unlet! b:child_sub'
\ . '|unlet! b:grandparent_match'
\ . '|unlet! b:grandparent_sub'
\ . '|unlet! b:next'
\ . '|unlet! b:next_end'
\ . '|unlet! b:next_endtoplevel'
\ . '|unlet! b:next_toplevel'
\ . '|unlet! b:parent_match'
\ . '|unlet! b:parent_sub'
\ . '|unlet! b:prev'
\ . '|unlet! b:prev_end'
\ . '|unlet! b:prev_endtoplevel'
\ . '|unlet! b:prev_toplevel'
\ . '|unlet! b:undo_ftplugin'
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -30,7 +30,7 @@ setlocal formatoptions+=tcroql
"
" More sophisticated indentation rules should be revisted in the future.
if !exists("g:rst_style") || g:rst_style != 0
if exists("g:rst_style") && g:rst_style != 0
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
endif

View File

@@ -1,12 +1,23 @@
# The gvim.desktop file is generated by src/po/Makefile, do NOT edit.
# Edit the src/po/gvim.desktop.in file instead.
[Desktop Entry]
Name=gVim
# Translators: This is the Application Name used in the GVim desktop file
Name[de]=GVim
Name=GVim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[de]=Texteditor
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[de]=Textdateien bearbeiten
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file!
GenericName[da]=Teksteditor
GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo
GenericName[fr]=Éditeur de texte
GenericName[pl]=Edytor tekstu
Comment=Edit text files
GenericName[is]=Ritvinnsluforrit
Comment[af]=Redigeer tekslêers
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ
Comment[ar]=حرّر ملفات نصية
@@ -37,6 +48,7 @@ Comment[hi]=पाठ फ़ाइलें संपादित करें
Comment[hr]=Uređivanje tekstualne datoteke
Comment[hu]=Szövegfájlok szerkesztése
Comment[id]=Edit file teks
Comment[is]=Vinna með textaskrár
Comment[it]=Modifica file di testo
Comment[ja]=テキストファイルを編集します
Comment[kn]=ಪಠ್ಯ ಕಡತಗಳನ್ನು ಸಂಪಾದಿಸು
@@ -79,7 +91,11 @@ TryExec=gvim
Exec=gvim -f %F
Terminal=false
Type=Application
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
Keywords[de]=Text;Editor;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon[de]=gvim
Icon=gvim
Categories=Utility;TextEditor;
StartupNotify=true

View File

@@ -11,4 +11,4 @@ test:
clean:
VIMRUNTIME=$(VIMRUNTIME) $(VIM) --clean --not-a-term -u testdir/cleantest.vim
rm -f testdir/*.fail testdir/*.out

View File

@@ -1,7 +1,12 @@
" Vim indent file
" Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info>
" Maintainer: Ankit Jain <ajatkj@yahoo.co.in>
" (formerly Tim Pope <vimNOSPAM@tpope.info>)
" $Id: cobol.vim,v 1.1 2007/05/05 18:08:19 vimboss Exp $
" Last Update: By Ankit Jain on 22.03.2019
" Ankit Jain 22.03.2019 Changes & fixes:
" Allow chars in 1st 6 columns
" #C22032019
if exists("b:did_indent")
finish
@@ -66,7 +71,9 @@ function! GetCobolIndent(lnum) abort
let ashft = minshft + 1
let bshft = ashft + 4
" (Obsolete) numbered lines
if getline(a:lnum) =~? '^\s*\d\{6\}\%($\|[ */$CD-]\)'
" #C22032019: Columns 1-6 could have alphabets as well as numbers
"if getline(a:lnum) =~? '^\s*\d\{6\}\%($\|[ */$CD-]\)'
if getline(a:lnum) =~? '^\s*[a-zA-Z0-9]\{6\}\%($\|[ */$CD-]\)'
return 0
endif
let cline = s:stripped(a:lnum)

View File

@@ -2,7 +2,7 @@
" Header: "{{{
" Maintainer: Bram Moolenaar
" Original Author: Andy Wokula <anwoku@yahoo.de>
" Last Change: 2018 Mar 28
" Last Change: 2019 Mar 20
" Version: 1.0
" Description: HTML indent script with cached state for faster indenting on a
" range of lines.
@@ -902,12 +902,19 @@ func! s:InsideTag(foundHtmlString)
"{{{
if a:foundHtmlString
" Inside an attribute string.
" Align with the previous line or use an external function.
" Align with the opening quote or use an external function.
let lnum = v:lnum - 1
if lnum > 1
if exists('b:html_indent_tag_string_func')
return b:html_indent_tag_string_func(lnum)
endif
" If there is a double quote in the previous line, indent with the
" character after it.
if getline(lnum) =~ '"'
call cursor(lnum, 0)
normal f"
return virtcol('.')
endif
return indent(lnum)
endif
endif

View File

@@ -2,7 +2,7 @@
" Language: Python
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Original Author: David Bustos <bustos@caltech.edu>
" Last Change: 2013 Jul 9
" Last Change: 2019 Feb 21
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -53,58 +53,68 @@ function GetPythonIndent(lnum)
return 0
endif
" searchpair() can be slow sometimes, limit the time to 100 msec or what is
" put in g:pyindent_searchpair_timeout
let searchpair_stopline = 0
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
call cursor(plnum, 1)
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
let plindent = indent(parlnum)
let plnumstart = parlnum
else
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
if disable_parentheses_indenting == 1
let plindent = indent(plnum)
let plnumstart = plnum
endif
else
" searchpair() can be slow sometimes, limit the time to 150 msec or what is
" put in g:pyindent_searchpair_timeout
let searchpair_stopline = 0
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" If the previous line is inside parenthesis, use the indent of the starting
" line.
" Trick: use the non-existing "dummy" variable to break out of the loop when
" going too far back.
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0
let plindent = indent(parlnum)
let plnumstart = parlnum
else
let plindent = indent(plnum)
let plnumstart = plnum
endif
" When inside parenthesis: If at the first line below the parenthesis add
" two 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
" When inside parenthesis: If at the first line below the parenthesis add
" two 'shiftwidth', otherwise same as previous line.
" i = (a
" + b
" + c)
call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0
if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
endif
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
if plnumstart == p
return indent(plnum)
endif
return plindent
endif
if plnumstart == p
return indent(plnum)
endif
return plindent
endif

View File

@@ -3,10 +3,17 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Latest Revision: 2018-03-26
" Latest Revision: 2019-03-25
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
" 20190325 - Indent fi; correctly
" https://github.com/chrisbra/vim-sh-indent/issues/14
" 20190319 - Indent arrays (only zsh and bash)
" https://github.com/chrisbra/vim-sh-indent/issues/13
" 20190316 - Make use of searchpairpos for nested if sections
" fixes https://github.com/chrisbra/vim-sh-indent/issues/11
" 20190201 - Better check for closing if sections
" 20180724 - make check for zsh syntax more rigid (needs word-boundaries)
" 20180326 - better support for line continuation
" 20180325 - better detection of function definitions
@@ -59,6 +66,7 @@ function! s:indent_value(option)
endfunction
function! GetShIndent()
let curline = getline(v:lnum)
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
return 0
@@ -72,7 +80,7 @@ function! GetShIndent()
" Check contents of previous lines
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
\ (&ft is# 'zsh' && line =~ '\<\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
if !s:is_end_expression(line)
let ind += s:indent_value('default')
endif
elseif s:is_case_label(line, pnum)
@@ -84,13 +92,22 @@ function! GetShIndent()
if line !~ '}\s*\%(#.*\)\=$'
let ind += s:indent_value('default')
endif
" array (only works for zsh or bash)
elseif s:is_array(line) && line !~ ')\s*$' && (&ft is# 'zsh' || s:is_bash())
let ind += s:indent_value('continuation-line')
" end of array
elseif curline =~ '^\s*)$'
let ind -= s:indent_value('continuation-line')
elseif s:is_continuation_line(line)
if pnum == 0 || !s:is_continuation_line(pline)
let ind += s:indent_value('continuation-line')
endif
elseif s:end_block(line) && !s:start_block(line)
let ind -= s:indent_value('default')
elseif pnum != 0 && s:is_continuation_line(pline) && !s:end_block(getline(v:lnum))
elseif pnum != 0 &&
\ s:is_continuation_line(pline) &&
\ !s:end_block(curline) &&
\ !s:is_end_expression(curline)
" only add indent, if line and pline is in the same block
let i = v:lnum
let ind2 = indent(s:find_continued_lnum(pnum))
@@ -106,8 +123,15 @@ function! GetShIndent()
let pine = line
" Check content of current line
let line = getline(v:lnum)
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || s:end_block(line)
let line = curline
" Current line is a endif line, so get indent from start of "if condition" line
" TODO: should we do the same for other "end" lines?
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
let previous_line = searchpair('\<if\>', '', '\<fi\>', 'bnW')
if previous_line > 0
let ind = indent(previous_line)
endif
elseif line =~ '^\s*\%(then\|do\|else\|elif\|done\|end\)\>' || s:end_block(line)
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
let ind -= s:indent_value('default')
@@ -167,6 +191,10 @@ function! s:is_function_definition(line)
\ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
endfunction
function! s:is_array(line)
return a:line =~ '^\s*\<\k\+\>=('
endfunction
function! s:is_case_label(line, pnum)
if a:line !~ '^\s*(\=.*)'
return 0
@@ -210,8 +238,8 @@ endfunction
function! s:is_here_doc(line)
if a:line =~ '^\w\+$'
let here_pat = '<<-\?'. s:escape(a:line). '\$'
return search(here_pat, 'bnW') > 0
let here_pat = '<<-\?'. s:escape(a:line). '\$'
return search(here_pat, 'bnW') > 0
endif
return 0
endfunction
@@ -256,5 +284,13 @@ function! s:is_comment(line)
return a:line =~ '^\s*#'
endfunction
function! s:is_end_expression(line)
return a:line =~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
endfunction
function! s:is_bash()
return get(g:, 'is_bash', 0) || get(b:, 'is_bash', 0)
endfunction
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -82,9 +82,9 @@ RUNNING THE TEST
Before running the test, create a FILETYPE.ok file. You can leave it empty at
first.
Now run "make test". After Vim has done the indenting you will see a
FILETYPE.fail file. This contains the actual result of indenting, and it's
different from the FILETYPE.ok file.
Now run "make test" from the parent directory. After Vim has done the
indenting you will see a FILETYPE.fail file. This contains the actual result
of indenting, and it's different from the FILETYPE.ok file.
Check the contents of the FILETYPE.fail file. If it is perfectly OK, then
rename it to overwrite the FILETYPE.ok file. If you now run "make test" again,

View File

@@ -1,11 +0,0 @@
" Only do this with the +eval feature
if 1
" Deletes all the test output files: *.fail and *.out
for fname in glob('testdir/*.out', 1, 1) + glob('testdir/*.fail', 1, 1)
call delete(fname)
endfor
endif
quit

View File

@@ -9,17 +9,17 @@
</div>
<div
class="foo bar">
class="foo bar">
text
</div>
<div class="foo bar"
data="something">
data="something">
text
</div>
<div class="foo
bar">
bar">
text
</div>

View File

@@ -7,6 +7,7 @@ if 1
set nocp
filetype indent on
syn on
set nowrapscan
set report=9999
@@ -111,7 +112,6 @@ for fname in glob('testdir/*.in', 1, 1)
if failed
exe 'write ' . root . '.fail'
echoerr 'Test ' . fname . ' FAILED!'
sleep 2
else
exe 'write ' . root . '.out'
endif

View File

@@ -10,11 +10,11 @@
<!-- text comment -->
<!--
text comment
text comment
-->
</tag1>
<!--
text comment
text comment
end coment -->
</tag0>
<!-- END_INDENT -->

View File

@@ -1,9 +1,13 @@
" Language: xml
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" Last Changed: Dec 07th, 2018
" Last Changed: Feb 04, 2019
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change:
" 20190204 - correctly handle wrap tags
" https://github.com/chrisbra/vim-xml-ftplugin/issues/5
" 20190128 - Make sure to find previous tag
" https://github.com/chrisbra/vim-xml-ftplugin/issues/4
" 20181116 - Fix indentation when tags start with a colon or an underscore
" https://github.com/vim/vim/pull/926
" 20181022 - Do not overwrite indentkeys setting
@@ -72,13 +76,20 @@ fun! <SID>XmlIndentSynCheck(lnum)
endfun
" [-- return the sum of indents of a:lnum --]
fun! <SID>XmlIndentSum(lnum, style, add)
let line = getline(a:lnum)
if a:style == match(line, '^\s*</')
fun! <SID>XmlIndentSum(line, style, add)
if <SID>IsXMLContinuation(a:line) && a:style == 0
" no complete tag, add one additional indent level
" but only for the current line
return a:add + shiftwidth()
elseif <SID>HasNoTagEnd(a:line)
" no complete tag, return initial indent
return a:add
endif
if a:style == match(a:line, '^\s*</')
return (shiftwidth() *
\ (<SID>XmlIndentWithPattern(line, b:xml_indent_open)
\ - <SID>XmlIndentWithPattern(line, b:xml_indent_close)
\ - <SID>XmlIndentWithPattern(line, '.\{-}/>'))) + a:add
\ (<SID>XmlIndentWithPattern(a:line, b:xml_indent_open)
\ - <SID>XmlIndentWithPattern(a:line, b:xml_indent_close)
\ - <SID>XmlIndentWithPattern(a:line, '.\{-}/>'))) + a:add
else
return a:add
endif
@@ -87,18 +98,24 @@ endfun
" Main indent function
fun! XmlIndentGet(lnum, use_syntax_check)
" Find a non-empty line above the current line.
let plnum = prevnonblank(a:lnum - 1)
" Find previous line with a tag (regardless whether open or closed)
let ptag = search('.\{-}<[/:A-Z_a-z]', 'bnw')
" Hit the start of the file, use zero indent.
if plnum == 0
if prevnonblank(a:lnum - 1) == 0
" Hit the start of the file, use zero indent.
return 0
endif
" Find previous line with a tag (regardless whether open or closed,
" but always start restrict the match to a line before the current one
" Note: xml declaration: <?xml version="1.0"?>
" won't be found, as it is not a legal tag name
let ptag_pattern = '\%(.\{-}<[/:A-Z_a-z]\)'. '\%(\&\%<'. line('.').'l\)'
let ptag = search(ptag_pattern, 'bnW')
" no previous tag
if ptag == 0
return 0
endif
let syn_name = ''
let syn_name = ''
if a:use_syntax_check
let check_lnum = <SID>XmlIndentSynCheck(plnum)
let check_lnum = <SID>XmlIndentSynCheck(ptag)
let check_alnum = <SID>XmlIndentSynCheck(a:lnum)
if check_lnum == 0 || check_alnum == 0
return indent(a:lnum)
@@ -110,18 +127,31 @@ fun! XmlIndentGet(lnum, use_syntax_check)
return <SID>XmlIndentComment(a:lnum)
endif
let pline = getline(ptag)
let pind = indent(ptag)
" Get indent from previous tag line
let ind = <SID>XmlIndentSum(ptag, -1, indent(ptag))
let ind = <SID>XmlIndentSum(pline, -1, pind)
let t_ind = ind
" Determine indent from current line
let ind = <SID>XmlIndentSum(a:lnum, 0, ind)
let ind = <SID>XmlIndentSum(getline(a:lnum), 0, ind)
return ind
endfun
func! <SID>IsXMLContinuation(line)
" Checks, whether or not the line matches a start-of-tag
return a:line !~ '^\s*<'
endfunc
func! <SID>HasNoTagEnd(line)
" Checks whether or not the line matches '>' (so finishes a tag)
return a:line !~ '>\s*$'
endfunc
" return indent for a commented line,
" the middle part might be indented on additional level
func! <SID>XmlIndentComment(lnum)
let ptagopen = search(b:xml_indent_open, 'bnw')
let ptagclose = search(b:xml_indent_close, 'bnw')
let ptagopen = search(b:xml_indent_open, 'bnW')
let ptagclose = search(b:xml_indent_close, 'bnW')
if getline(a:lnum) =~ '<!--'
" if previous tag was a closing tag, do not add
" one additional level of indent
@@ -133,10 +163,10 @@ func! <SID>XmlIndentComment(lnum)
endif
elseif getline(a:lnum) =~ '-->'
" end of comment, same as start of comment
return indent(search('<!--', 'bnw'))
return indent(search('<!--', 'bnW'))
else
" middle part of comment, add one additional level
return indent(search('<!--', 'bnw')) + shiftwidth()
return indent(search('<!--', 'bnW')) + shiftwidth()
endif
endfunc

View File

@@ -368,6 +368,95 @@ let g:menutrans_spell_change_ARG_to = 'Ændr\ "%s"\ til'
let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj\ "%s"\ til\ ordliste'
let g:menutrans_spell_ignore_ARG = 'Ignorer "%s"'
" Forsøg på at oversætte netrw-menuen
menut Help<tab><F1> Hjælp<tab><F1>
" -Sep1-
menut Go\ Up\ Directory<tab>- \ mappe\ op<tab>-
menut Apply\ Special\ Viewer<tab>x Anvend\ speciel\ fremviser<tab>x
menut Bookmarks\ and\ History Bogmærker\ og\ historik<tab>:echo "(disabled)"
menut Bookmark\ Current\ Directory<tab>mb Sæt\ bogmærke\ for\ nuværende\ mappe<tab>mb
menut Goto\ Prev\ Dir\ (History)<tab>u \ til\ forrige\ mappe\ (historik)<tab>u
menut Goto\ Next\ Dir\ (History)<tab>U \ til\ næste\ mappe\ (historik)<tab>U
menut List<tab>qb Oplist<tab>qb
menut Browsing\ Control Gennemgangskontol
menut Horizontal\ Split<tab>o Vandret\ opdeling<tab>o
menut Vertical\ Split<tab>v Lodret\ opdeling<tab>v
menut New\ Tab<tab>t Nyt\ faneblad<tab>t
menut Preview<tab>p Forhåndsvis<tab>p
menut Edit\ File\ Hiding\ List<tab><ctrl-h> Rediger\ liste\ til\ filskjulning
menut Edit\ Sorting\ Sequence<tab>S Rediger\ sorteringssekvens<tab>S
menut Quick\ Hide/Unhide\ Dot\ Files<tab>gh Hurtig\ skjul/vis\ punktum-filer<tab>gh
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l> ikke sikker det med \ er korrekt
menut Settings/Options<tab>:NetrwSettings Indstillinger/valgmuligheder<tab>
menut Delete\ File/Directory<tab>D Slet\ fil/mappe<tab>D
menut Edit\ File/Dir Rediger\ fil/mappe
menut Create\ New\ File<tab>% Opret\ ny\ fil<tab>%
menut In\ Current\ Window<tab><cr> I\ nuværende\ vindue<tab>
menut Preview\ File/Directory<tab>p Forhåndsvis\ fil/mappe<tab>p
menut In\ Previous\ Window<tab>P I\ forrige\ vindue<tab>P
menut In\ New\ Window<tab>o I\ nyt\ vindue<tab>o
menut In\ New\ Tab<tab>t I\ nyt\ faneblad<tab>t
menut In\ New\ Vertical\ Window<tab>v I\ nyt\ lodret\ vindue<tab>v
menut Explore Gennemse
menut Directory\ Name Mappenavn<tab>:Explore
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore */
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore **/
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore *//
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore **//
menut Next\ Match<tab>:Nexplore Næste\ match<tab>:Nexplore<cr>
menut Prev\ Match<tab>:Pexplore Forrige\ match<tab>:Pexplore<cr>
menut Make\ Subdirectory<tab>d Opret\ undermappe<tab>d
menut Marked\ Files Mærkede\ filer
menut Mark\ File<tab>mf Mærk\ fil<tab>mf
menut Mark\ Files\ by\ Regexp<tab>mr Mærk\ filer\ efter\ regulært\ udtrk<tab>mr
menut Hide-Show-List\ Control<tab>a test38<tab>a
menut Copy\ To\ Target<tab>mc Kopiér\ til\ mål<tab>mc
menut Delete<tab>D Slet<tab>D
menut Diff<tab>md Diff<tab>md
menut Edit<tab>me Rediger<tab>me
menut Exe\ Cmd<tab>mx test43<tab>mx
menut Move\ To\ Target<tab>mm Flyt\ til\ mål<tab>mm
menut Obtain<tab>O Indhent<tab>O
menut Print<tab>mp Udskriv<tab>mp
menut Replace<tab>R Erstat<tab>R
menut Set\ Target<tab>mt Sæt\ mål<tab>mt
menut Tag<tab>mT test49<tab>mT
menut Zip/Unzip/Compress/Uncompress<tab>mz Zip/unzip/komprimér/udpak<tab>mz
menut Obtain\ File<tab>O Indhent\ fil<tab>O
menut Style Stile
menut Listing Oplisting
menut thin<tab>i tynd
menut long<tab>i lang
menut wide<tab>i bred
menut tree<tab>i træ
menut Normal-Hide-Show Normal-skjul-vis
menut Show\ All<tab>a Vis\ alle<tab>
menut Normal<tab>a Normal<tab>
menut Hidden\ Only<tab>a Kun\ skulte<tab>
menut Reverse\ Sorting\ Order<tab> Omvendt\ sorteringsrækkefølge
menut Sorting\ Method Sorteringsmetode
menut Name<tab>s Navn
menut Time<tab>s Tidspunkt
menut Size<tab>s Størrelse
menut Exten<tab>s Endelse
menut Rename\ File/Directory<tab>R Omdøb\ fil/mappe<tab>R
menut Set\ Current\ Directory<tab>c Sæt\ nuværende\ mappe<tab>c
menut History Historik
menut Targets Mål
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,8 +1,9 @@
" Menu Translations: German / Deutsch
" Maintainer: Georg Dahn <gorgyd@yahoo.co.uk>
" Originally By: Marcin Dalecki <dalecki@cs.net.pl>
" Johannes Zellner <johannes@zellner.org>
" Last Change: Sat, 11 Mar 2006 22:40:00 CEST
" Maintainer: J<EFBFBD>n Arnar Briem <jonbriem@gmail.com>
" Originally By: Georg Dahn <gorgyd@yahoo.co.uk>
" Marcin Dalecki <dalecki@cs.net.pl>
" Johannes Zellner <johannes@zellner.org>
" Last Change: Mon, 1 April 2019
" vim:set foldmethod=marker tabstop=8:
" Quit when menu translations have already been done.
@@ -60,8 +61,8 @@ menutrans &Global\ Settings &Globale\ Einstellungen
menutrans Startup\ &Settings &Starteinstellungen
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Hervorhebungen\ ein-\ und\ ausschalten<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Gro<EFBFBD>schreibung\ &ignorieren\ oder\ benutzen<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Anzeige\ des\ passenden\ &Symbols\ ein-\ und\ ausschalten<Tab>:set\ sm!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Gro<EFBFBD>schreibung\ &ignorieren\ oder\ benutzen<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Anzeige\ des\ passenden\ &Symbols\ ein-\ und\ ausschalten<Tab>:set\ sm!
menutrans &Context\ lines &Zusammenhang
@@ -87,13 +88,13 @@ menutrans F&ile\ Settings &Datei-Einstellungen
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Anzeige\ der\ Zeilen&nummer\ ein-\ und\ ausschalten<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! Anzeige\ der\ relati&ven\ Zeilennummer\ ein-\ und\ ausschalten<Tab>:set\ rnu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Anzeige\ der\ relati&ven\ Zeilennummer\ ein-\ und\ ausschalten<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &List-Modus\ ein-\ und\ ausschalten<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Zeilenumbruch\ ein-\ und\ ausschalten<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Umbruch\ an\ &Wortgrenzen\ ein-\ und\ ausschalten<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! &Erweiterung\ von\ Tabulatoren\ ein-\ und\ ausschalten<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automatische\ Einr<EFBFBD>ckung\ ein-\ und\ ausschalten<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &C-Einr<EFBFBD>ckung\ ein-\ und\ ausschalten<Tab>:set\ cin!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! &Zeilenumbruch\ ein-\ und\ ausschalten<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! Umbruch\ an\ &Wortgrenzen\ ein-\ und\ ausschalten<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! &Erweiterung\ von\ Tabulatoren\ ein-\ und\ ausschalten<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! &Automatische\ Einr<EFBFBD>ckung\ ein-\ und\ ausschalten<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C-Einr<EFBFBD>ckung\ ein-\ und\ ausschalten<Tab>:set\ cin!
" other options
menutrans &Shiftwidth &Schiebeweite
@@ -146,7 +147,7 @@ if has("folding")
menutrans &Delete\ Fold<Tab>zd Faltung\ l<EFBFBD>schen<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Alle\ Faltungen\ l<EFBFBD>schen<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width &Breite\ der\ Faltungsspalte
menutrans Fold\ col&umn\ width &Breite\ der\ Faltungsspalte
endif " has folding
if has("diff")
@@ -236,6 +237,7 @@ menutrans &How-to\ links How-to\ &Index
menutrans &GUI &Graphische\ Oberfl<EFBFBD>che
menutrans &Credits &Autoren
menutrans Co&pying &Urheberrecht
menutrans &Sponsor/Register Sponsern/&Registrieren
menutrans O&rphans &Waisen
menutrans &Find\.\.\. &Suchen\.\.\. " conflicts with Edit.Find
menutrans &Version &Version

View File

@@ -0,0 +1,3 @@
" Menu Translations: Icelandic for iso-8859-1 encoding
source <sfile>:p:h/menu_is_is.latin1.vim

View File

@@ -0,0 +1,3 @@
" Menu Translations: Icelandic for UTF-8 encoding
source <sfile>:p:h/menu_is_is.latin1.vim

View File

@@ -0,0 +1,305 @@
" Menu Translations: Icelandic / <20>slenska
" Maintainer: J<>n Arnar Briem <jonbriem@gmail.com>
" Originally By: J<>n Arnar Briem <jonbriem@gmail.com>
" Last Change: Sun, 24 Mar 2019 22:40:00 CEST
" vim:set foldmethod=marker tabstop=8:
" 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
" The translations below are in latin1, but they work for cp1252 and
" iso-8859-15 without conversion as well.
if &enc != "cp1252" && &enc != "iso-8859-15"
scriptencoding latin1
endif
" {{{ FILE / SKR<4B>
menutrans &File Skr<EFBFBD>
menutrans &Open\.\.\.<Tab>:e Opna\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp Splitt\ opna\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew Opna\ flipa\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew N<EFBFBD>\ Skr<EFBFBD><Tab>:enew
menutrans &Close<Tab>:close Loka<Tab>:close
menutrans &Save<Tab>:w Vista<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Vista\ sem\.\.\.<Tab>:sav
menutrans &Print Prenta
menutrans Sa&ve-Exit<Tab>:wqa Vista\ og\ Loka<Tab>:wqa
menutrans E&xit<Tab>:qa Loka<Tab>:qa
if has("diff")
menutrans Split\ &Diff\ with\.\.\. Splitt\ opna\ mismun\ vi<EFBFBD>\.\.\.
menutrans Split\ Patched\ &By\.\.\. Splitt\ opna\ pl<EFBFBD>stra<EFBFBD>\ af\.\.\.
endif
" }}} FILE / SKR<4B>
" {{{ EDIT / BREYTA
menutrans &Edit Breyta
menutrans &Undo<Tab>u Afturkalla<Tab>u
menutrans &Redo<Tab>^R Endurkalla<Tab>^R
menutrans Rep&eat<Tab>\. Endurtaka<Tab>\.
menutrans Cu&t<Tab>"+x Klippa<Tab>"+x
menutrans &Copy<Tab>"+y Afrita<Tab>"+y
menutrans &Paste<Tab>"+gP L<>ma<Tab>"+gP
menutrans Put\ &Before<Tab>[p L<EFBFBD>ma\ Fyrir<Tab>[p
menutrans Put\ &After<Tab>]p L<EFBFBD>ma\ Eftir<Tab>]p
menutrans &Delete<Tab>x Ey<EFBFBD>a<Tab>x
menutrans &Select\ All<Tab>ggVG Velja\ Allt<Tab>ggVG
menutrans &Find\.\.\. Finna\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Finna\ og\ Skipta\.\.\.
" [-- SETTINGS --]
menutrans Settings\ &Window Stillingar\ Glugga
menutrans &Global\ Settings V<EFBFBD><EFBFBD>v<EFBFBD>rar\ Stillingar
menutrans Startup\ &Settings R<EFBFBD>sistillingar
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Munsturau<EFBFBD>kenning\ <20>\/af<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Hunsa\ h<EFBFBD>-l<EFBFBD>gstafi\ <20>\/af<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! S<EFBFBD>na\ P<EFBFBD>run <20>\/af<Tab>:set\ sm!
menutrans &Context\ lines Samhengisl<EFBFBD>nur
menutrans &Virtual\ Edit Skinbreytihamur
menutrans Never Aldrei
menutrans Block\ Selection B<EFBFBD>lkval
menutrans Insert\ mode Innskotshamur
menutrans Block\ and\ Insert B<EFBFBD>lkval\ og\ Innskotshamur
menutrans Always Alltaf
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Innskotshamur\ <20>\/af<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Vi\ Samh<EFBFBD>fanleiki <20>\/af<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Leita\ <20>\ Sl<EFBFBD><EFBFBD>\.\.\.
menutrans Ta&g\ Files\.\.\. Merkja\ Skr<EFBFBD>r\.\.\.
menutrans Toggle\ &Toolbar T<EFBFBD>labor<EFBFBD>\ <20>\/af
menutrans Toggle\ &Bottom\ Scrollbar Ne<EFBFBD>ri\ Skrunbor<EFBFBD>i\ <20>\/af
menutrans Toggle\ &Left\ Scrollbar Vinstri\ Skrunbor<EFBFBD>i\ <20>\/af
menutrans Toggle\ &Right\ Scrollbar H<EFBFBD>gri\ Skrunbor<EFBFBD>i\ <20>\/af
" Edit/File Settings
menutrans F&ile\ Settings Skr<EFBFBD>ar-Stilingar
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! L<EFBFBD>nun<EFBFBD>mering\ <20>\/af<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Afst<EFBFBD><EFBFBD>\ L<EFBFBD>nun<EFBFBD>mering\ <20>\/af<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Listahamur\ <20>\/af<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! L<EFBFBD>nuhlaup\ <20>\/af<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! L<EFBFBD>nuhlaup\ <20>\ or<EFBFBD>i\ <20>\/af<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Tab-v<EFBFBD>kkun\ <20>\/af<Tab>:set\ et!
menutrans Toggle\ &Auto Indenting<Tab>:set\ ai! Sj<EFBFBD>lfvirkur\ Inndr<EFBFBD>ttur\ <20>\/af<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! C-Inndr<EFBFBD>ttur\ <20>\/af<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Shiftbreidd
menutrans Soft\ &Tabstop Mj<EFBFBD>k\ Tabstopp
menutrans Te&xt\ Width\.\.\. Textabreidd\.\.\.
menutrans &File\ Format\.\.\. Skr<EFBFBD>arform\.\.\.
menutrans C&olor\ Scheme Lita<EFBFBD>ema\.\.\.
menutrans &Keymap Lyklaskipan
" }}} EDIT / BREYTA
" {{{ TOOLS / T<>l
if has("spell")
menutrans &Spelling Stafsetning
menutrans &Spell\ Check\ On Villuleit\ <20>
menutrans Spell\ Check\ &Off Villuleit\ af
menutrans To\ &Next\ error<Tab>]s N<EFBFBD>sta\ Villa<Tab>]s
menutrans To\ &Previous\ error<Tab>[s Fyrri\ Villa<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= Leggja\ til\ Lei<EFBFBD>r<EFBFBD>ttingar<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall Endurtaka\ Lei<EFBFBD>r<EFBFBD>ttingu<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en"
menutrans Set\ language\ to\ "en_au" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en_au"
menutrans Set\ language\ to\ "en_ca" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en_ca"
menutrans Set\ language\ to\ "en_gb" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en_gb"
menutrans Set\ language\ to\ "en_nz" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en_nz"
menutrans Set\ language\ to\ "en_us" Stilla\ Or<EFBFBD>ab<EFBFBD>k\ <20> "en_us"
menutrans &Find\ More\ Languages Finna\ fleiri\ Or<EFBFBD>ab<EFBFBD>kur
endif
if has("folding")
menutrans &Folding F<EFBFBD>ldun
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi F<>ldun\ <20>\/af<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Sj<EFBFBD>\ L<EFBFBD>nu\ Bendils<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Sj<EFBFBD>\ Eing<EFBFBD>ngu\ L<EFBFBD>nu\ Bendils<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Loka\ Fleiri\ F<EFBFBD>ldunum<Tab>zm
menutrans &Close\ all\ folds<Tab>zM Loka\ <20>llum\ F<EFBFBD>ldunum<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr Opna\ Fleiri\ Faldanir<Tab>zr
menutrans &Open\ all\ folds<Tab>zR Opna\ Allar\ Faldanir<Tab>zR
" fold method
menutrans Fold\ Met&hod F<EFBFBD>ldunar-h<EFBFBD>ttur
menutrans M&anual Handvirkur
menutrans I&ndent Inndr<EFBFBD>ttur
menutrans E&xpression Seg<EFBFBD>
menutrans S&yntax M<EFBFBD>lskipan
menutrans &Diff Mismunur
menutrans Ma&rker Merking
" create and delete folds
menutrans Create\ &Fold<Tab>zf B<EFBFBD>a\ til\ F<EFBFBD>ldun<Tab>zf
menutrans &Delete\ Fold<Tab>zd Ey<EFBFBD>a\ F<EFBFBD>ldun<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Ey<EFBFBD>a\ <20>llum\ F<EFBFBD>ldunum<Tab>zD
" moving around in folds
menutrans Fold\ Col&umn\ Width Breidd\ F<EFBFBD>ldunar
endif " has folding
if has("diff")
menutrans &Diff Mismunur
menutrans &Update Uppf<EFBFBD>ra
menutrans &Get\ Block S<EFBFBD>kja\ B<EFBFBD>lk
menutrans &Put\ Block Setja\ B<EFBFBD>lk
endif
menutrans &Tools T<EFBFBD>l
menutrans &Jump\ to\ this\ tag<Tab>g^] St<EFBFBD>kkva\ <20>\ Merki<Tab>g^]
menutrans Jump\ &back<Tab>^T St<EFBFBD>kkva\ til\ baka<Tab>^T
menutrans Build\ &Tags\ File B<EFBFBD>a\ til\ Merkjaskr<EFBFBD>
menutrans &Make<Tab>:make Sm<EFBFBD><EFBFBD>a<Tab>:make
menutrans &List\ Errors<Tab>:cl Birta\ Villur<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Birta\ Skilabo<EFBFBD><Tab>:cl!
menutrans &Next\ Error<Tab>:cn N<EFBFBD>sta\ Villa<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Fyrri\ Villa<Tab>:cp
menutrans &Older\ List<Tab>:cold Eldri\ Listi<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew N<EFBFBD>rri\ Listi<Tab>:cnew
menutrans Error\ &Window Villugluggi
menutrans Se&t\ Compiler Smi<EFBFBD>ur
menutrans &Update<Tab>:cwin Uppf<EFBFBD>ra<Tab>:cwin
menutrans &Open<Tab>:copen Opna<Tab>:copen
menutrans &Close<Tab>:cclose Loka<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd Breyta\ <20>\ HEX<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Breyta\ til\ baka<Tab>:%!xxd\ -r
" }}} TOOLS / T<>L
" {{{ SYNTAX / M<>LSKIPAN
menutrans &Syntax M<EFBFBD>lskipan
menutrans &Show\ filetypes\ in\ menu S<EFBFBD>na\ Skr<EFBFBD>artegundir
menutrans Set\ '&syntax'\ only Stilla\ a<EFBFBD>eins\ 'm<>lskipan'\
menutrans Set\ '&filetype'\ too Stilla\ einnig\ 'skr<6B>artegund'\
menutrans &Off Af
menutrans &Manual Handvirkt
menutrans A&utomatic Sj<EFBFBD>lfvirkt
menutrans on/off\ for\ &This\ file <20>/af\ fyrir\ <20>essa\ skr<EFBFBD>
menutrans Co&lor\ test Litapr<EFBFBD>fun
menutrans &Highlight\ test Au<EFBFBD>kenningarpr<EFBFBD>fun
menutrans &Convert\ to\ HTML Breyta\ <20>\ HTML
" }}} SYNTAX / M<>LSKIPAN
" {{{ BUFFERS / BI<42>MINNI
menutrans &Buffers Bi<EFBFBD>minni
menutrans &Refresh\ menu Uppf<EFBFBD>ra\ valmynd
menutrans Delete Ey<EFBFBD>a
menutrans &Alternate Skipta
menutrans &Next N<EFBFBD>sta
menutrans &Previous Fyrra
" }}} BUFFERS / BI<42>MINNI
" {{{ WINDOW / GLUGGI
menutrans &Window Gluggi
menutrans &New<Tab>^Wn N<EFBFBD>r<Tab>^Wn
menutrans S&plit<Tab>^Ws Splitta<Tab>^Ws
menutrans Split\ &Vertically<Tab>^Wv Splitta\ L<EFBFBD><EFBFBD>r<EFBFBD>tt<Tab>^Wv
menutrans Split\ File\ E&xplorer Splitta\ Skr<EFBFBD>arvafra
menutrans Sp&lit\ To\ #<Tab>^W^^ Splitta\ <20>\ Flipa\ #<Tab>^W^^
menutrans &Close<Tab>^Wc Loka\ Flipa<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Loka\ <20><>rum\ Flipum<Tab>^Wo
menutrans Ne&xt<Tab>^Ww N<EFBFBD>sti<Tab>^Ww
menutrans P&revious<Tab>^WW Fyrri<Tab>^WW
menutrans &Equal\ Size<Tab>^W= Jafn\ St<EFBFBD>r<Tab>^W=
menutrans &Max\ Height<Tab>^W_ H<EFBFBD>marksh<EFBFBD><EFBFBD><Tab>^W_
menutrans M&in\ Height<Tab>^W1_ L<EFBFBD>gmarksh<EFBFBD><EFBFBD><Tab>^W1_
menutrans Max\ &Width<Tab>^W\| H<EFBFBD>marksbreidd<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| L<EFBFBD>gmarksbreidd<Tab>^W1\|
menutrans Move\ &To F<EFBFBD>ra
menutrans &Top<Tab>^WK Upp<Tab>^WK
menutrans &Bottom<Tab>^WJ Ni<EFBFBD>ur<Tab>^WJ
menutrans &Left\ side<Tab>^WH Til\ Vinstri<Tab>^WH
menutrans &Right\ side<Tab>^WL Til\ H<EFBFBD>gri<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR R<EFBFBD>lla\ upp<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr R<EFBFBD>lla\ ni<EFBFBD>ur<Tab>^Wr
menutrans Select\ Fo&nt\.\.\. Velja\ Leturger<EFBFBD>\.\.\.
" }}} WINDOW / GLUGGI
" {{{ HELP / HJ<48>LP
menutrans &Help Hj<EFBFBD>lp
menutrans &Overview<Tab><F1> Yfirlit<Tab><F1>
menutrans &User\ Manual Notendahandb<EFBFBD>k
menutrans &How-to\ links Hj<EFBFBD>lparhlekkir
menutrans &GUI Myndr<EFBFBD>nt\ Vi<EFBFBD>m<EFBFBD>t
menutrans &Credits H<EFBFBD>fundar
menutrans Co&pying Afritun
menutrans &Sponsor/Register Styrkja/Skr<EFBFBD>ning
menutrans O&rphans G<EFBFBD><EFBFBD>ger<EFBFBD>arstarf
menutrans &Find\.\.\. Leit\.\.\. " conflicts with Edit.Find
menutrans &Version <20>tg<EFBFBD>fa
menutrans &About Um\ Forriti<EFBFBD>
" }}} HELP / HJ<48>LP
" {{{ POPUP
menutrans &Undo Til\ Baka
menutrans Cu&t Klippa
menutrans &Copy Afrita
menutrans &Paste L<EFBFBD>ma
menutrans &Delete Ey<EFBFBD>a
menutrans Select\ Blockwise Velja\ B<EFBFBD>lkv<EFBFBD>st
menutrans Select\ &Word Velja\ Or<EFBFBD>
menutrans Select\ &Sentence Velja\ Setningu
menutrans Select\ Pa&ragraph Velja\ Efnisgrein
menutrans Select\ &Line Velja\ L<EFBFBD>nu
menutrans Select\ &Block Velja\ B<EFBFBD>lk
menutrans Select\ &All Velja\ Allt
" }}} POPUP
" {{{ TOOLBAR
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open Opna Skr<EFBFBD>
tmenu ToolBar.Save Vista Skr<EFBFBD>
tmenu ToolBar.SaveAll Vista Allar Skr<EFBFBD>r
tmenu ToolBar.Print Prenta
tmenu ToolBar.Undo Afturkalla
tmenu ToolBar.Redo Endurkalla
tmenu ToolBar.Cut Klippa
tmenu ToolBar.Copy Afrita
tmenu ToolBar.Paste L<EFBFBD>ma
tmenu ToolBar.Find Finna...
tmenu ToolBar.FindNext Finna N<EFBFBD>sta
tmenu ToolBar.FindPrev Finna fyrri
tmenu ToolBar.Replace Finna og Skipta...
if 0 " disabled; These are in the Windows menu
tmenu ToolBar.New N<EFBFBD>r
tmenu ToolBar.WinSplit Splitta Glugga
tmenu ToolBar.WinMax H<EFBFBD>marksst<EFBFBD>r<EFBFBD> Glugga
tmenu ToolBar.WinMin L<EFBFBD>gmarksst<EFBFBD>r<EFBFBD> Glugga
tmenu ToolBar.WinClose Loka Glugga
endif
tmenu ToolBar.LoadSesn Hla<EFBFBD>a Setu
tmenu ToolBar.SaveSesn Vista Setu
tmenu ToolBar.RunScript Keyra Skriptu
tmenu ToolBar.Make Sm<EFBFBD><EFBFBD>a
tmenu ToolBar.Shell Opna Skel
tmenu ToolBar.RunCtags Sm<EFBFBD><EFBFBD>a Merki
tmenu ToolBar.TagJump Hoppa <20> Merki
tmenu ToolBar.Help Hj<EFBFBD>lp
tmenu ToolBar.FindHelp Finna Hj<EFBFBD>lp...
endfun
endif
" }}} TOOLBAR
" {{{ DIALOG TEXTS
let g:menutrans_no_file = "[Engin Skr<6B>]"
let g:menutrans_help_dialog = "Sl<53>i<EFBFBD> inn skipun e<>a or<6F>a til a<> leita uppl<70>singa um:\n\nForskeyti<74> i_ fyrir <20>lagshamsskipanir (t.d. i_CTRL-X)\nForskeyti<74> c_ fyrir skipanal<61>nuskipanir (t.d. c_<Del>)\nForskeyti<74> ' fyrir nafn <20> valm<6C>guleika (t.d. 'shiftbreidd')"
let g:menutrans_path_dialog = "Sl<53>i<EFBFBD> inn leitarsl<73><6C> fyrir skr<6B>r.\nA<6E>skilji<6A> m<>ppur me<6D> kommu"
let g:menutrans_tags_dialog = "Sl<53>i<EFBFBD> inn nafn Merkjaskr<6B>a.\nA<6E>skilji<6A> n<>fnin me<6D> kommu"
let g:menutrans_textwidth_dialog = "Sl<53>i<EFBFBD> inn n<>ja textabreidd (0 til a<> <20>virkja sni<6E>m<EFBFBD>tun): "
let g:menutrans_fileformat_dialog = "Velji<6A> Skr<6B>arsni<6E>"
" }}}
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,3 @@
" Menu Translations: Icelandic for UTF-8 encoding
source <sfile>:p:h/menu_is_is.latin1.vim

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: 2018 May 17
" Last Change: 2019 Jan 27
" 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.
@@ -856,17 +856,15 @@ an 70.300 &Window.&New<Tab>^Wn <C-W>n
an 70.310 &Window.S&plit<Tab>^Ws <C-W>s
an 70.320 &Window.Sp&lit\ To\ #<Tab>^W^^ <C-W><C-^>
an 70.330 &Window.Split\ &Vertically<Tab>^Wv <C-W>v
if has("vertsplit")
an <silent> 70.332 &Window.Split\ File\ E&xplorer :call MenuExplOpen()<CR>
if !exists("*MenuExplOpen")
fun MenuExplOpen()
if @% == ""
20vsp .
else
exe "20vsp " . s:FnameEscape(expand("%:p:h"))
endif
endfun
endif
an <silent> 70.332 &Window.Split\ File\ E&xplorer :call MenuExplOpen()<CR>
if !exists("*MenuExplOpen")
fun MenuExplOpen()
if @% == ""
20vsp .
else
exe "20vsp " . s:FnameEscape(expand("%:p:h"))
endif
endfun
endif
an 70.335 &Window.-SEP1- <Nop>
an 70.340 &Window.&Close<Tab>^Wc :confirm close<CR>

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