Compare commits

...

116 Commits

Author SHA1 Message Date
Douglas Drumond 2476bac32e Snapshot 75
Signed-off-by: Douglas Drumond <douglas@cafelinear.com>
2015-04-27 09:07:51 -03:00
Bram Moolenaar 7fcde5f623 patch 7.4.712 Problem: Missing change in another file. Solution: Also change message.c 2015-04-27 09:07:08 -03:00
Bram Moolenaar 1506c84b32 patch 7.4.711 Problem: Missing change in one file. Solution: Also change option.c 2015-04-27 09:07:08 -03:00
Bram Moolenaar 82342c5f79 patch 7.4.710 Problem: It is not possible to make spaces visibible in list mode. Solution: Add the "space" item to 'listchars'. (David Bürgin, issue 350) 2015-04-27 09:07:08 -03:00
Bram Moolenaar f06523a7d2 patch 7.4.709 Problem: ":tabmove" does not work as documented. Solution: Make it work consistently. Update documentation and add tests. (Hirohito Higashi) 2015-04-27 09:07:07 -03:00
Bram Moolenaar 2c5576e5ba patch 7.4.708 Problem: gettext() is called too often. Solution: Do not call gettext() for messages until they are actually used. (idea by Yasuhiro Matsumoto) 2015-04-27 09:07:07 -03:00
Bram Moolenaar 03a2a2c213 patch 7.4.707 Problem: Undo files can have their executable bit set. Solution: Strip of the executable bit. (Mikael Berthe) 2015-04-27 09:07:06 -03:00
Bram Moolenaar f8079779a1 patch 7.4.706 Problem: Window drawn wrong when 'laststatus' is zero and there is a command-line window. (Yclept Nemo) Solution: Set the status height a bit later. (Christian Brabandt) 2015-04-27 09:07:06 -03:00
Bram Moolenaar f7cf48461f patch 7.4.705 Problem: Can't build with Ruby 2.2. Solution: Add #ifdefs to handle the incompatible change. (Andrei Olsen) 2015-04-27 09:07:06 -03:00
Bram Moolenaar 73eacbfb4e patch 7.4.704 Problem: Searching for a character matches an illegal byte and causes invalid memory access. (Dominique Pelle) Solution: Do not match an invalid byte when search for a character in a string. Fix equivalence classes using negative numbers, which result in illegal bytes. 2015-04-27 09:07:05 -03:00
Bram Moolenaar dbbc001bef patch 7.4.703 Problem: Compiler warning for start_dir unused when building unittests. Solution: Move start_dir inside the #ifdef. 2015-04-27 09:07:04 -03:00
Bram Moolenaar d6dd562760 patch 7.4.702 Problem: Joining an empty list does uneccessary work. Solution: Let join() return early. (Marco Hinz) 2015-04-27 09:07:04 -03:00
Bram Moolenaar 4c73aa1408 patch 7.4.701 Problem: Compiler warning for using uninitialized variable. (Yasuhiro Matsumoto) Solution: Initialize it. 2015-04-27 09:07:03 -03:00
Bram Moolenaar 1f0ec6afe7 Remove local-additions entries from help.txt. 2015-04-27 09:07:03 -03:00
Bram Moolenaar 0ac18cc037 Updated runtime files. 2015-04-27 09:07:03 -03:00
Bram Moolenaar 8db654ef18 patch 7.4.700 Problem: Fold can't be opened after ":move". (Ein Brown) Solution: Delete the folding information and update it afterwards. (Christian Brabandt) 2015-04-27 09:07:02 -03:00
Bram Moolenaar 5027f23a27 patch 7.4.699 Problem: E315 when trying to delete a fold. (Yutao Yuan) Solution: Make sure the fold doesn't go beyond the last buffer line. (Christian Brabandt) 2015-04-27 09:07:02 -03:00
Bram Moolenaar d7ff57f699 patch 7.4.698 Problem: Various problems with locked and fixed lists and dictionaries. Solution: Disallow changing locked items, fix a crash, add tests. (Olaf Dabrunz) 2015-04-27 09:07:02 -03:00
Bram Moolenaar c90ac66d28 patch 7.4.697 Problem: The filename used for ":profile" must be given literally. Solution: Expand "~" and environment variables. (Marco Hinz) 2015-04-27 09:07:01 -03:00
Bram Moolenaar aaa44bf0c0 patch 7.4.696 Problem: Not freeing memory when encountering an error. Solution: Free the stack before returning. (Eliseo Martínez) 2015-04-27 09:07:01 -03:00
Bram Moolenaar 4ac7802562 patch 7.4.695 Problem: Out-of-bounds read, dectected by Coverity. Solution: Remember the value of cmap for the first matching encoding. Reset cmap to that value if first matching encoding is going to be used. (Eliseo Martínez) 2015-04-27 09:07:01 -03:00
Bram Moolenaar ac5e928d7e More updated runtime files. 2015-04-27 09:06:46 -03:00
Bram Moolenaar 809435eb01 patch 7.4.694 Problem: Running tests changes the .viminfo file. Solution: Disable viminfo in the text objects test. 2015-04-27 08:50:35 -03:00
Bram Moolenaar f7a2e90a5d Updated runtime files. 2015-04-27 08:50:21 -03:00
Bram Moolenaar f5ada5c159 patch 7.4.693 Problem: Session file is not correct when there are multiple tab pages. Solution: Reset the current window number for each tab page. (Jacob Niehus) 2015-04-27 08:43:31 -03:00
Bram Moolenaar 6115c8cb90 patch 7.4.692 for Problem: Defining SOLARIS for no good reason. (Danek Duvall) Solution: Remove it. 2015-04-27 08:43:31 -03:00
Bram Moolenaar aa3488d9ef patch 7.4.691 for Problem: Can't build with MzScheme. Solution: Change "cwd" into the global variable "start_dir". 2015-04-27 08:43:31 -03:00
Bram Moolenaar 43b5d10d65 patch 7.4.690 for Problem: Memory access errors when changing indent in Ex mode. Also missing redraw when using CTRL-U. (Knil Ino) Solution: Update pointers after calling ga_grow(). 2015-04-27 08:43:30 -03:00
Bram Moolenaar dad106be9e updated for version 7.4.689 Problem: On MS-Windows, when 'autochdir' is set, diff mode with files in different directories does not work. (Axel Bender) Solution: Remember the current directory and use it where needed. (Christian Brabandt) 2015-04-27 08:43:30 -03:00
Bram Moolenaar 4687c4aef2 updated for version 7.4.688 Problem: When "$" is in 'cpo' the popup menu isn't undrawn correctly. (Issue 166) Solution: When using the popup menu remove the "$". 2015-04-27 08:43:29 -03:00
Bram Moolenaar 4bc88e0c86 updated for version 7.4.687 Problem: There is no way to use a different in Replace mode for a terminal. Solution: Add t_SR. (Omar Sandoval) 2015-04-27 08:43:29 -03:00
Bram Moolenaar 3a265cde86 updated for version 7.4.686 Problem: "zr" and "zm" do not take a count. Solution: Implement the count, restrict the fold level to the maximum nesting depth. (Marcin Szamotulski) 2015-04-27 08:43:29 -03:00
Bram Moolenaar 53fb713634 updated for version 7.4.685 Problem: When there are illegal utf-8 characters the old regexp engine may go past the end of a string. Solution: Only advance to the end of the string. (Dominique Pelle) 2015-04-27 08:43:28 -03:00
Bram Moolenaar 84118614d1 updated for version 7.4.684 Problem: When starting several Vim instances in diff mode, the temp files used may not be unique. (Issue 353) Solution: Add an argument to vim_tempname() to keep the file. 2015-04-27 08:43:28 -03:00
Bram Moolenaar 53f92d609b updated for version 7.4.683 Problem: Typo in the vimtutor command. Solution: Fix the typo. (Corey Farwell, github pull 349) 2015-04-27 08:43:27 -03:00
Bram Moolenaar ddce75d259 Add a .gitignore file. It's a copy of .hgignore with one line removed. 2015-04-27 08:43:11 -03:00
Bram Moolenaar 92f24b036a updated for version 7.4.682 Problem: The search highlighting and match highlighting replaces the cursorline highlighting, this doesn't look good. Solution: Combine the highlighting. (Yasuhiro Matsumoto) 2015-04-27 08:38:09 -03:00
Bram Moolenaar 8ef75ef6ca updated for version 7.4.681 Problem: MS-Windows: When Vim is minimized the window height is computed incorrectly. Solution: When minimized use the previously computed size. (Ingo Karkat) 2015-04-27 08:38:08 -03:00
Bram Moolenaar 8cc2b8b1ca updated for version 7.4.680 Problem: CTRL-W in Insert mode does not work well for multi-byte characters. Solution: Use mb_get_class(). (Yasuhiro Matsumoto) 2015-04-27 08:38:08 -03:00
Bram Moolenaar a91c468d33 updated for version 7.4.679 Problem: Color values greater than 255 cause problems on MS-Windows. Solution: Truncate to 255 colors. (Yasuhiro Matsumoto) 2015-04-27 08:38:07 -03:00
Bram Moolenaar f04207e1f6 updated for version 7.4.678 Problem: When using --remote the directory may end up being wrong. Solution: Use localdir() to find out what to do. (Xaizek) 2015-04-27 08:38:07 -03:00
Bram Moolenaar e2ed0d288d updated for version 7.4.677 Problem: Configure fails when specifying a python-config-dir. (Lcd) Solution: Check if PYTHONFRAMEWORKPREFIX is set. 2015-04-27 08:38:06 -03:00
Bram Moolenaar 3c205ec322 updated for version 7.4.676 Problem: On Mac, when not using the default Python framework configure doesn't do the right thing. Solution: Use a linker search path. (Kazunobu Kuriyama) 2015-04-27 08:38:06 -03:00
Bram Moolenaar e65623921a updated for version 7.4.675 Problem: When a FileReadPost autocommand moves the cursor inside a line it gets moved back. Solution: When checking whether an autocommand moved the cursor store the column as well. (Christian Brabandt) 2015-04-27 08:38:05 -03:00
Bram Moolenaar 74669e1162 updated for version 7.4.674 Problem: Missing changes in one file. Solution: Also change the win32 file. 2015-04-27 08:38:04 -03:00
Bram Moolenaar 4b34cdf74a updated for version 7.4.673 Problem: The first syntax entry gets sequence number zero, which doesn't work. (Clinton McKay) Solution: Start at number one. (Bjorn Linse) 2015-04-27 08:38:04 -03:00
Bram Moolenaar 85f067f1c2 Update runtime files. 2015-04-27 08:38:03 -03:00
Bram Moolenaar 095a111543 updated for version 7.4.672 Problem: When completing a shell command, directories in the current directory are not listed. Solution: When "." is not in $PATH also look in the current directory for directories. 2015-04-27 08:38:03 -03:00
Bram Moolenaar 5bd0ffdf8b updated for version 7.4.671 Problem: Warning for shadowing a variable. Solution: Rename off to mb_off. (Kazunobu Kuriyama) 2015-04-27 08:38:02 -03:00
Bram Moolenaar d6de0aa28f updated for version 7.4.670 Problem: Using 'cindent' for Javascript is less than perfect. Solution: Improve indenting of continuation lines. (Hirohito Higashi) 2015-04-27 08:27:31 -03:00
Bram Moolenaar 385b42f6de updated for version 7.4.669 Problem: When netbeans is active the sign column always shows up. Solution: Only show the sign column once a sign has been added. (Xavier de Gaye) 2015-04-27 08:27:30 -03:00
Bram Moolenaar df67236ad1 updated for version 7.4.668 Problem: Can't use a glob pattern as a regexp pattern. Solution: Add glob2regpat(). (Christian Brabandt) 2015-04-27 08:27:30 -03:00
Bram Moolenaar 3a46d382dc updated for version 7.4.667 Problem: 'colorcolumn' isn't drawn in a closed fold while 'cursorcolumn' is. (Carlos Pita) Solution: Make it consistent. (Christian Brabandt) 2015-04-27 08:27:29 -03:00
Bram Moolenaar 00c0c871b6 updated for version 7.4.666 Problem: There is a chance that Vim may lock up. Solution: Handle timer events differently. (Aaron Burrow) 2015-04-27 08:27:28 -03:00
Bram Moolenaar 534501977d updated for version 7.4.665 Problem: 'linebreak' does not work properly with multi-byte characters. Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro Matsumoto) 2015-04-27 08:27:28 -03:00
Bram Moolenaar 75b179001a updated for version 7.4.664 Problem: When 'compatible' is reset 'numberwidth' is set to 4, but the effect doesn't show until a change is made. Solution: Check if 'numberwidth' changed. (Christian Brabandt) 2015-04-27 08:27:27 -03:00
Bram Moolenaar 97e1f57cf1 updated for version 7.4.663 Problem: When using netbeans a buffer is not found in another tab. Solution: When 'switchbuf' is set to "usetab" then switch to another tab when possible. (Xavier de Gaye) 2015-04-27 08:27:26 -03:00
Bram Moolenaar 516fbbbf62 updated for version 7.4.662 Problem: When 'M' is in the 'cpo' option then selecting a text object in parenthesis does not work correctly. Solution: Keep 'M' in 'cpo' when finding a match. (Hirohito Higashi) 2015-04-27 08:27:26 -03:00
Bram Moolenaar b6f1937877 updated for version 7.4.661 Problem: Using "0 CTRL-D" in Insert mode may have CursorHoldI interfere. (Gary Johnson) Solution: Don't store K_CURSORHOLD as the last character. (Christian Brabandt) 2015-04-27 08:27:25 -03:00
Bram Moolenaar ec77c8e7c3 updated for version 7.4.660 Problem: Using freed memory when g:colors_name is changed in the colors script. (oni-link) Solution: Make a copy of the variable value. 2015-04-27 08:27:24 -03:00
Bram Moolenaar 308f0eecac updated for version 7.4.659 Problem: When 'ruler' is set the preferred column is reset. (Issue 339) Solution: Don't set curswant when redrawing the status lines. 2015-04-27 08:27:24 -03:00
Bram Moolenaar 4c5a30e49c updated for version 7.4.658 Problem: 'formatexpr' is evaluated too often. Solution: Only invoke it when beyond the 'textwidth' column, as it is documented. (James McCoy) 2015-04-27 08:27:23 -03:00
Bram Moolenaar e7dc4fe447 updated for version 7.4.657 Problem: Compiler warnings for pointer mismatch. Solution: Add a typecast. (John Marriott) 2015-04-27 08:27:23 -03:00
Bram Moolenaar 7a8791e606 updated for version 7.4.656 Problem: Missing changes for glob() in one file. Solution: Add the missing changes. 2015-04-27 08:27:22 -03:00
Bram Moolenaar 24c82baa43 updated for version 7.4.655 Problem: Text deleted by "dit" depends on indent of closing tag. (Jan Parthey) Solution: Do not adjust oap->end in do_pending_operator(). (Christian Brabandt) 2015-04-27 08:27:21 -03:00
Bram Moolenaar f84817728b updated for version 7.4.654 Problem: glob() and globpath() cannot include links to non-existing files. (Charles Campbell) Solution: Add an argument to include all links with glob(). (James McCoy) Also for globpath(). 2015-04-27 08:27:21 -03:00
Bram Moolenaar 9b80ffbd07 updated for version 7.4.653 Problem: Insert mode completion with complete() may have CTRL-L work like CTRL-P. Solution: Handle completion with complete() differently. (Yasuhiro Matsumoto, Christian Brabandt, Hirohito Higashi) 2015-04-27 08:27:20 -03:00
Bram Moolenaar 7754d37b2d updated for version 7.4.652 Problem: Xxd lacks a few features. Solution: Use 8 characters for the file position. Add the -e and -o arguments. (Vadim Vygonets) 2015-04-27 08:27:19 -03:00
Bram Moolenaar a3910c593c updated for version 7.4.651 Problem: Can't match "%>80v" properly for multi-byte characters. Solution: Multiply the character number by the maximum number of bytes in a character. (Yasuhiro Matsumoto) 2015-04-27 08:27:19 -03:00
Bram Moolenaar 626b3b72f4 updated for version 7.4.650 Problem: Configure check may fail because the dl library is not used. Solution: Put "-ldl" in LIBS rather than LDFLAGS. (Oazki Kiichi) 2015-04-27 08:27:18 -03:00
Bram Moolenaar aee05280be updated for version 7.4.649 Problem: Compiler complains about ignoring return value of fwrite(). (Michael Jarvis) Solution: Add (void). 2015-04-27 08:27:17 -03:00
Bram Moolenaar 16fe16b1cb Update a few runtime files. 2015-04-27 08:27:17 -03:00
Bram Moolenaar c896db43e1 Updated runtime files. 2015-04-27 08:27:16 -03:00
Bram Moolenaar 4e4ef3c262 updated for version 7.4.648 Problem: Tests broken on MS-Windows. Solution: Delete wrong copy line. (Ken Takata) 2015-04-27 08:27:15 -03:00
Bram Moolenaar 54017c6282 updated for version 7.4.647 Problem: After running the tests on MS-Windows many files differ from their originals as they were checked out. Solution: Use a temp directory for executing the tests. (Ken Takata, Taro Muraoka) 2015-04-27 08:27:15 -03:00
Bram Moolenaar 349b9b1917 updated for version 7.4.646 Problem: ":bufdo" may start at a deleted buffer. Solution: Find the first not deleted buffer. (Shane Harper) 2015-04-27 08:27:14 -03:00
Bram Moolenaar d114997d02 updated for version 7.4.645 Problem: When splitting the window in a BufAdd autocommand while still in the first, empty buffer the window count is wrong. Solution: Do not reset b_nwindows to zero and don't increment it. 2015-04-27 08:27:14 -03:00
Bram Moolenaar 7e2524f240 updated for version 7.4.644 Problem: Stratus VOS doesn't have sync(). Solution: Use fflush(). (Karli Aurelia) 2015-04-27 08:27:13 -03:00
Bram Moolenaar 7f0d487d98 updated for version 7.4.643 Problem: Using the default file format for Mac files. (Issue 77) Solution: Reset the try_mac counter in the right place. (Oswald) 2015-04-27 08:25:36 -03:00
Bram Moolenaar 7ac8c6301f updated for version 7.4.642 Problem: When using "gf" escaped spaces are not handled. Solution: Recognize escaped spaces. 2015-04-27 08:19:54 -03:00
Bram Moolenaar 6d66917e0b updated for version 7.4.641 Problem: The tabline menu was using ":999tabnew" which is now invalid. Solution: Use ":$tabnew" instead. (Florian Degner) 2015-04-27 08:19:54 -03:00
Bram Moolenaar 19fa21ce46 updated for version 7.4.640 Problem: After deleting characters in Insert mode such that lines are joined undo does not work properly. (issue 324) Solution: Use Insstart instead of Insstart_orig. (Christian Brabandt) 2015-04-27 08:19:53 -03:00
Bram Moolenaar 28a02a4911 updated for version 7.4.639 Problem: Combination of linebreak and conceal doesn't work well. Solution: Fix the display problems. (Christian Brabandt) 2015-04-27 08:19:53 -03:00
Bram Moolenaar b0ef99d27a updated for version 7.4.638 Problem: Can't build with Lua 5.3 on Windows. Solution: use luaL_optinteger() instead of LuaL_optlong(). (Ken Takata) 2015-04-27 08:19:52 -03:00
Bram Moolenaar 0a8c8c2e46 updated for version 7.4.637 Problem: Incorrectly read the number of buffer for which an autocommand should be registered. Solution: Reverse check for "<buffer=abuf>". (Lech Lorens) 2015-04-27 08:19:52 -03:00
Bram Moolenaar 1d95fd6993 Add missing test files from 7.4.634 to the repository. 2015-04-27 08:19:51 -03:00
Bram Moolenaar 1bd65845da updated for version 7.4.636 Problem: A search with end offset gets stuck at end of file. (Gary Johnson) Solution: When a search doesn't move the cursor repeat it with a higher count. (Christian Brabandt) 2015-04-27 08:19:51 -03:00
Bram Moolenaar 12ee022a1c updated for version 7.4.635 Problem: If no NL or CR is found in the first block of a file then the 'fileformat' may be set to "mac". (Issue 77) Solution: Check if a CR was found. (eswald) 2015-04-27 08:19:50 -03:00
Bram Moolenaar 8cfd60d91b updated for version 7.4.634 Problem: Marks are not restored after redo + undo. Solution: Fix the way marks are restored. (Olaf Dabrunz) 2015-04-27 08:19:50 -03:00
Bram Moolenaar da1fb1ef57 updated for version 7.4.633 Problem: After 7.4.630 the problem persists. Solution: Also skip redo when calling a user function. 2015-04-27 08:19:49 -03:00
Bram Moolenaar 11348ce096 updated for version 7.4.632 Problem: 7.4.592 breaks the netrw plugin, because the autocommands are skipped. Solution: Roll back the change. 2015-04-27 08:19:49 -03:00
Bram Moolenaar fcc0723a9a updated for version 7.4.631 Problem: The default conceal character is documented to be a space but it's initially a dash. (Christian Brabandt) Solution: Make the intial value a space. 2015-04-27 08:19:48 -03:00
Bram Moolenaar 125a12af25 updated for version 7.4.630 Problem: When using Insert mode completion combined with autocommands the redo command may not work. Solution: Do not save the redo buffer when executing autocommands. (Yasuhiro Matsumoto) 2015-04-27 08:19:48 -03:00
Bram Moolenaar 7cc149569f updated for version 7.4.629 Problem: Coverity warning for Out-of-bounds read. Solution: Increase MAXWLEN to 254. (Eliseo Mart?nez) 2015-04-27 08:19:47 -03:00
Bram Moolenaar 53af9b85b7 updated for version 7.4.628 Problem: Compiler warning for variable might be clobbered by longjmp. Solution: Add volatile. (Michael Jarvis) 2015-04-27 08:19:47 -03:00
Bram Moolenaar 090be74c11 updated for version 7.4.627 Problem: The last screen cell is not updated. Solution: Respect the "tn" termcap feature. (Hayaki Saito) 2015-04-27 08:19:46 -03:00
Bram Moolenaar ac20ed3ca9 updated for version 7.4.626 Problem: MSVC with W4 gives useless warnings. Solution: Disable more warnings. (Mike Williams) 2015-04-27 08:19:46 -03:00
Bram Moolenaar 80e90958ef updated for version 7.4.625 Problem: Possible NULL pointer dereference. Solution: Check for NULL before using it. (Mike Williams) 2015-04-27 08:19:45 -03:00
Bram Moolenaar aa8c148ab3 updated for version 7.4.624 Problem: May leak memory or crash when vim_realloc() returns NULL. Solution: Handle a NULL value properly. (Mike Williams) 2015-04-27 08:19:45 -03:00
Bram Moolenaar c27a737d98 updated for version 7.4.623 Problem: Crash with pattern: \(\)\{80000} (Dominique Pelle) Solution: When the max limit is large fall back to the old engine. 2015-04-27 08:19:44 -03:00
Douglas Drumond c69fd43dd5 Merge pull request #5 from jpetrie/multimonitor-window-sizing
Early-out of resize handling if the window has not been presented yet.
2015-04-27 03:31:17 -03:00
Douglas Drumond b517b31055 Merge pull request #4 from jquave/master
Fix the fullscreen display rect for multiple monitors on Yosemite
2015-04-27 03:30:34 -03:00
Douglas Drumond cbb3ecd3a4 Merge pull request #3 from decrement/patch-2
Add Verilog to supported file types in Info.plist
2015-04-27 03:29:18 -03:00
Douglas Drumond 726561f2d4 Merge pull request #2 from chdiza/improvemvim
Improve mvim script's finding of MacVim.app
2015-04-27 03:28:41 -03:00
Douglas Drumond 3904671248 Merge pull request #1 from jasonlong/yosemite-icon-updated
Update app and document icon for Yosemite
2015-04-27 03:28:06 -03:00
Josh Petrie 40090ebac5 Early-out of resize handling if the window has not been presented yet. 2015-04-15 16:29:00 -07:00
chdiza f4ca592d70 Use style of surrounding script (tabs not spaces). 2015-03-30 00:29:36 -04:00
Jameson Quave 3530d1dab1 Fix the fullscreen display rect for multiple monitors on Yosemite
When using a second display on Yosemite, the menu bar is not animated out as it is on the primary display, which causes the Mac OS menu bar to cover up the first line or so of MacVim in fullscreen. This fix defines a viewOffset method and adjusts the vim view rect based on whether or not the primary display is being used.
2015-03-24 07:40:44 -05:00
djnz df89faa29a Add Verilog to supported file types in Info.plist 2015-03-23 11:32:38 -07:00
chdiza 43c4eb2ce7 mvim: Eliminate extra-long line 2015-03-15 10:54:05 -04:00
chdiza 48fea6b53d mvim: Make order of "usual suspects" more sensible
"/Applications", which is where 99.9% of all users will have
their MacVim.app located, was the seventh item to be checked for
the presence of MacVim.app.
2015-03-15 10:48:27 -04:00
Jason Long 40c11311d8 Add filetype icons from @jocelynmallon 2015-03-13 09:32:33 -04:00
Jason Long 7c9e53401b Merge branch 'master' of https://github.com/macvim-dev/macvim into yosemite-icon-updated
* 'master' of https://github.com/macvim-dev/macvim: (311 commits)
  Snapshot 74
  updated for version 7.4.622 Problem:    Compiler warning for unused argument. Solution:   Add UNUSED.
  updated for version 7.4.621 Problem:    Returning 1 in the wrong function. (Raymond Ko) Solution:   Return 1 in the right function (hopefully).
  updated for version 7.4.620 Problem:    Compiler warning for unitinialized variable. (Tony Mechelynck) Solution:   Initialize "did_free". (Ben Fritz)
  updated for version 7.4.619 Problem:    luaV_setref() not returning the correct value. Solution:   Return one.
  updated for version 7.4.618 Problem:    luaV_setref() is missing a return statement. (Ozaki Kiichi) Solution:   Put the return statement back.
  Update runtime files.
  updated for version 7.4.617 Problem:    Wrong ":argdo" range does not cause an error. Solution:   Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat)
  updated for version 7.4.616 Problem:    Cannot insert a tab in front of a block. Solution:   Correctly compute aop->start. (Christian Brabandt)
  updated for version 7.4.615 Problem:    Vim hangs when freeing a lot of objects. Solution:   Do not go back to the start of the list every time.  (Yasuhiro 	    Matsumoto and Ariya Mizutani)
  updated for version 7.4.614 Problem:    There is no test for what patch 7.4.601 fixes. Solution:   Add a test. (Christian Brabandt)
  updated for version 7.4.613 Problem:    The NFA engine does not implement the 'redrawtime' time limit. Solution:   Implement the time limit.
  updated for version 7.4.612 Problem:    test_eval fails on Mac. Solution:   Use the * register instead of the + register. (Jun Takimoto)
  updated for version 7.4.611 Problem:    Syntax error. Solution:   Change statement to return.
  updated for version 7.4.610 Problem:    Some function headers may be missing from generated .pro files. Solution:   Add PROTO to the #ifdef.
  updated for version 7.4.609 Problem:    For complicated list and dict use the garbage collector can run 	    out of stack space. Solution:   Use a stack of dicts and lists to be marked, thus making it 	    iterative instead of recursive. (Ben Fritz)
  updated for version 7.4.608 Problem:    test_eval fails when the clipboard feature is missing. Solution:   Skip part of the test. Reduce the text used.
  updated for version 7.4.607 Problem:    Compiler warnings for unused variables. Solution:   Move them inside #ifdef. (Kazunobu Kuriyama)
  updated for version 7.4.606 Problem:    May crash when using a small window. Solution:   Avoid dividing by zero. (Christian Brabandt)
  updated for version 7.4.605 Problem:    The # register is not writable, it cannot be restored after 	    jumping around. Solution:   Make the # register writable. (Marcin Szamotulski)
  ...
2015-03-13 09:26:36 -04:00
Jason Long 04a73923b9 Merge branch 'master' of https://github.com/b4winckler/macvim into yosemite-icon-updated
* 'master' of https://github.com/b4winckler/macvim:
  Fix background color of active tab for Yosemite
2015-03-13 09:25:14 -04:00
Jason Long 024f6d4395 tweaks to shadows 2014-08-25 20:32:42 -04:00
Jason Long d13511d5de update app and document icon for Yosemite 2014-08-24 15:29:32 -04:00
208 changed files with 5341 additions and 1720 deletions
+79
View File
@@ -1,3 +1,82 @@
# This is .gitignore
# Unixen: object and executable files.
*.o
src/vim
src/xxd/xxd
src/auto/if_perl.c
src/tags
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.manifest
*.exp
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
src/if_perl.c
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.map
*.tds
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
# All platforms
*.rej
*.orig
*.mo
*.swp
*~
*.pyc
*.log
src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
src/testdir/dostmp/*
src/memfile_test
# From MacVim
.*.swp
.DS_Store
src/MacVim/MacVim.xcodeproj/*.mode1
+2
View File
@@ -71,5 +71,7 @@ src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
src/testdir/dostmp/*
src/memfile_test
-3
View File
@@ -110,6 +110,3 @@ MAIN AUTHOR
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar E-mail: Bram@vim.org
Finsterruetihof 1
8134 Adliswil
Switzerland
+241 -115
View File
@@ -3,7 +3,7 @@
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" URL: https://github.com/shawncplus/phpcomplete.vim
" Last Change: 2014 Dec 01
" Last Change: 2015 Apr 02
"
" OPTIONS:
"
@@ -141,71 +141,80 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
if a:base != ""
let context = substitute(context, '\s*[$a-zA-Z_0-9\x7f-\xff]*$', '', '')
end
else
let context = ''
end
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(getline(0, line('.')))
try
let winheight = winheight(0)
let winnr = winnr()
if context =~? '^use\s'
return phpcomplete#CompleteUse(a:base)
endif
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(getline(0, line('.')))
if context =~ '\(->\|::\)$'
" {{{
" Get name of the class
let classname = phpcomplete#GetClassName(line('.'), context, current_namespace, imports)
if context =~? '^use\s' || context ==? 'use'
return phpcomplete#CompleteUse(a:base)
endif
" Get location of class definition, we have to iterate through all
if classname != ''
if classname =~ '\'
" split the last \ segment as a classname, everything else is the namespace
let classname_parts = split(classname, '\')
let namespace = join(classname_parts[0:-2], '\')
let classname = classname_parts[-1]
if context =~ '\(->\|::\)$'
" {{{
" Get name of the class
let classname = phpcomplete#GetClassName(line('.'), context, current_namespace, imports)
" Get location of class definition, we have to iterate through all
if classname != ''
if classname =~ '\'
" split the last \ segment as a classname, everything else is the namespace
let classname_parts = split(classname, '\')
let namespace = join(classname_parts[0:-2], '\')
let classname = classname_parts[-1]
else
let namespace = '\'
endif
let classlocation = phpcomplete#GetClassLocation(classname, namespace)
else
let namespace = '\'
let classlocation = ''
endif
let classlocation = phpcomplete#GetClassLocation(classname, namespace)
if classlocation != ''
if classlocation == 'VIMPHP_BUILTINOBJECT' && has_key(g:php_builtin_classes, tolower(classname))
return phpcomplete#CompleteBuiltInClass(context, classname, a:base)
endif
if filereadable(classlocation)
let classfile = readfile(classlocation)
let classcontent = ''
let classcontent .= "\n".phpcomplete#GetClassContents(classlocation, classname)
let sccontent = split(classcontent, "\n")
let visibility = expand('%:p') == fnamemodify(classlocation, ':p') ? 'private' : 'public'
return phpcomplete#CompleteUserClass(context, a:base, sccontent, visibility)
endif
endif
return phpcomplete#CompleteUnknownClass(a:base, context)
" }}}
elseif context =~? 'implements'
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
elseif context =~? 'extends\s\+.\+$' && a:base == ''
return ['implements']
elseif context =~? 'extends'
let kinds = context =~? 'class\s' ? ['c'] : ['i']
return phpcomplete#CompleteClassName(a:base, kinds, current_namespace, imports)
elseif context =~? 'class [a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
" special case when you've typed the class keyword and the name too, only extends and implements allowed there
return filter(['extends', 'implements'], 'stridx(v:val, a:base) == 0')
elseif context =~? 'new'
return phpcomplete#CompleteClassName(a:base, ['c'], current_namespace, imports)
endif
if a:base =~ '^\$'
return phpcomplete#CompleteVariable(a:base)
else
let classlocation = ''
return phpcomplete#CompleteGeneral(a:base, current_namespace, imports)
endif
if classlocation != ''
if classlocation == 'VIMPHP_BUILTINOBJECT' && has_key(g:php_builtin_classes, tolower(classname))
return phpcomplete#CompleteBuiltInClass(context, classname, a:base)
endif
if filereadable(classlocation)
let classfile = readfile(classlocation)
let classcontent = ''
let classcontent .= "\n".phpcomplete#GetClassContents(classlocation, classname)
let sccontent = split(classcontent, "\n")
let visibility = expand('%:p') == fnamemodify(classlocation, ':p') ? 'private' : 'public'
return phpcomplete#CompleteUserClass(context, a:base, sccontent, visibility)
endif
endif
return phpcomplete#CompleteUnknownClass(a:base, context)
" }}}
elseif context =~? 'implements'
return phpcomplete#CompleteClassName(a:base, ['i'], current_namespace, imports)
elseif context =~? 'extends\s\+.\+$'
return ['implements']
elseif context =~? 'extends'
let kinds = context =~? 'class\s' ? ['c'] : ['i']
return phpcomplete#CompleteClassName(a:base, kinds, current_namespace, imports)
elseif context =~? 'class [a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
" special case when you've typed the class keyword and the name too, only extends and implements allowed there
return filter(['extends', 'implements'], 'stridx(v:val, a:base) == 0')
elseif context =~? 'new'
return phpcomplete#CompleteClassName(a:base, ['c'], current_namespace, imports)
endif
if a:base =~ '^\$'
return phpcomplete#CompleteVariable(a:base)
else
return phpcomplete#CompleteGeneral(a:base, current_namespace, imports)
endif
finally
silent! exec winnr.'resize '.winheight
endtry
endfunction
" }}}
@@ -244,12 +253,13 @@ function! phpcomplete#CompleteUse(base) " {{{
if has_key(tag, 'namespace')
let patched_ctags_detected = 1
endif
if tag.kind ==? 'n' && tag.name =~? '^'.namespace_match_pattern
let patched_ctags_detected = 1
call add(namespaced_matches, {'word': tag.name, 'kind': 'n', 'menu': tag.filename, 'info': tag.filename })
elseif has_key(tag, 'namespace') && (tag.kind ==? 'c' || tag.kind ==? 'i') && tag.namespace ==? namespace_for_class
elseif has_key(tag, 'namespace') && (tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't') && tag.namespace ==? namespace_for_class
call add(namespaced_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
elseif (tag.kind ==? 'c' || tag.kind ==? 'i')
elseif (tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't')
call add(no_namespace_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
endif
endfor
@@ -272,6 +282,10 @@ function! phpcomplete#CompleteUse(base) " {{{
endfor
endif
for comp in res
let comp.word = substitute(comp.word, '^\\', '', '')
endfor
return res
endfunction
" }}}
@@ -326,6 +340,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
let ext_functions = {}
let ext_constants = {}
let ext_classes = {}
let ext_traits = {}
let ext_interfaces = {}
let ext_namespaces = {}
@@ -420,7 +435,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
endif
endif
endif
elseif tag.kind ==? 'c' || tag.kind ==? 'i'
elseif tag.kind ==? 'c' || tag.kind ==? 'i' || tag.kind ==? 't'
let info = ' - '.tag.filename
let key = ''
@@ -441,6 +456,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
let ext_classes[key] = info
elseif tag.kind ==? 'i'
let ext_interfaces[key] = info
elseif tag.kind ==? 't'
let ext_traits[key] = info
endif
endif
endif
@@ -463,7 +480,7 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
endfor
for [interfacename, info] in items(g:php_builtin_interfacenames)
if interfacename =~? '^'.base
let builtin_interfaces[leading_slash.interfacename] = info
let builtin_interfaces[leading_slash.g:php_builtin_interfaces[tolower(interfacename)].name] = info
endif
endfor
endif
@@ -511,6 +528,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
else
let ext_interfaces[imported_name] = ' '.import.name.' - '.import.filename
endif
elseif import.kind ==? 't'
let ext_traits[imported_name] = ' '.import.name.' - '.import.filename
endif
" no builtin interfaces
@@ -540,6 +559,9 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
" Add external interfaces
call extend(all_values, ext_interfaces)
" Add external traits
call extend(all_values, ext_traits)
" Add built-in classes
call extend(all_values, builtin_classnames)
@@ -566,6 +588,8 @@ function! phpcomplete#CompleteGeneral(base, current_namespace, imports) " {{{
elseif has_key(ext_interfaces, i) || has_key(builtin_interfaces, i)
let info = has_key(ext_interfaces, i) ? ext_interfaces[i] : builtin_interfaces[i].' - builtin'
let final_list += [{'word':i, 'kind': 'i', 'menu': info, 'info': i.info}]
elseif has_key(ext_traits, i)
let final_list += [{'word':i, 'kind': 't', 'menu': ext_traits[i], 'info': ext_traits[i]}]
elseif has_key(int_constants, i) || has_key(builtin_constants, i)
let info = has_key(int_constants, i) ? int_constants[i] : ' - builtin'
let final_list += [{'word':i, 'kind': 'd', 'menu': info, 'info': i.info}]
@@ -784,7 +808,7 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
let tags = []
if len(tag_match_pattern) >= g:phpcomplete_min_num_of_chars_for_namespace_completion
let tags = phpcomplete#GetTaglist('^'.tag_match_pattern)
let tags = phpcomplete#GetTaglist('^\c'.tag_match_pattern)
endif
if len(tags)
@@ -861,6 +885,39 @@ function! phpcomplete#CompareCompletionRow(i1, i2) " {{{
endfunction
" }}}
function! s:getNextCharWithPos(filelines, current_pos) " {{{
let line_no = a:current_pos[0]
let col_no = a:current_pos[1]
let last_line = a:filelines[len(a:filelines) - 1]
let end_pos = [len(a:filelines) - 1, strlen(last_line) - 1]
if line_no > end_pos[0] || line_no == end_pos[0] && col_no > end_pos[1]
return ['EOF', 'EOF']
endif
" we've not reached the end of the current line break
if col_no + 1 < strlen(a:filelines[line_no])
let col_no += 1
else
" we've reached the end of the current line, jump to the next
" non-blank line (blank lines have no position where we can read from,
" not even a whitespace. The newline char does not positionable by vim
let line_no += 1
while strlen(a:filelines[line_no]) == 0
let line_no += 1
endwhile
let col_no = 0
endif
" return 'EOF' string to signal end of file, normal results only one char
" in length
if line_no == end_pos[0] && col_no > end_pos[1]
return ['EOF', 'EOF']
endif
return [[line_no, col_no], a:filelines[line_no][col_no]]
endfunction " }}}
function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibited_modifiers) " {{{
" if theres no modifier, and no modifier is allowed and no modifier is required
if len(a:modifiers) == 0 && len(a:required_modifiers) == 0
@@ -1475,21 +1532,19 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
return ''
endif
if line =~? '\v^\s*(abstract\s+|final\s+)*\s*class'
let class_name = matchstr(line, '\c\s*class\s*\zs'.class_name_pattern.'\ze')
if line =~? '\v^\s*(abstract\s+|final\s+)*\s*class\s'
let class_name = matchstr(line, '\cclass\s\+\zs'.class_name_pattern.'\ze')
let extended_class = matchstr(line, '\cclass\s\+'.class_name_pattern.'\s\+extends\s\+\zs'.class_name_pattern.'\ze')
let classname_candidate = a:context =~? 'parent::' ? extended_class : class_name
else
let i += 1
continue
if classname_candidate != ''
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(classname_candidate, class_candidate_namespace, class_candidate_imports, methodstack)
" return absolute classname, without leading \
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
endif
endif
if classname_candidate != ''
let [classname_candidate, class_candidate_namespace] = phpcomplete#GetCallChainReturnType(classname_candidate, class_candidate_namespace, class_candidate_imports, methodstack)
" return absolute classname, without leading \
return (class_candidate_namespace == '\' || class_candidate_namespace == '') ? classname_candidate : class_candidate_namespace.'\'.classname_candidate
endif
let i += 1
endwhile
elseif a:context =~? '(\s*new\s\+'.class_name_pattern.'\s*)->'
let classname_candidate = matchstr(a:context, '\cnew\s\+\zs'.class_name_pattern.'\ze')
@@ -1602,26 +1657,26 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
endif
endif
" in-file lookup for typehinted function arguments
" - the function can have a name or be anonymous (e.g., function qux() { ... } vs. function () { ... })
" - the type-hinted argument can be anywhere in the arguments list.
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.class_name_pattern.'\s\+'.object && !object_is_array
let f_args = matchstr(line, '\cfunction\(\s\+'.function_name_pattern.'\)\?\s*(\zs.\{-}\ze)')
let args = split(f_args, '\s*\zs,\ze\s*')
for arg in args
if arg =~# object.'\(,\|$\)'
let classname_candidate = matchstr(arg, '\s*\zs'.class_name_pattern.'\ze\s\+'.object)
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports)
" function declaration line
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*('
let function_lines = join(reverse(lines), " ")
" search for type hinted arguments
if function_lines =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.class_name_pattern.'\s\+'.object && !object_is_array
let f_args = matchstr(function_lines, '\cfunction\(\s\+'.function_name_pattern.'\)\?\s*(\zs.\{-}\ze)')
let args = split(f_args, '\s*\zs,\ze\s*')
for arg in args
if arg =~# object.'\(,\|$\)'
let classname_candidate = matchstr(arg, '\s*\zs'.class_name_pattern.'\ze\s\+'.object)
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, a:current_namespace, a:imports)
break
endif
endfor
if classname_candidate != ''
break
endif
endfor
if classname_candidate != ''
break
endif
endif
" if we see a function declaration, try loading the docblock for it and look for matching @params
if line =~? 'function\(\s\+'.function_name_pattern.'\)\?\s*(.\{-}'.object
" search for docblock for the function
let match_line = substitute(line, '\\', '\\\\', 'g')
let sccontent = getline(0, a:start_line - i)
let doc_str = phpcomplete#GetDocBlock(sccontent, match_line)
@@ -1641,13 +1696,14 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
endif
" assignment for the variable in question with a variable on the right hand side
if line =~# '^\s*'.object.'\s*=&\?\s*'.variable_name_pattern
if line =~# '^\s*'.object.'\s*=&\?\s\+\(clone\)\?\s*'.variable_name_pattern
" try to find the next non-comment or string ";" char
let start_col = match(line, '^\s*'.object.'\C\s*=\zs&\?\s*'.variable_name_pattern)
let start_col = match(line, '^\s*'.object.'\C\s*=\zs&\?\s\+\(clone\)\?\s*'.variable_name_pattern)
let filelines = reverse(lines)
let [pos, char] = s:getNextCharWithPos(filelines, [a:start_line - i - 1, start_col])
let chars_read = 1
let last_pos = pos
" read while end of the file
while char != 'EOF' && chars_read < 1000
let last_pos = pos
@@ -1689,6 +1745,7 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
let filelines = reverse(lines)
let [pos, char] = s:getNextCharWithPos(filelines, [a:start_line - i - 1, start_col])
let chars_read = 1
let last_pos = pos
" read while end of the file
while char != 'EOF' && chars_read < 1000
let last_pos = pos
@@ -1819,7 +1876,7 @@ function! phpcomplete#GetClassLocation(classname, namespace) " {{{
let i = 1
while i < line('.')
let line = getline(line('.')-i)
if line =~? '^\s*\(abstract\s\+\|final\s\+\)*\s*class\s*'.a:classname.'\(\s\+\|$\)' && tolower(current_namespace) == search_namespace
if line =~? '^\s*\(abstract\s\+\|final\s\+\)*\s*\(class\|interface\|trait\)\s*'.a:classname.'\(\s\+\|$\)' && tolower(current_namespace) == search_namespace
return expand('%:p')
else
let i += 1
@@ -1831,7 +1888,9 @@ function! phpcomplete#GetClassLocation(classname, namespace) " {{{
let no_namespace_candidate = ''
let tags = phpcomplete#GetTaglist('^'.a:classname.'$')
for tag in tags
if tag.kind == 'c' || tag.kind == 'i'
" We'll allow interfaces and traits to be handled classes since you
" can't have colliding names with different kinds anyway
if tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't'
if !has_key(tag, 'namespace')
let no_namespace_candidate = tag.filename
else
@@ -1981,7 +2040,7 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
silent! below 1new
silent! 0put =cfile
call search('\(class\|interface\)\_s\+'.a:class_name.'\(\>\|$\)')
call search('\c\(class\|interface\|trait\)\_s\+'.a:class_name.'\(\>\|$\)')
let cfline = line('.')
call search('{')
let endline = line('.')
@@ -1994,8 +2053,48 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
let extends_class = ''
endif
call searchpair('{', '', '}', 'W')
let classcontent = join(getline(cfline, line('.')), "\n")
let class_closing_bracket_line = line('.')
let classcontent = join(getline(cfline, class_closing_bracket_line), "\n")
let used_traits = []
" move back to the line next to the class's definition
call cursor(endline + 1, 1)
let keep_searching = 1
while keep_searching != 0
" try to grab "use..." keywords
let [lnum, col] = searchpos('\c^\s\+use\s\+'.class_name_pattern, 'cW', class_closing_bracket_line)
let syn_name = synIDattr(synID(lnum, col, 0), "name")
if syn_name =~? 'string\|comment'
call cursor(lnum + 1, 1)
continue
endif
let trait_line = getline(lnum)
if trait_line !~? ';'
" try to find the next line containing ';'
let l = lnum
let search_line = trait_line
" add lines from the file until theres no ';' in them
while search_line !~? ';' && l > 0
" file lines are reversed so we need to go backwards
let l += 1
let search_line = getline(l)
let trait_line .= ' '.substitute(search_line, '\(^\s\+\|\s\+$\)', '', 'g')
endwhile
endif
let use_expression = matchstr(trait_line, '^\s*use\s\+\zs.\{-}\ze;')
let use_parts = map(split(use_expression, '\s*,\s*'), 'substitute(v:val, "\\s+", " ", "g")')
let used_traits += map(use_parts, 'substitute(v:val, "\\s", "", "g")')
call cursor(lnum + 1, 1)
if [lnum, col] == [0, 0]
let keep_searching = 0
endif
endwhile
silent! bw! %
let [current_namespace, imports] = phpcomplete#GetCurrentNameSpace(a:file_lines[0:cfline])
" go back to original window
exe phpcomplete_original_window.'wincmd w'
@@ -2008,21 +2107,27 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
\ 'mtime': getftime(full_file_path),
\ })
let all_extends = used_traits
if extends_class != ''
let [extends_class, namespace] = phpcomplete#ExpandClassName(extends_class, current_namespace, imports)
if namespace == ''
let namespace = '\'
endif
let classlocation = phpcomplete#GetClassLocation(extends_class, namespace)
if classlocation == "VIMPHP_BUILTINOBJECT"
let result += [phpcomplete#GenerateBuiltinClassStub(g:php_builtin_classes[tolower(extends_class)])]
elseif classlocation != '' && filereadable(classlocation)
let full_file_path = fnamemodify(classlocation, ':p')
let result += phpcomplete#GetClassContentsStructure(full_file_path, readfile(full_file_path), extends_class)
elseif tolower(current_namespace) == tolower(namespace)
" try to find the declaration in the same file.
let result += phpcomplete#GetClassContentsStructure(full_file_path, a:file_lines, extends_class)
endif
call add(all_extends, extends_class)
endif
if len(all_extends) > 0
for class in all_extends
let [class, namespace] = phpcomplete#ExpandClassName(class, current_namespace, imports)
if namespace == ''
let namespace = '\'
endif
let classlocation = phpcomplete#GetClassLocation(class, namespace)
if classlocation == "VIMPHP_BUILTINOBJECT"
let result += [phpcomplete#GenerateBuiltinClassStub(g:php_builtin_classes[tolower(class)])]
elseif classlocation != '' && filereadable(classlocation)
let full_file_path = fnamemodify(classlocation, ':p')
let result += phpcomplete#GetClassContentsStructure(full_file_path, readfile(full_file_path), class)
elseif tolower(current_namespace) == tolower(namespace)
" try to find the declaration in the same file.
let result += phpcomplete#GetClassContentsStructure(full_file_path, a:file_lines, class)
endif
endfor
endif
return result
@@ -2270,19 +2375,40 @@ endfunction!
" }}}
function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
let original_window = winnr()
silent! below 1new
silent! 0put =a:file_lines
normal! G
" clear out classes, functions and other blocks
while 1
let block_start_pos = searchpos('\c\(class\|trait\|function\|interface\)\s\+\_.\{-}\zs{', 'Web')
if block_start_pos == [0, 0]
break
endif
let block_end_pos = searchpairpos('{', '', '}\|\%$', 'W', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"')
silent! exec block_start_pos[0].','.block_end_pos[0].'d'
endwhile
normal! G
" grab the remains
let file_lines = reverse(getline(1, line('.') - 1))
silent! bw! %
exe original_window.'wincmd w'
let namespace_name_pattern = '[a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
let file_lines = reverse(copy(a:file_lines))
let i = 0
let file_length = len(file_lines)
let imports = {}
let current_namespace = '\'
while i < file_length
let line = file_lines[i]
if line =~? '^\s*namespace\s*'.namespace_name_pattern
let current_namespace = matchstr(line, '^\s*namespace\s*\zs'.namespace_name_pattern.'\ze')
let current_namespace = matchstr(line, '\c^\s*namespace\s*\zs'.namespace_name_pattern.'\ze')
break
endif
@@ -2303,11 +2429,11 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
let use_line .= ' '.substitute(search_line, '\(^\s\+\|\s\+$\)', '', 'g')
endwhile
endif
let use_expression = matchstr(use_line, '^\s*use\s\+\zs.\{-}\ze;')
let use_expression = matchstr(use_line, '^\c\s*use\s\+\zs.\{-}\ze;')
let use_parts = map(split(use_expression, '\s*,\s*'), 'substitute(v:val, "\\s+", " ", "g")')
for part in use_parts
if part =~? '\s\+as\s\+'
let [object, name] = split(part, '\s\+as\s\+')
let [object, name] = split(part, '\s\+as\s\+\c')
let object = substitute(object, '^\\', '', '')
let name = substitute(name, '^\\', '', '')
else
@@ -2343,7 +2469,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
break
endif
" if the name matches with the extracted classname and namespace
if (tag.kind == 'c' || tag.kind == 'i') && tag.name == classname
if (tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't') && tag.name == classname
if has_key(tag, 'namespace')
let patched_ctags_detected = 1
if tag.namespace == namespace_for_classes
@@ -2386,7 +2512,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
let tags = phpcomplete#GetTaglist('^'.import['name'].'$')
for tag in tags
" search for the first matchin namespace, class, interface with no namespace
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i')
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't')
call extend(import, tag)
let import['builtin'] = 0
break
+8 -1
View File
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.4. Last change: 2014 Sep 23
*autocmd.txt* For Vim version 7.4. Last change: 2015 Mar 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -933,6 +933,13 @@ WinLeave Before leaving a window. If the window to be
==============================================================================
6. Patterns *autocmd-patterns* *{pat}*
The {pat} argument can be a comma separated list. This works as if the
command was given with each pattern separately. Thus this command: >
:autocmd BufRead *.txt,*.info set et
Is equivalent to: >
:autocmd BufRead *.txt set et
:autocmd BufRead *.info set et
The file pattern {pat} is tested for a match against the file name in one of
two ways:
1. When there is no '/' in the pattern, Vim checks for a match against only
+13 -11
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2015 Jan 27
*change.txt* For Vim version 7.4. Last change: 2015 Feb 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1192,12 +1192,14 @@ if none of buffers matches the given name.
7. Expression register "= *quote_=* *quote=* *@=*
This is not really a register that stores text, but is a way to use an
expression in commands which use a register. The expression register is
read-only; you cannot put text into it. After the '=', the cursor moves to
the command-line, where you can enter any expression (see |expression|). All
normal command-line editing commands are available, including a special
history for expressions. When you end the command-line by typing <CR>, Vim
computes the result of the expression. If you end it with <Esc>, Vim abandons
the expression. If you do not enter an expression, Vim uses the previous
read-write.
When typing the '=' after " or CTRL-R the cursor moves to the command-line,
where you can enter any expression (see |expression|). All normal
command-line editing commands are available, including a special history for
expressions. When you end the command-line by typing <CR>, Vim computes the
result of the expression. If you end it with <Esc>, Vim abandons the
expression. If you do not enter an expression, Vim uses the previous
expression (like with the "/" command).
The expression must evaluate to a String. A Number is always automatically
@@ -1242,7 +1244,7 @@ Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with `:let`, you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register. The search direction is available in |v:searchforward|.
Note that the valued is restored when returning from a function
Note that the value is restored when returning from a function
|function-search-undo|.
{not in Vi}
@@ -1457,10 +1459,10 @@ When you hit Return in a C-comment, Vim will insert the middle comment leader
for the new line: " * ". To close this comment you just have to type "/"
before typing anything else on the new line. This will replace the
middle-comment leader with the end-comment leader and apply any specified
alignment, leaving just " */". There is no need to hit BackSpace first.
alignment, leaving just " */". There is no need to hit Backspace first.
When there is a match with a middle part, but there also is a maching end part
which is longer, the end part is used. This makes a C style comment work
When there is a match with a middle part, but there also is a matching end
part which is longer, the end part is used. This makes a C style comment work
without requiring the middle part to end with a space.
Here is an example of alignment flags at work to make a comment stand out
+3 -2
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.4. Last change: 2015 Jan 04
*editing.txt* For Vim version 7.4. Last change: 2015 Feb 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -304,7 +304,8 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Mnemonic: "goto file".
Uses the 'isfname' option to find out which characters
are supposed to be in a file name. Trailing
punctuation characters ".,:;!" are ignored.
punctuation characters ".,:;!" are ignored. Escaped
spaces "\ " are reduced to a single space.
Uses the 'path' option as a list of directory names to
look for the file. See the 'path' option for details
about relative directories and wildcards.
+25 -10
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.4. Last change: 2015 Jan 29
*eval.txt* For Vim version 7.4. Last change: 2015 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -525,7 +525,7 @@ Funcref to a Dictionary, but the "self" variable is not available then.
To avoid the extra name for the function it can be defined and directly
assigned to a Dictionary in this way: >
:let mydict = {'data': [0, 1, 2, 3]}
:function mydict.len() dict
:function mydict.len()
: return len(self.data)
:endfunction
:echo mydict.len()
@@ -1834,9 +1834,10 @@ getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
getwinvar( {nr}, {varname} [, {def}])
any variable {varname} in window {nr}
glob( {expr} [, {nosuf} [, {list}]])
glob( {expr} [, {nosuf} [, {list} [, {alllinks}]]])
any expand file wildcards in {expr}
globpath( {path}, {expr} [, {nosuf} [, {list}]])
glob2regpat( {expr}) String convert a glob pat into a search pat
globpath( {path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
String do glob({expr}) for all dirs in {path}
has( {feature}) Number TRUE if feature {feature} supported
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
@@ -3314,7 +3315,7 @@ getchar([expr]) *getchar()*
: endwhile
:endfunction
<
You may also receive syntetic characters, such as
You may also receive synthetic characters, such as
|<CursorHold>|. Often you will want to ignore this and get
another character: >
:function GetKey()
@@ -3638,7 +3639,7 @@ getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
:let list_is_on = getwinvar(2, '&list')
:echo "myvar = " . getwinvar(1, 'myvar')
<
glob({expr} [, {nosuf} [, {list}]]) *glob()*
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
Expand the file wildcards in {expr}. See |wildcards| for the
use of special characters.
@@ -3655,8 +3656,11 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
matches, they are separated by <NL> characters.
If the expansion fails, the result is an empty String or List.
A name for a non-existing file is not included. A symbolic
link is only included if it points to an existing file.
However, when the {alllinks} argument is present and it is
non-zero then all symbolic links are included.
For most systems backticks can be used to get files names from
any external command. Example: >
@@ -3668,7 +3672,16 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
See |expand()| for expanding special Vim variables. See
|system()| for getting the raw output of an external command.
globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
glob2regpat({expr}) *glob2regpat()*
Convert a file pattern, as used by glob(), into a search
pattern. The result can be used to match with a string that
is a file name. E.g. >
if filename =~ glob2regpat('Make*.mak')
< This is equivalent to: >
if filename =~ '^Make.*\.mak$'
<
*globpath()*
globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
Perform glob() on all directories in {path} and concatenate
the results. Example: >
:echo globpath(&rtp, "syntax/c.vim")
@@ -3694,6 +3707,8 @@ globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
they are separated by <NL> characters. Example: >
:echo globpath(&rtp, "syntax/c.vim", 0, 1)
<
{allinks} is used as with |glob()|.
The "**" item can be used to search in a directory tree.
For example, to find all "README.txt" files in the directories
in 'runtimepath' and below: >
@@ -4828,7 +4843,7 @@ py3eval({expr}) *py3eval()*
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Numbers and strings are returned as they are (strings are
copied though, unicode strings are additionally converted to
copied though, Unicode strings are additionally converted to
'encoding').
Lists are represented as Vim |List| type.
Dictionaries are represented as Vim |Dictionary| type with
@@ -5567,7 +5582,7 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
:call setwinvar(2, "myvar", "foobar")
sha256({string}) *sha256()*
Returns a String with 64 hex charactes, which is the SHA256
Returns a String with 64 hex characters, which is the SHA256
checksum of {string}.
{only available when compiled with the |+cryptv| feature}
@@ -8284,7 +8299,7 @@ You can catch all Vim errors by the pattern >
*catch-text*
NOTE: You should never catch the error message text itself: >
:catch /No such variable/
only works in the english locale, but not when the user has selected
only works in the English locale, but not when the user has selected
a different language by the |:language| command. It is however helpful to
cite the message text in a comment: >
:catch /^Vim(\a\+):E108:/ " No such variable
+2 -2
View File
@@ -365,7 +365,7 @@ zX Undo manually opened and closed folds: re-apply 'foldlevel'.
Also forces recomputing folds, like |zx|.
*zm*
zm Fold more: Subtract one from 'foldlevel'. If 'foldlevel' was
zm Fold more: Subtract |v:count1| from 'foldlevel'. If 'foldlevel' was
already zero nothing happens.
'foldenable' will be set.
@@ -374,7 +374,7 @@ zM Close all folds: set 'foldlevel' to 0.
'foldenable' will be set.
*zr*
zr Reduce folding: Add one to 'foldlevel'.
zr Reduce folding: Add |v:count1| to 'foldlevel'.
*zR*
zR Open all folds. This sets 'foldlevel' to highest fold level.
+2 -1
View File
@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.4. Last change: 2012 Dec 06
*help.txt* For Vim version 7.4. Last change: 2015 Apr 15
VIM - main help file
k
@@ -24,6 +24,7 @@ Get specific help: It is possible to go directly to whatever you want help
Command-line editing c_ :help c_<Del>
Vim command argument - :help -r
Option ' :help 'textwidth'
Regular expression / :help /[
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
+8 -4
View File
@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.4. Last change: 2012 Aug 02
*if_ruby.txt* For Vim version 7.4. Last change: 2015 Feb 22
VIM REFERENCE MANUAL by Shugo Maeda
@@ -120,9 +120,13 @@ VIM::command({cmd})
*ruby-evaluate*
VIM::evaluate({expr})
Evaluates {expr} using the vim internal expression evaluator (see
|expression|). Returns the expression result as a string.
A |List| is turned into a string by joining the items and inserting
line breaks.
|expression|). Returns the expression result as:
- a Integer if the Vim expression evaluates to a number
- a Float if the Vim expression evaluates to a float
- a String if the Vim expression evaluates to a string
- a Array if the Vim expression evaluates to a Vim list
- a Hash if the Vim expression evaluates to a Vim dictionary
Dictionaries and lists are recursively expanded.
==============================================================================
3. VIM::Buffer objects *ruby-buffer*
+6 -1
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2015 Jan 07
*index.txt* For Vim version 7.4. Last change: 2015 Feb 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -702,12 +702,16 @@ tag char note action in Normal mode ~
|g'| g'{mark} 1 like |'| but without changing the jumplist
|g`| g`{mark} 1 like |`| but without changing the jumplist
|gstar| g* 1 like "*", but without using "\<" and "\>"
|g+| g+ go to newer text state N times
|g,| g, 1 go to N newer position in change list
|g-| g- go to older text state N times
|g0| g0 1 when 'wrap' off go to leftmost character of
the current line that is on the screen;
when 'wrap' on go to the leftmost character
of the current screen line
|g8| g8 print hex value of bytes used in UTF-8
character under the cursor
|g;| g; 1 go to N older position in change list
|g<| g< display previous command output
|g?| g? 2 Rot13 encoding operator
|g?g?| g?? 2 Rot13 encode current line
@@ -736,6 +740,7 @@ tag char note action in Normal mode ~
the screen; when 'wrap' on go to the
leftmost non-white character of the current
screen line
|g_| g_ 1 cursor to the last CHAR N - 1 lines lower
|ga| ga print ascii value of character under the
cursor
|gd| gd 1 go to definition of word under the cursor
+7 -2
View File
@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.4. Last change: 2012 Jan 26
*netbeans.txt* For Vim version 7.4. Last change: 2015 Mar 14
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -306,7 +306,12 @@ bufID Buffer number. A message may be either for a specific buffer
or generic. Generic messages use a bufID of zero. NOTE: this
buffer ID is assigned by the IDE, it is not Vim's buffer
number. The bufID must be a sequentially rising number,
starting at one.
starting at one. When the 'switchbuf' option is set to
"usetab" and the "bufID" buffer is not found in the current
tab page, the netbeans commands and functions that set this
buffer as the current buffer will jump to the first open
window that contains this buffer in other tab pages instead of
replacing the buffer in the current window.
seqno The IDE uses a sequence number for Commands and Functions. A
Reply must use the sequence number of the Function that it is
+26 -20
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2015 Jan 27
*options.txt* For Vim version 7.4. Last change: 2015 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -536,11 +536,11 @@ number can be specified where "vim:" or "Vim:" is used:
vim<{vers}: version before {vers}
vim={vers}: version {vers}
vim>{vers}: version after {vers}
{vers} is 600 for Vim 6.0 (hundred times the major version plus minor).
For example, to use a modeline only for Vim 6.0 and later:
/* vim600: set foldmethod=marker: */ ~
To use a modeline for Vim before version 5.7:
/* vim<570: set sw=4: */ ~
{vers} is 700 for Vim 7.0 (hundred times the major version plus minor).
For example, to use a modeline only for Vim 7.0:
/* vim700: set foldmethod=marker */ ~
To use a modeline for Vim after version 7.2:
/* vim>702: set cole=2: */ ~
There can be no blanks between "vim" and the ":".
@@ -1321,8 +1321,9 @@ A jump table for the options with a short description can be found at |Q_op|.
nofile only: The buffer name is fixed, it is not handled like a
file name. It is not modified in response to a |:cd|
command.
nofile only: When using ":e bufname" and already editing "bufname"
nothing changes, since there is no file to edit.
both: When using ":e bufname" and already editing "bufname"
the buffer is made empty and autocommands are
triggered as usual for |:edit|.
*E676*
"acwrite" implies that the buffer name is not related to a file, like
"nofile", but it will be written. Thus, in contrast to "nofile" and
@@ -2955,8 +2956,8 @@ A jump table for the options with a short description can be found at |Q_op|.
2. If a <NL> is found and 'fileformats' includes "unix", 'fileformat'
is set to "unix". Note that when a <NL> is found without a
preceding <CR>, "unix" is preferred over "dos".
3. If 'fileformat' has not yet been set, and if 'fileformats'
includes "mac", 'fileformat' is set to "mac".
3. If 'fileformat' has not yet been set, and if a <CR> is found, and
if 'fileformats' includes "mac", 'fileformat' is set to "mac".
This means that "mac" is only chosen when:
"unix" is not present or no <NL> is found in the file, and
"dos" is not present or no <CR><NL> is found in the file.
@@ -3506,7 +3507,8 @@ A jump table for the options with a short description can be found at |Q_op|.
the height of the cursor can be changed. This can be done by
specifying a block cursor, or a percentage for a vertical or
horizontal cursor.
For a console the 't_SI' and 't_EI' escape sequences are used.
For a console the 't_SI', 't_SR', and 't_EI' escape sequences are
used.
The option is a comma separated list of parts. Each part consist of a
mode-list and an argument-list:
@@ -4817,31 +4819,35 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Strings to use in 'list' mode and for the |:list| command. It is a
comma separated list of string settings.
*lcs-eol*
*lcs-eol*
eol:c Character to show at the end of each line. When
omitted, there is no extra character at the end of the
line.
*lcs-tab*
*lcs-tab*
tab:xy Two characters to be used to show a tab. The first
char is used once. The second char is repeated to
fill the space that the tab normally occupies.
"tab:>-" will show a tab that takes four spaces as
">---". When omitted, a tab is show as ^I.
*lcs-trail*
*lcs-space*
space:c Character to show for a space. When omitted, spaces
are left blank.
*lcs-trail*
trail:c Character to show for trailing spaces. When omitted,
trailing spaces are blank.
*lcs-extends*
trailing spaces are blank. Overrides the "space"
setting for trailing spaces.
*lcs-extends*
extends:c Character to show in the last column, when 'wrap' is
off and the line continues beyond the right of the
screen.
*lcs-precedes*
*lcs-precedes*
precedes:c Character to show in the first column, when 'wrap'
is off and there is text preceding the character
visible in the first column.
*lcs-conceal*
*lcs-conceal*
conceal:c Character to show in place of concealed text, when
'conceallevel' is set to 1.
*lcs-nbsp*
*lcs-nbsp*
nbsp:c Character to show for a non-breakable space (character
0xA0, 160). Left blank when omitted.
@@ -4854,7 +4860,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:set lcs=tab:>-,eol:<,nbsp:%
:set lcs=extends:>,precedes:<
< The "NonText" highlighting will be used for "eol", "extends" and
"precedes". "SpecialKey" for "nbsp", "tab" and "trail".
"precedes". "SpecialKey" for "nbsp", "space", "tab" and "trail".
|hl-NonText| |hl-SpecialKey|
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
+7 -2
View File
@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.4. Last change: 2014 Sep 06
*pattern.txt* For Vim version 7.4. Last change: 2015 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,6 +59,8 @@ explanations are in chapter 27 |usr_27.txt|.
*n*
n Repeat the latest "/" or "?" [count] times.
If the cursor doesn't move the search is repeated with
count + 1.
|last-pattern| {Vi: no count}
*N*
@@ -1058,7 +1060,10 @@ x A single character, with no special meaning, matches itself
*E769*
When the ']' is not there Vim will not give an error message but
assume no collection is used. Useful to search for '['. However, you
do get E769 for internal searching.
do get E769 for internal searching. And be aware that in a
`:substitute` command the whole command becomes the pattern. E.g.
":s/[/x/" searches for "[/x" and replaces it with nothing. It does
not search for "[" and replaces it with "x"!
If the sequence begins with "^", it matches any single character NOT
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
+3 -2
View File
@@ -1,4 +1,4 @@
*remote.txt* For Vim version 7.4. Last change: 2008 May 24
*remote.txt* For Vim version 7.4. Last change: 2015 Mar 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -37,7 +37,8 @@ The following command line arguments are available:
The remote Vim is raised. If you don't want
this use >
vim --remote-send "<C-\><C-N>:n filename<CR>"
< --remote-silent [+{cmd}] {file} ... *--remote-silent*
<
--remote-silent [+{cmd}] {file} ... *--remote-silent*
As above, but don't complain if there is no
server and the file is edited locally.
--remote-wait [+{cmd}] {file} ... *--remote-wait*
+2 -1
View File
@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2015 Jan 07
*repeat.txt* For Vim version 7.4. Last change: 2015 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -600,6 +600,7 @@ For example, to profile the one_script.vim script file: >
:prof[ile] start {fname} *:prof* *:profile* *E750*
Start profiling, write the output in {fname} upon exit.
"~/" and environment variables in {fname} will be expanded.
If {fname} already exists it will be silently overwritten.
The variable |v:profiling| is set to one.
+32 -3
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2015 Feb 03
*syntax.txt* For Vim version 7.4. Last change: 2015 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -211,7 +211,8 @@ thing. These are then linked to a highlight group that specifies the color.
A syntax group name doesn't specify any color or attributes itself.
The name for a highlight or syntax group must consist of ASCII letters, digits
and the underscore. As a regexp: "[a-zA-Z0-9_]*"
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
an error when using other characters.
To be able to allow each user to pick his favorite set of colors, there must
be preferred names for highlight groups that are common for many languages.
@@ -3321,6 +3322,32 @@ must not click outside of the pixel strings, but feel free to improve it.
It will look much better with a font in a quadratic cell size, e.g. for X: >
:set guifont=-*-clean-medium-r-*-*-8-*-*-*-*-80-*
YAML *yaml.vim* *ft-yaml-syntax*
*g:yaml_schema* *b:yaml_schema*
A YAML schema is a combination of a set of tags and a mechanism for resolving
non-specific tags. For user this means that YAML parser may, depending on
plain scalar contents, treat plain scalar (which can actually be only string
and nothing else) as a value of the other type: null, boolean, floating-point,
integer. `g:yaml_schema` option determines according to which schema values
will be highlighted specially. Supported schemas are
Schema Description ~
failsafe No additional highlighting.
json Supports JSON-style numbers, booleans and null.
core Supports more number, boolean and null styles.
pyyaml In addition to core schema supports highlighting timestamps,
but there are some differences in what is recognized as
numbers and many additional boolean values not present in core
schema.
Default schema is `core`.
Note that schemas are not actually limited to plain scalars, but this is the
only difference between schemas defined in YAML specification and the only
difference defined in the syntax file.
==============================================================================
5. Defining a syntax *:syn-define* *E410*
@@ -4253,7 +4280,7 @@ If the "maxlines={N}" argument is given, the number of lines that are searched
for a comment or syncing pattern is restricted to N lines backwards (after
adding "minlines"). This is useful if you have few things to sync on and a
slow machine. Example: >
:syntax sync ccomment maxlines=500
:syntax sync maxlines=500 ccomment
<
*:syn-sync-linebreaks*
When using a pattern that matches multiple lines, a change in one line may
@@ -4647,6 +4674,8 @@ ctermbg={color-nr} *highlight-ctermbg*
Note that for some color terminals these names may result in the wrong
colors!
You can also use "NONE" to remove the color.
*:hi-normal-cterm*
When setting the "ctermfg" or "ctermbg" colors for the Normal group,
these will become the colors used for the non-highlighted text.
+14 -8
View File
@@ -202,23 +202,29 @@ REORDERING TAB PAGES:
Move the current tab page to after tab page N. Use zero to
make the current tab page the first one. Without N the tab
page is made the last one. >
:.tabmove " do nothing
:-tabmove " move the tab page to the left
:tabmove " move the tab page to the right
:.tabmove " as above
:+tabmove " as above
:+tabmove " move the tab page to the right
:0tabmove " move the tab page to the beginning of the tab
" list
:$tabmove " move the tab page to the end of the tab list
<
:tabmove 0 " as above
:tabmove " move the tab page to the last
:$tabmove " as above
:tabmove $ " as above
:tabm[ove] +[N]
:tabm[ove] -[N]
Move the current tab page N places to the right (with +) or to
the left (with -).
the left (with -). >
:tabmove - " move the tab page to the left
:tabmove -1 " as above
:tabmove + " move the tab page to the right
:tabmove +1 " as above
Note that although it is possible to move a tab behind the N-th one by using
:Ntabmove, it is impossible to move it by N places by using :+Ntabmove. For
clarification what +N means in this context see |[range]|.
:Ntabmove. And move it by N places by using :+Ntabmove. For clarification what
+N means in this context see |[range]|.
LOOPING OVER TAB PAGES:
+9
View File
@@ -944,6 +944,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
't_RI' term.txt /*'t_RI'*
't_RV' term.txt /*'t_RV'*
't_SI' term.txt /*'t_SI'*
't_SR' term.txt /*'t_SR'*
't_Sb' term.txt /*'t_Sb'*
't_Sf' term.txt /*'t_Sf'*
't_WP' term.txt /*'t_WP'*
@@ -1007,6 +1008,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
't_ve' term.txt /*'t_ve'*
't_vi' term.txt /*'t_vi'*
't_vs' term.txt /*'t_vs'*
't_xn' term.txt /*'t_xn'*
't_xs' term.txt /*'t_xs'*
'ta' options.txt /*'ta'*
'tabline' options.txt /*'tabline'*
@@ -4923,6 +4925,7 @@ b:current_syntax-variable syntax.txt /*b:current_syntax-variable*
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
b:tex_stylish syntax.txt /*b:tex_stylish*
b:var eval.txt /*b:var*
b:yaml_schema syntax.txt /*b:yaml_schema*
baan-folding syntax.txt /*baan-folding*
baan-syntax syntax.txt /*baan-syntax*
baan.vim syntax.txt /*baan.vim*
@@ -5936,6 +5939,7 @@ ft-xhtml-omni insert.txt /*ft-xhtml-omni*
ft-xml-omni insert.txt /*ft-xml-omni*
ft-xml-syntax syntax.txt /*ft-xml-syntax*
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
ft_ada.txt ft_ada.txt /*ft_ada.txt*
ft_sql.txt ft_sql.txt /*ft_sql.txt*
ftdetect filetype.txt /*ftdetect*
@@ -6165,6 +6169,7 @@ g:vimsyn_folding syntax.txt /*g:vimsyn_folding*
g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
g:vimsyn_minlines syntax.txt /*g:vimsyn_minlines*
g:vimsyn_noerror syntax.txt /*g:vimsyn_noerror*
g:yaml_schema syntax.txt /*g:yaml_schema*
g:zip_nomax pi_zip.txt /*g:zip_nomax*
g:zip_shq pi_zip.txt /*g:zip_shq*
g:zip_unzipcmd pi_zip.txt /*g:zip_unzipcmd*
@@ -6255,6 +6260,7 @@ gi insert.txt /*gi*
gj motion.txt /*gj*
gk motion.txt /*gk*
glob() eval.txt /*glob()*
glob2regpat() eval.txt /*glob2regpat()*
global-ime mbyte.txt /*global-ime*
global-local options.txt /*global-local*
global-variable eval.txt /*global-variable*
@@ -8192,6 +8198,7 @@ t_KL term.txt /*t_KL*
t_RI term.txt /*t_RI*
t_RV term.txt /*t_RV*
t_SI term.txt /*t_SI*
t_SR term.txt /*t_SR*
t_Sb term.txt /*t_Sb*
t_Sf term.txt /*t_Sf*
t_WP term.txt /*t_WP*
@@ -8294,6 +8301,7 @@ t_vb term.txt /*t_vb*
t_ve term.txt /*t_ve*
t_vi term.txt /*t_vi*
t_vs term.txt /*t_vs*
t_xn term.txt /*t_xn*
t_xs term.txt /*t_xs*
tab intro.txt /*tab*
tab-page tabpage.txt /*tab-page*
@@ -8976,6 +8984,7 @@ xterm-screens tips.txt /*xterm-screens*
xterm-scroll-region term.txt /*xterm-scroll-region*
xterm-shifted-keys term.txt /*xterm-shifted-keys*
y change.txt /*y*
yaml.vim syntax.txt /*yaml.vim*
yank change.txt /*yank*
ye-option-gone version4.txt /*ye-option-gone*
year-2000 intro.txt /*year-2000*
+18 -10
View File
@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.4. Last change: 2014 May 13
*term.txt* For Vim version 7.4. Last change: 2015 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -224,10 +224,11 @@ The options are listed below. The associated termcap code is always equal to
the last two characters of the option name. Only one termcap code is
required: Cursor motion, 't_cm'.
The options 't_da', 't_db', 't_ms', 't_xs' represent flags in the termcap.
When the termcap flag is present, the option will be set to "y". But any
non-empty string means that the flag is set. An empty string means that the
flag is not set. 't_CS' works like this too, but it isn't a termcap flag.
The options 't_da', 't_db', 't_ms', 't_xs', 't_xn' represent flags in the
termcap. When the termcap flag is present, the option will be set to "y".
But any non-empty string means that the flag is set. An empty string means
that the flag is not set. 't_CS' works like this too, but it isn't a termcap
flag.
OUTPUT CODES
option meaning ~
@@ -281,6 +282,9 @@ OUTPUT CODES
t_vs cursor very visible *t_vs* *'t_vs'*
*t_xs* *'t_xs'*
t_xs if non-empty, standout not erased by overwriting (hpterm)
*t_xn* *'t_xn'*
t_xn if non-empty, writing a character at the last screen cell
does not cause scrolling
t_ZH italics mode *t_ZH* *'t_ZH'*
t_ZR italics end *t_ZR* *'t_ZR'*
@@ -290,7 +294,8 @@ Added by Vim (there are no standard codes for these):
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
t_WS set window size (height, width) in characters *t_WS* *'t_WS'*
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
t_EI end insert mode (block cursor shape) *t_EI* *'t_EI'*
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|termcap-cursor-shape|
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
@@ -434,13 +439,16 @@ If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
to reset to the default colors.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When leaving
Insert mode 't_EI' is used. But only if both are defined. This can be used
to change the shape or color of the cursor in Insert mode. These are not
standard termcap/terminfo entries, you need to set them yourself.
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
enters Replace mode the 't_SR' escape sequence is sent if it is set, otherwise
't_SI' is sent. When leaving Insert mode or Replace mode 't_EI' is used. This
can be used to change the shape or color of the cursor in Insert or Replace
mode. These are not standard termcap/terminfo entries, you need to set them
yourself.
Example for an xterm, this changes the color of the cursor: >
if &term =~ "xterm"
let &t_SI = "\<Esc>]12;purple\x7"
let &t_SR = "\<Esc>]12;red\x7"
let &t_EI = "\<Esc>]12;blue\x7"
endif
NOTE: When Vim exits the shape for Normal mode will remain. The shape from
+68 -61
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2015 Feb 03
*todo.txt* For Vim version 7.4. Last change: 2015 Apr 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,6 +35,8 @@ not be repeated below, unless there is extra information.
-------------------- Known bugs and current work -----------------------
Regexp problems:
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
matches everywhere.
- Using win_linetabsize() can still be slow. Cache the result, store col and
vcol. Reset them when moving to another line.
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
@@ -51,9 +53,13 @@ Regexp problems:
- Does not work with NFA regexp engine:
\%u, \%x, \%o, \%d followed by a composing character
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
2015 Feb 7)
- Using back reference before the capturing group sometimes works with the old
engine, can we do this with the new engine? E.g. with
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
- Problem with \v(A)@<=b+\1c. (Issue 334)
- Diff highlighting can be very slow. (Issue 309)
- Using %> for a virtual column has a check based on 'tabsize'. Better would
be to cache the result of win_linetabsize(col), storing both col and vcol,
@@ -65,22 +71,50 @@ Regexp problems:
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
More info Jul 24. Not clear why.
Docs: "= register is writable. (Christian Brabandt, 2015 Jan 28)
New syntax file for pfmain. (Anton Shestakov, 2015 Feb 2)
Better .ico file for Windows. (Pat Suwalski, 2015 Feb 13)
Waiting for response on remark from Edward Fox.
Patch to make getregtype() return the right size for non-linux systems.
(Yasuhiro Matsumoto, 2014 Jul 8)
Breaks test_eval. Inefficient, can we only compute y_width when needed?
Show Vim icon in Windows context menu. Issue 249. (Mario Weber, 2015 Apr 11)
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
R indent files update. (Jakson Alves de Aquino, Mar 31)
Updated Python syntax file. (Dmitry Vasiliev, Mar 30)
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Using ":windo" to set options in all windows has the side effect that it
changes the window layout and the current window. Make a variant that saves
and restores. Use in the matchparen plugin.
Perhaps we can use ":silent window"?
Patch to make Ruby 2.2 work. (Andrei Olsen)
Window drawn wrong with 'laststatus' zero and a command-line window.
(Yclept Nemo, 2015 Apr 7)
Patch by Christian, Apr 8.
Patch to make undo files not executable. (Mikael Berthe, 2015 Apr 5)
C indent: should recognize C11 raw strings. (Mark Lodato, 2015 Mar 1)
Need to recognize R"string".
Patch for :tabmove not working as documented. (Hirohito Higashi, 2015 Mar 10)
https://gist.github.com/h-east/ffabb0cdd589a5f9acd2
Updated patch emailed. (Mar 17) Awaiting comments.
Crash when changing the 'tags' option from a remote command.
(Benjamin Fritz, 2015 Mar 18)
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
@@ -88,53 +122,38 @@ Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
MS-Windows: When editing a file with a leading space, writing it uses the
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
Can't recognize the $ProgramFiles(x86) environment variable. Recognize it
specifically? First try with the parens, then without.
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
Better greek spell checking. Issue 299.
On MS-Windows running tests with Mercurial has problems when the fileformat of
the input files are changed. (Ken Takata, Taro Muraoka, 2014 Sep 25)
Update Nov 5.
When complete() first argument is before where insert started and 'backspace'
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
Goes away when disabling the swap file. (might1, Feb 16)
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Patch to add "tn" termcap feature, whether Vim can write in the last screen
cell. (Hayaki Saito, 2015 Jan 28)
The argument for "-S" is not taken literally, the ":so" command expands
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
Patch to fix getting buffer number for autocommand. (Lech Lorens, 2015 Jan 27)
Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
Patches: 2013 Nov 19
1: Add -e: little endian hexdump
2: Add -o: add offset to displayed position
3: Change displayed file position width to 8 chars
Undo messes up text. Issue 324.
Patch from Christian on the issue.
Using CTRL-L while popup menu is visible behaves like CTRL-P, which is wrong.
Patch by Yasuhiro Matsumoto, 2015 Jan 5.
Is this right? Comment from Amadeus Demarzi.
Another patch from Christian, Jan 6.
Comment from Hirohito Higashi, Jan 6.
Cursorline background color not mixed with character highlight.
Patch by Yasuhiro Matsumoto, 2014 Dec 3.
Problem using diff syntax with cp932 encoding. Idea from Yasuhiro Matsumoto,
patch from Ken Takata (2014 Nov 6)
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
ml_updatechunk() is slow when retrying for another encoding. (John Little,
2014 Sep 11)
Patch to add counts to zr and zm. (Marcin Szamotulski, 2015 Jan 28)
Patch to add 'space' argument to 'listchars'. (Issue 350)
Author: David Bürgin
Patch to add a different escape sequence for replace mode.
(Omar Sandoval, 2014 Nov 30)
Patch on Issue 166, popup drawing with '$' in 'cpo'.
When a session file is created and there are "nofile" buffers, these are not
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
initial empty buffer better. (ZyX, 2015 March 8)
Calling setreg() with an empty list doesn't work.
Patch by Yasuhiro Matsumoto, 2014 Dec 14.
@@ -146,29 +165,19 @@ Patch to add an argument to ":ls" for specific kinds of buffers.
Crash when using R syntax. (Jakson Alves de Aquino, 2015 Jan 30)
Memory freed by ":syn clear" but still referenced, syntax items referenced
from two windows?
from two windows? Stopped happening (Feb 5).
Window height computed incorrectly when Vim is minimized.
Patch to fix this. (Ingo Karkat, 2014 Dec 19)
Patch to fix CTRL-W handling in Insert mode for multi-byte characters.
(Yasuhiro Matsumoto, 2015 Jan 29, update with test)
Patch to allow values greater than 255 for ctermfg/ctermbg on Windows.
(Yasuhiro Matsumoto, 2014 Dec 5)
Patch for an extra argument to matchadd() for conceal. (Christian Brabandt,
2015 Feb 17, update Feb 19)
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
Problem caused by patch 7.3.638: window->open does not update window
correctly. Issue 91. With patch.
Patch to add 'belloff' option. (Christian Brabandt, 2015 Jan 31)
Update Feb 6.
Patch for drag&drop reordering of GUI tab pages reordering.
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
'ff' is wrong for one-line file without EOL. (Patch on Issue 77)
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
When 'balloonexpr' returns a list the result has a trailing newline.
@@ -192,6 +201,9 @@ lines. (Marco Hinz, 2014 Nov 2)
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
2015 Feb 6.
Plugins need to make a lot of effort, lots of mappings, to know what happened
before pressing the key that triggers a plugin action. How about keeping the
last N pressed keys, so that they do not need to be mapped?
@@ -343,7 +355,7 @@ Editing an ascii file as ucs-2 or ucs-4 causes display errors.
":Next 1 some-arg" does not complain about trailing argument. Also for
various other commands. (ZyX, 2014 Mar 30)
patch to skip sort if no line matches the expression.
Patch to skip sort if no line matches the expression.
(Christian Brabandt, 2014 Jun 25)
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
@@ -379,11 +391,11 @@ Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
Several syntax file match "^\s*" which may get underlined if that's in the
highlight group. Add a "\zs" after it?
Patch to fix temp directories for Windows, so that it works without tweaking.
Issue 28.
Go through more coverity reports.
The undo file name can get too long. (Issue 346)
For the path use a hash instead of dir%dir%dir%name hash%name.
Patch to add ":undorecover", get as much text out of the undo file as
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
@@ -434,9 +446,6 @@ When evaluating expression in backticks, autoload doesn't work.
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
Dec 13.
Fold can't be opened after ":move". (Ein Brown)
Patch from Christian Brabandt doesn't fix it completely.
Patch from Christian Brabandt to preserve upper case marks when wiping out a
buffer. (2013 Dec 9)
@@ -600,7 +609,7 @@ line are opened again, but from the wrong directory. Apply 'autochdir' only
after starting up?
Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
location list. (Yegappan Lakshmanan, 2013 Jun 2)
location list. (Yegappan Lakshmanan, 2013 Jun 2, update 2015 Mar 21)
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
Patch by Christian Wellenbrock, 2013 Jul 5.
@@ -1404,6 +1413,7 @@ Kondakoff, 2009 May 13)
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
2008 May 14)
Possibly related problem: Alexey Muranov, 2015 Apr 2
Problem with CTRL-F. (Charles Campbell, 2008 March 21)
Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c".
@@ -2108,8 +2118,6 @@ Awaiting updated patches:
Search in 'runtimepath'?
More docs needed about how to use this.
How to get the messages into the .po files?
strchars() Like strlen() and strwidth() but counting characters
instead of bytes.
confirm() add "flags" argument, with 'v' for vertical
layout and 'c' for console dialog. (Haegg)
Flemming Madsen has a patch for the 'c' flag
@@ -4659,7 +4667,6 @@ Searching:
should be ignored (like "*/" or "#endif" inside /* */).
Also: use "%" to jump from start to end of syntax region and back.
Alternative: use matchit.vim
8 "/:/e+1" gets stuck on a match at the end of the line. Do we care?
8 A pattern like "\([^a]\+\)\+" takes an awful long time. Recognize that
the recursive "\+" is meaningless and optimize for it.
This one is also very slow on "/* some comment */": "^\/\*\(.*[^/]\)*$".
+4 -2
View File
@@ -1,4 +1,4 @@
*usr_02.txt* For Vim version 7.4. Last change: 2010 Jul 20
*usr_02.txt* For Vim version 7.4. Last change: 2015 Apr 12
VIM USER MANUAL - by Bram Moolenaar
@@ -527,9 +527,11 @@ Summary: *help-summary* >
:help subject()
< Function "subject". >
:help -subject
< Command-line option "-subject". >
< Command-line argument "-subject". >
:help +subject
< Compile-time feature "+subject". >
:help /*
< Regular expression item "*" >
:help EventName
< Autocommand event "EventName". >
:help digraphs.txt
+16 -1
View File
@@ -76,6 +76,16 @@ Change the character encoding in the righthand column from ASCII to EBCDIC.
This does not change the hexadecimal representation. The option is
meaningless in combinations with \-r, \-p or \-i.
.TP
.IR \-e
Switch to little-endian hexdump.
This option treats byte groups as words in little-endian byte order.
The default grouping of 4 bytes may be changed using
.RI "" \-g .
This option only applies to hexdump, leaving the ASCII (or EBCDIC)
representation unchanged.
The command line switches
\-r, \-p, \-i do not work with this mode.
.TP
.IR "\-g bytes " | " \-groupsize bytes"
separate the output of every
.RI < bytes >
@@ -84,7 +94,7 @@ Specify
.I \-g 0
to suppress grouping.
.RI < Bytes "> defaults to " 2
in normal mode and \fI1\fP in bits mode.
in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode.
Grouping does not apply to postscript or include style.
.TP
.IR \-h " | " \-help
@@ -99,6 +109,11 @@ stop after writing
.RI < len >
octets.
.TP
.I \-o offset
add
.RI < offset >
to the displayed file position.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
output in postscript continuous hexdump style. Also known as plain hexdump
style.
+4 -4
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2015 Jan 14
" Last Change: 2015 Apr 06
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -1267,8 +1267,8 @@ au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf m
" Mplayer config
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
" Moterola S record
au BufNewFile,BufRead *.s19,*.s28,*.s37 setf srec
" Motorola S record
au BufNewFile,BufRead *.s19,*.s28,*.s37,*.mot,*.srec setf srec
" Mrxvtrc
au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc
@@ -1295,7 +1295,7 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
" Nano
au BufNewFile,BufRead */etc/nanorc,.nanorc setf nanorc
au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
+2 -5
View File
@@ -2,7 +2,7 @@
" Language: J
" Maintainer: David Bürgin <676c7473@gmail.com>
" URL: https://github.com/glts/vim-j
" Last Change: 2015-01-11
" Last Change: 2015-03-27
if exists('b:did_ftplugin')
finish
@@ -16,12 +16,9 @@ setlocal iskeyword=48-57,A-Z,_,a-z
setlocal comments=:NB.
setlocal commentstring=NB.\ %s
setlocal formatoptions-=t
setlocal shiftwidth=2
setlocal softtabstop=2
setlocal expandtab
setlocal matchpairs=(:)
let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
let b:undo_ftplugin = 'setlocal matchpairs< formatoptions< commentstring< comments< iskeyword<'
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
" inside the function in order to avoid matching on the current cursor line.
+4 -2
View File
@@ -2,7 +2,7 @@
" Filename: spec.vim
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
" Last Change: Sun Mar 2 11:24 MSK 2014 Igor Gnatenko
" Last Change: Fri Feb 20 16:01 MSK 2014 Igor Gnatenko
if exists("b:did_ftplugin")
finish
@@ -18,7 +18,9 @@ if !exists("no_plugin_maps") && !exists("no_spec_maps")
endif
endif
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
if !hasmapto("call <SID>SpecChangelog(\"\")<CR>")
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
endif
if !exists("*s:SpecChangelog")
function s:SpecChangelog(format)
+39 -2
View File
@@ -245,6 +245,10 @@ call s:AddITags(s:indent_tags, [
\ 'header', 'group', 'keygen', 'mark', 'math', 'meter', 'nav', 'output',
\ 'progress', 'ruby', 'section', 'svg', 'texture', 'time', 'video',
\ 'wbr', 'text'])
" Tags added for web components:
call s:AddITags(s:indent_tags, [
\ 'content', 'shadow', 'template'])
"}}}
" Add Block Tags: these contain alien content
@@ -287,7 +291,7 @@ func! s:CountITags(text)
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
let s:block = 0 " assume starting outside of a block
let s:countonly = 1 " don't change state
call substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
let s:countonly = 0
endfunc "}}}
@@ -299,7 +303,7 @@ func! s:CountTagsAndState(text)
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
let s:block = b:hi_newstate.block
let tmp = substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
if s:block == 3
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
endif
@@ -311,6 +315,9 @@ func! s:CheckTag(itag)
"{{{
" Returns an empty string or "SCRIPT".
" a:itag can be "tag" or "/tag" or "<!--" or "-->"
if (s:CheckCustomTag(a:itag))
return ""
endif
let ind = s:get_tag(a:itag)
if ind == -1
" closing tag
@@ -365,6 +372,36 @@ func! s:CheckBlockTag(blocktag, ind)
return ""
endfunc "}}}
" Used by s:CheckTag().
func! s:CheckCustomTag(ctag)
"{{{
" Returns 1 if ctag is the tag for a custom element, 0 otherwise.
" a:ctag can be "tag" or "/tag" or "<!--" or "-->"
let pattern = '\%\(\w\+-\)\+\w\+'
if match(a:ctag, pattern) == -1
return 0
endif
if matchstr(a:ctag, '\/\ze.\+') == "/"
" closing tag
if s:block != 0
" ignore ctag within a block
return 1
endif
if s:nextrel == 0
let s:curind -= 1
else
let s:nextrel -= 1
endif
else
" opening tag
if s:block != 0
return 1
endif
let s:nextrel += 1
endif
return 1
endfunc "}}}
" Return the <script> type: either "javascript" or ""
func! s:GetScriptType(str)
"{{{
+8 -6
View File
@@ -1,8 +1,9 @@
" Vim syntax file
" Language: Asterisk config file
" Maintainer: brc007
" Maintainer: Jean Aunis <jean.aunis@yahoo.fr>
" Previous Maintainer: brc007
" Updated for 1.2 by Tilghman Lesher (Corydon76)
" Last Change: 2006 Mar 20
" Last Change: 2015 Feb 27
" version 0.4
"
if version < 600
@@ -17,18 +18,19 @@ syn sync fromstart
syn keyword asteriskTodo TODO contained
syn match asteriskComment ";.*" contains=asteriskTodo
syn match asteriskContext "\[.\{-}\]"
syn match asteriskExten "^\s*exten\s*=>\?\s*[^,]\+" contains=asteriskPattern
syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority
syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority
syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|\(no\)\?load\)\s*=>\?"
syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained
syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained
syn match asteriskApp ",\zs[a-zA-Z]\+\ze$"
syn match asteriskApp ",\zs[a-zA-Z]\+\ze("
" Digits plus oldlabel (newlabel)
syn match asteriskPriority ",\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
syn match asteriskPriority "\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
" oldlabel plus digits (newlabel)
syn match asteriskPriority ",\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
syn match asteriskPriority "\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
" s or n plus digits (newlabel)
syn match asteriskPriority ",\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
syn match asteriskPriority "\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
syn match asteriskLabel "(\zs[[:alpha:]][[:alnum:]]*\ze)" contained
syn match asteriskError "^\s*#\s*[[:alnum:]]*"
syn match asteriskInclude "^\s*#\s*\(include\|exec\)\s.*"
+18 -6
View File
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Nov 13
" Last Change: 2015 Mar 05
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -47,16 +47,17 @@ if !exists("c_no_cformat")
endif
" cCppString: same as cString, but ends at end of line
if s:ft ==# "cpp" && !exists("cpp_no_cpp11")
if s:ft ==# "cpp" && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
" ISO C++11
syn region cString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
elseif s:ft ==# "c" && !exists("c_no_c11")
elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
" ISO C99
syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
else
" older C or C++
syn match cFormat display "%%" contained
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
endif
@@ -80,7 +81,11 @@ syn match cSpecialCharacter display "L'\\x\x\+'"
if (s:ft ==# "c" && !exists("c_no_c11")) || (s:ft ==# "cpp" && !exists("cpp_no_cpp11"))
" ISO C11 or ISO C++ 11
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
if exists("c_no_cformat")
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
else
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
endif
syn match cCharacter "[Uu]'[^\\]'"
syn match cCharacter "[Uu]'[^']*'" contains=cSpecial
if exists("c_gnu")
@@ -330,6 +335,8 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
" POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
" non-POSIX signals
syn keyword cConstant SIGWINCH SIGINFO
" Add POSIX errors as well
syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
@@ -387,8 +394,13 @@ endif
syn cluster cLabelGroup contains=cUserLabel
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
syn match cUserCont display ";\s*\I\i*\s*:$" contains=@cLabelGroup
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
if s:ft ==# 'cpp'
syn match cUserCont display "^\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
else
syn match cUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
endif
syn match cUserLabel display "\I\i*" contained
+5 -5
View File
@@ -1,10 +1,10 @@
" Vim syntax file
" Language: COBOL
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Language: COBOL
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" (formerly Davyd Ondrejko <vondraco@columbus.rr.com>)
" (formerly Sitaram Chamarty <sitaram@diac.com> and
" James Mitchell <james_mitchell@acm.org>)
" $Id: cobol.vim,v 1.2 2007/05/05 18:23:43 vimboss Exp $
" James Mitchell <james_mitchell@acm.org>)
" Last Change: 2015 Feb 13
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -145,7 +145,7 @@ syn match cobolString /'[^']*\('\|$\)/
syn match cobolIndicator "\%7c[D-]" contained
if exists("cobol_legacy_code")
syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
syn region cobolCondFlow contains=ALLBUT,cobolLine,cobolBadLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
endif
" many legacy sources have junk in columns 1-6: must be before others
+11 -4
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: C++
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
" Last Change: 2014 May 14
" Last Change: 2015 Mar 1
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -32,14 +32,21 @@ syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
syn keyword cppStorageClass mutable
syn keyword cppStructure class typename template namespace
syn keyword cppBoolean true false
syn keyword cppConstant __cplusplus
" C++ 11 extensions
if !exists("cpp_no_cpp11")
syn keyword cppType override final
syn keyword cppExceptions noexcept
syn keyword cppStorageClass constexpr decltype
syn keyword cppStorageClass constexpr decltype thread_local
syn keyword cppConstant nullptr
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT
syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE
syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE
syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
endif
" The minimum and maximum operators in GNU C++
+1 -1
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: C-shell (csh)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Version: 11
" Last Change: Oct 23, 2014
" Version: 11
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_CSH
" For version 5.x: Clear all syntax items
+1 -2
View File
@@ -4,7 +4,7 @@
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
" Version: 0.1.13
" URL: http://www.vim.org/scripts/script.php?script_id=945
" Last Change: 2013 Apr 24
" Last Change: 2015 Apr 13
" THE ORIGINAL AUTHOR'S NOTES:
"
@@ -220,7 +220,6 @@ syn region groovyComment start="/\*" end="\*/" contains=@groovyCommen
syn match groovyCommentStar contained "^\s*\*[^/]"me=e-1
syn match groovyCommentStar contained "^\s*\*$"
syn match groovyLineComment "//.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
syn match groovyLineComment "#.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
GroovyHiLink groovyCommentString groovyString
GroovyHiLink groovyComment2String groovyString
GroovyHiLink groovyCommentCharacter groovyCharacter
+70 -25
View File
@@ -1,7 +1,29 @@
" Vim syntax file
" Language: Intel hex MCS51
" Maintainer: Sams Ricahrd <sams@ping.at>
" Last Change: 2003 Apr 25
" Language: Intel HEX
" Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
" Previous version: Sams Ricahrd <sams@ping.at>
" Last Change: 2015 Feb 24
" Each record (line) is built as follows:
"
" field digits states
"
" +----------+
" | start | 1 (':') hexRecStart
" +----------+
" | count | 2 hexDataByteCount
" +----------+
" | address | 4 hexNoAddress, hexDataAddress, (hexAddressFieldUnknown)
" +----------+
" | type | 2 hexRecType, (hexRecTypeUnknown)
" +----------+
" | data | 0..510 hexDataOdd, hexDataEven, hexExtendedAddress, hexStartAddress, (hexDataFieldUnknown, hexDataUnexpected)
" +----------+
" | checksum | 2 hexChecksum
" +----------+
"
" States in parentheses in the upper format description indicate that they
" should not appear in a valid file.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -11,21 +33,39 @@ elseif exists("b:current_syntax")
finish
endif
syn case ignore
syn match hexRecStart "^:"
" storage types
syn match hexDataByteCount "^:[0-9a-fA-F]\{2}" contains=hexRecStart nextgroup=hexAddress
syn match hexChecksum "[0-9a-fA-F]\{2}$"
syn match hexAdress "^:[0-9a-fA-F]\{6}" contains=hexDataByteCount
syn match hexRecType "^:[0-9a-fA-F]\{8}" contains=hexAdress
syn match hexDataByteCount contained "^:[0-9a-fA-F]\{2}" contains=hexStart
syn match hexStart contained "^:"
syn match hexExtAdrRec "^:02000002[0-9a-fA-F]\{4}" contains=hexSpecRec
syn match hexExtLinAdrRec "^:02000004[0-9a-fA-F]\{4}" contains=hexSpecRec
syn match hexSpecRec contained "^:0[02]00000[124]" contains=hexStart
syn match hexEOF "^:00000001" contains=hexStart
syn match hexAddress "[0-9a-fA-F]\{4}" transparent contained nextgroup=hexRecTypeUnknown,hexRecType
" The address field groups include the record type field in the last 2
" characters, the proper match for highlighting follows below.
syn match hexAddressFieldUnknown "^:[0-9a-fA-F]\{8}" contains=hexDataByteCount nextgroup=hexDataFieldUnknown,hexChecksum
syn match hexDataAddress "^:[0-9a-fA-F]\{6}00" contains=hexDataByteCount nextgroup=hexDataOdd,hexChecksum
syn match hexNoAddress "^:[0-9a-fA-F]\{6}01" contains=hexDataByteCount nextgroup=hexDataUnexpected,hexChecksum
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[24]" contains=hexDataByteCount nextgroup=hexExtendedAddress
syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[35]" contains=hexDataByteCount nextgroup=hexStartAddress
syn case match
syn match hexRecTypeUnknown "[0-9a-fA-F]\{2}" contained
syn match hexRecType "0[0-5]" contained
syn match hexDataFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=hexDataFieldUnknown,hexChecksum
" alternating highlight per byte for easier reading
syn match hexDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=hexDataEven,hexChecksum
syn match hexDataEven "[0-9a-fA-F]\{2}" contained nextgroup=hexDataOdd,hexChecksum
" data bytes which should not exist
syn match hexDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=hexDataUnexpected,hexChecksum
" Data digit pair regex usage also results in only highlighting the checksum
" if the number of data characters is even.
" special data fields
syn match hexExtendedAddress "[0-9a-fA-F]\{4}" contained nextgroup=hexDataUnexpected,hexChecksum
syn match hexStartAddress "[0-9a-fA-F]\{8}" contained nextgroup=hexDataUnexpected,hexChecksum
syn match hexChecksum "[0-9a-fA-F]\{2}$" contained
" Folding Data Records below an Extended Segment/Linear Address Record
syn region hexExtAdrBlock start="^:[0-9a-fA-F]\{7}[24]" skip="^:[0-9a-fA-F]\{7}0" end="^:"me=s-1 fold transparent
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -38,16 +78,21 @@ if version >= 508 || !exists("did_hex_syntax_inits")
command -nargs=+ HiLink hi def link <args>
endif
" The default methods for highlighting. Can be overridden later
HiLink hexStart SpecialKey
HiLink hexDataByteCount Constant
HiLink hexAdress Comment
HiLink hexRecType WarningMsg
HiLink hexChecksum Search
HiLink hexExtAdrRec hexAdress
HiLink hexEOF hexSpecRec
HiLink hexExtLinAdrRec hexAdress
HiLink hexSpecRec DiffAdd
" The default methods for highlighting. Can be overridden later
HiLink hexRecStart hexRecType
HiLink hexDataByteCount Constant
hi def hexAddressFieldUnknown term=italic cterm=italic gui=italic
HiLink hexDataAddress Comment
HiLink hexNoAddress DiffAdd
HiLink hexRecTypeUnknown hexRecType
HiLink hexRecType WarningMsg
hi def hexDataFieldUnknown term=italic cterm=italic gui=italic
hi def hexDataOdd term=bold cterm=bold gui=bold
hi def hexDataEven term=NONE cterm=NONE gui=NONE
HiLink hexDataUnexpected Error
HiLink hexExtendedAddress hexDataAddress
HiLink hexStartAddress hexDataAddress
HiLink hexChecksum DiffChange
delcommand HiLink
endif
+24 -16
View File
@@ -2,7 +2,7 @@
" Language: Java
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/java.vim
" Last Change: 2012 Oct 05
" Last Change: 2015 March 01
" Please check :help java.vim for comments on some of the options available.
@@ -30,7 +30,7 @@ endif
" some characters that cannot be in a java program (outside a string)
syn match javaError "[\\@`]"
syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|[^-]->\|\*\/"
syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/"
syn match javaOK "\.\.\."
@@ -63,7 +63,7 @@ syn match javaTypedef "\.\s*\<class\>"ms=s+1
syn keyword javaClassDecl enum
syn match javaClassDecl "^class\>"
syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1
syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>"
syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>\(([^)]*)\)\=" contains=javaString
syn match javaClassDecl "@interface\>"
syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite
syn match javaUserLabelRef "\k\+" contained
@@ -121,7 +121,7 @@ if exists("java_space_errors")
endif
endif
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter,javaString
syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel
syn keyword javaLabel default
@@ -188,10 +188,10 @@ syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaS
syn match javaCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
syn match javaCharacter "'\\''" contains=javaSpecialChar
syn match javaCharacter "'[^\\]'"
syn match javaNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
syn match javaNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
syn match javaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
syn match javaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
syn match javaNumber "\<\(0[bB][0-1]\+\|0[0-7]*\|0[xX]\x\+\|\d\(\d\|_\d\)*\)[lL]\=\>"
syn match javaNumber "\(\<\d\(\d\|_\d\)*\.\(\d\(\d\|_\d\)*\)\=\|\.\d\(\d\|_\d\)*\)\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\="
syn match javaNumber "\<\d\(\d\|_\d\)*[eE][-+]\=\d\(\d\|_\d\)*[fFdD]\=\>"
syn match javaNumber "\<\d\(\d\|_\d\)*\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\>"
" unicode characters
syn match javaSpecial "\\u\d\{4\}"
@@ -200,19 +200,21 @@ syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStri
if exists("java_highlight_functions")
if java_highlight_functions == "indent"
syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation
else
" This line catches method declarations at any indentation>0, but it assumes
" two things:
" 1. class names are always capitalized (ie: Button)
" 2. method names are never capitalized (except constructors, of course)
syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses
"syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses
syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(<.*>\s\+\)\?\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^(){}]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*(+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses,javaAnnotation
endif
syn match javaLambdaDef "[a-zA-Z_][a-zA-Z0-9_]*\s*->"
syn match javaBraces "[{}]"
syn cluster javaTop add=javaFuncDef,javaBraces
syn cluster javaTop add=javaFuncDef,javaBraces,javaLambdaDef
endif
if exists("java_highlight_debug")
@@ -266,18 +268,23 @@ if exists("java_mark_braces_in_parens_as_errors")
endif
" catch errors caused by wrong parenthesis
syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1
syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1
syn region javaParenT1 transparent matchgroup=javaParen1 start="(" end=")" contains=@javaTop,javaParenT2 contained
syn region javaParenT2 transparent matchgroup=javaParen2 start="(" end=")" contains=@javaTop,javaParenT contained
syn match javaParenError ")"
" catch errors caused by wrong square parenthesis
syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1
syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1
syn region javaParenT1 transparent matchgroup=javaParen1 start="\[" end="\]" contains=@javaTop,javaParenT2 contained
syn region javaParenT2 transparent matchgroup=javaParen2 start="\[" end="\]" contains=@javaTop,javaParenT contained
syn match javaParenError "\]"
JavaHiLink javaParenError javaError
if exists("java_highlight_functions")
syn match javaLambdaDef "([a-zA-Z0-9_<>\[\], \t]*)\s*->"
" needs to be defined after the parenthesis error catcher to work
endif
if !exists("java_minlines")
let java_minlines = 10
endif
@@ -288,6 +295,7 @@ if version >= 508 || !exists("did_java_syn_inits")
if version < 508
let did_java_syn_inits = 1
endif
JavaHiLink javaLambdaDef Function
JavaHiLink javaFuncDef Function
JavaHiLink javaVarArg Function
JavaHiLink javaBraces Function
+7 -7
View File
@@ -2,7 +2,7 @@
" Language: Makefile
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/make.vim
" Last Change: 2012 Oct 05
" Last Change: 2015 Feb 28
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -43,8 +43,8 @@ syn region makeIdent start="\$(" skip="\\)\|\\\\" end=")" contains=makeStatement
syn region makeIdent start="\${" skip="\\}\|\\\\" end="}" contains=makeStatement,makeIdent,makeSString,makeDString
syn match makeIdent "\$\$\w*"
syn match makeIdent "\$[^({]"
syn match makeIdent "^ *\a\w*\s*[:+?!*]="me=e-2
syn match makeIdent "^ *\a\w*\s*="me=e-1
syn match makeIdent "^ *[^:#= \t]*\s*[:+?!*]="me=e-2
syn match makeIdent "^ *[^:#= \t]*\s*="me=e-1
syn match makeIdent "%"
" Makefile.in variables
@@ -55,11 +55,11 @@ syn match makeConfig "@[A-Za-z0-9_]\+@"
syn match makeImplicit "^\.[A-Za-z0-9_./\t -]\+\s*:$"me=e-1 nextgroup=makeSource
syn match makeImplicit "^\.[A-Za-z0-9_./\t -]\+\s*:[^=]"me=e-2 nextgroup=makeSource
syn region makeTarget transparent matchgroup=makeTarget start="^[A-Za-z0-9_./$()%-][A-Za-z0-9_./\t $()%-]*:\{1,2}[^:=]"rs=e-1 end=";"re=e-1,me=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine skipnl nextGroup=makeCommands
syn match makeTarget "^[A-Za-z0-9_./$()%*@-][A-Za-z0-9_./\t $()%*@-]*::\=\s*$" contains=makeIdent,makeSpecTarget skipnl nextgroup=makeCommands,makeCommandError
syn region makeTarget transparent matchgroup=makeTarget start="^[~A-Za-z0-9_./$()%-][A-Za-z0-9_./\t $()%-]*:\{1,2}[^:=]"rs=e-1 end=";"re=e-1,me=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
syn match makeTarget "^[~A-Za-z0-9_./$()%*@-][A-Za-z0-9_./\t $()%*@-]*::\=\s*$" contains=makeIdent,makeSpecTarget,makeComment skipnl nextgroup=makeCommands,makeCommandError
syn region makeSpecTarget transparent matchgroup=makeSpecTarget start="^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\)\>\s*:\{1,2}[^:=]"rs=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine skipnl nextGroup=makeCommands
syn match makeSpecTarget "^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\)\>\s*::\=\s*$" contains=makeIdent skipnl nextgroup=makeCommands,makeCommandError
syn region makeSpecTarget transparent matchgroup=makeSpecTarget start="^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\)\>\s*:\{1,2}[^:=]"rs=e-1 end="[^\\]$" keepend contains=makeIdent,makeSpecTarget,makeNextLine,makeComment skipnl nextGroup=makeCommands
syn match makeSpecTarget "^\.\(SUFFIXES\|PHONY\|DEFAULT\|PRECIOUS\|IGNORE\|SILENT\|EXPORT_ALL_VARIABLES\|KEEP_STATE\|LIBPATTERNS\|NOTPARALLEL\|DELETE_ON_ERROR\|INTERMEDIATE\|POSIX\|SECONDARY\)\>\s*::\=\s*$" contains=makeIdent,makeComment skipnl nextgroup=makeCommands,makeCommandError
syn match makeCommandError "^\s\+\S.*" contained
syn region makeCommands start=";"hs=s+1 start="^\t" end="^[^\t#]"me=e-1,re=e-1 end="^$" contained contains=makeCmdNextLine,makeSpecial,makeComment,makeIdent,makePreCondit,makeDefine,makeDString,makeSString nextgroup=makeCommandError
+228 -23
View File
@@ -1,11 +1,11 @@
" Vim syntax file
" Language: Postfix main.cf configuration
" Maintainer: KELEMEN Peter <Peter dot Kelemen at cern dot ch>
" Last Update: Hong Xu
" Last Change: 2011 May 14
" Last Updates: Anton Shestakov, Hong Xu
" Last Change: 2015 Feb 10
" Version: 0.40
" URL: http://cern.ch/fuji/vim/syntax/pfmain.vim
" Comment: Based on Postfix 2.9 defaults.
" Comment: Based on Postfix 2.12/3.0 postconf.5.html.
if version < 600
syntax clear
@@ -41,6 +41,7 @@ syntax keyword pfmainConf address_verify_relayhost
syntax keyword pfmainConf address_verify_sender
syntax keyword pfmainConf address_verify_sender_dependent_default_transport_maps
syntax keyword pfmainConf address_verify_sender_dependent_relayhost_maps
syntax keyword pfmainConf address_verify_sender_ttl
syntax keyword pfmainConf address_verify_service_name
syntax keyword pfmainConf address_verify_transport_maps
syntax keyword pfmainConf address_verify_virtual_transport
@@ -52,6 +53,7 @@ syntax keyword pfmainConf allow_min_user
syntax keyword pfmainConf allow_percent_hack
syntax keyword pfmainConf allow_untrusted_routing
syntax keyword pfmainConf alternate_config_directories
syntax keyword pfmainConf always_add_missing_headers
syntax keyword pfmainConf always_bcc
syntax keyword pfmainConf anvil_rate_time_unit
syntax keyword pfmainConf anvil_status_update_time
@@ -61,6 +63,7 @@ syntax keyword pfmainConf application_event_drain_time
syntax keyword pfmainConf authorized_flush_users
syntax keyword pfmainConf authorized_mailq_users
syntax keyword pfmainConf authorized_submit_users
syntax keyword pfmainConf authorized_verp_clients
syntax keyword pfmainConf backwards_bounce_logfile_compatibility
syntax keyword pfmainConf berkeley_db_create_buffer_size
syntax keyword pfmainConf berkeley_db_read_buffer_size
@@ -81,7 +84,9 @@ syntax keyword pfmainConf command_directory
syntax keyword pfmainConf command_execution_directory
syntax keyword pfmainConf command_expansion_filter
syntax keyword pfmainConf command_time_limit
syntax keyword pfmainConf compatibility_level
syntax keyword pfmainConf config_directory
syntax keyword pfmainConf confirm_delay_cleared
syntax keyword pfmainConf connection_cache_protocol_timeout
syntax keyword pfmainConf connection_cache_service_name
syntax keyword pfmainConf connection_cache_status_update_time
@@ -89,14 +94,17 @@ syntax keyword pfmainConf connection_cache_ttl_limit
syntax keyword pfmainConf content_filter
syntax keyword pfmainConf cyrus_sasl_config_path
syntax keyword pfmainConf daemon_directory
syntax keyword pfmainConf daemon_table_open_error_is_fatal
syntax keyword pfmainConf daemon_timeout
syntax keyword pfmainConf data_directory
syntax keyword pfmainConf debug_peer_level
syntax keyword pfmainConf debug_peer_list
syntax keyword pfmainConf debugger_command
syntax keyword pfmainConf default_database_type
syntax keyword pfmainConf default_delivery_slot_cost
syntax keyword pfmainConf default_delivery_slot_discount
syntax keyword pfmainConf default_delivery_slot_loan
syntax keyword pfmainConf default_delivery_status_filter
syntax keyword pfmainConf default_destination_concurrency_failed_cohort_limit
syntax keyword pfmainConf default_destination_concurrency_limit
syntax keyword pfmainConf default_destination_concurrency_negative_feedback
@@ -137,6 +145,7 @@ syntax keyword pfmainConf duplicate_filter_limit
syntax keyword pfmainConf empty_address_default_transport_maps_lookup_key
syntax keyword pfmainConf empty_address_recipient
syntax keyword pfmainConf empty_address_relayhost_maps_lookup_key
syntax keyword pfmainConf enable_errors_to
syntax keyword pfmainConf enable_long_queue_ids
syntax keyword pfmainConf enable_original_recipient
syntax keyword pfmainConf error_notice_recipient
@@ -144,6 +153,8 @@ syntax keyword pfmainConf error_service_name
syntax keyword pfmainConf execution_directory_expansion_filter
syntax keyword pfmainConf expand_owner_alias
syntax keyword pfmainConf export_environment
syntax keyword pfmainConf extract_recipient_limit
syntax keyword pfmainConf fallback_relay
syntax keyword pfmainConf fallback_transport
syntax keyword pfmainConf fallback_transport_maps
syntax keyword pfmainConf fast_flush_domains
@@ -177,25 +188,33 @@ syntax keyword pfmainConf ipc_idle
syntax keyword pfmainConf ipc_timeout
syntax keyword pfmainConf ipc_ttl
syntax keyword pfmainConf line_length_limit
syntax keyword pfmainConf lmdb_map_size
syntax keyword pfmainConf lmtp_address_preference
syntax keyword pfmainConf lmtp_address_verify_target
syntax keyword pfmainConf lmtp_assume_final
syntax keyword pfmainConf lmtp_bind_address
syntax keyword pfmainConf lmtp_bind_address6
syntax keyword pfmainConf lmtp_body_checks
syntax keyword pfmainConf lmtp_cache_connection
syntax keyword pfmainConf lmtp_cname_overrides_servername
syntax keyword pfmainConf lmtp_connect_timeout
syntax keyword pfmainConf lmtp_connection_cache_destinations
syntax keyword pfmainConf lmtp_connection_cache_on_demand
syntax keyword pfmainConf lmtp_connection_cache_time_limit
syntax keyword pfmainConf lmtp_connection_reuse_count_limit
syntax keyword pfmainConf lmtp_connection_reuse_time_limit
syntax keyword pfmainConf lmtp_data_done_timeout
syntax keyword pfmainConf lmtp_data_init_timeout
syntax keyword pfmainConf lmtp_data_xfer_timeout
syntax keyword pfmainConf lmtp_defer_if_no_mx_address_found
syntax keyword pfmainConf lmtp_delivery_status_filter
syntax keyword pfmainConf lmtp_destination_concurrency_limit
syntax keyword pfmainConf lmtp_destination_recipient_limit
syntax keyword pfmainConf lmtp_discard_lhlo_keyword_address_maps
syntax keyword pfmainConf lmtp_discard_lhlo_keywords
syntax keyword pfmainConf lmtp_dns_reply_filter
syntax keyword pfmainConf lmtp_dns_resolver_options
syntax keyword pfmainConf lmtp_dns_support_level
syntax keyword pfmainConf lmtp_enforce_tls
syntax keyword pfmainConf lmtp_generic_maps
syntax keyword pfmainConf lmtp_header_checks
@@ -230,9 +249,11 @@ syntax keyword pfmainConf lmtp_sasl_security_options
syntax keyword pfmainConf lmtp_sasl_tls_security_options
syntax keyword pfmainConf lmtp_sasl_tls_verified_security_options
syntax keyword pfmainConf lmtp_sasl_type
syntax keyword pfmainConf lmtp_send_dummy_mail_auth
syntax keyword pfmainConf lmtp_send_xforward_command
syntax keyword pfmainConf lmtp_sender_dependent_authentication
syntax keyword pfmainConf lmtp_skip_5xx_greeting
syntax keyword pfmainConf lmtp_skip_quit_response
syntax keyword pfmainConf lmtp_starttls_timeout
syntax keyword pfmainConf lmtp_tcp_port
syntax keyword pfmainConf lmtp_tls_CAfile
@@ -248,6 +269,7 @@ syntax keyword pfmainConf lmtp_tls_enforce_peername
syntax keyword pfmainConf lmtp_tls_exclude_ciphers
syntax keyword pfmainConf lmtp_tls_fingerprint_cert_match
syntax keyword pfmainConf lmtp_tls_fingerprint_digest
syntax keyword pfmainConf lmtp_tls_force_insecure_host_tlsa_lookup
syntax keyword pfmainConf lmtp_tls_key_file
syntax keyword pfmainConf lmtp_tls_loglevel
syntax keyword pfmainConf lmtp_tls_mandatory_ciphers
@@ -262,10 +284,12 @@ syntax keyword pfmainConf lmtp_tls_secure_cert_match
syntax keyword pfmainConf lmtp_tls_security_level
syntax keyword pfmainConf lmtp_tls_session_cache_database
syntax keyword pfmainConf lmtp_tls_session_cache_timeout
syntax keyword pfmainConf lmtp_tls_trust_anchor_file
syntax keyword pfmainConf lmtp_tls_verify_cert_match
syntax keyword pfmainConf lmtp_use_tls
syntax keyword pfmainConf lmtp_xforward_timeout
syntax keyword pfmainConf local_command_shell
syntax keyword pfmainConf local_delivery_status_filter
syntax keyword pfmainConf local_destination_concurrency_limit
syntax keyword pfmainConf local_destination_recipient_limit
syntax keyword pfmainConf local_header_rewrite_clients
@@ -287,17 +311,19 @@ syntax keyword pfmainConf mailq_path
syntax keyword pfmainConf manpage_directory
syntax keyword pfmainConf maps_rbl_domains
syntax keyword pfmainConf maps_rbl_reject_code
syntax keyword pfmainConf master_service_disable
syntax keyword pfmainConf masquerade_classes
syntax keyword pfmainConf masquerade_domains
syntax keyword pfmainConf masquerade_exceptions
syntax keyword pfmainConf master_service_disable
syntax keyword pfmainConf max_idle
syntax keyword pfmainConf max_use
syntax keyword pfmainConf maximal_backoff_time
syntax keyword pfmainConf maximal_queue_lifetime
syntax keyword pfmainConf message_drop_headers
syntax keyword pfmainConf message_reject_characters
syntax keyword pfmainConf message_size_limit
syntax keyword pfmainConf message_strip_characters
syntax keyword pfmainConf meta_directory
syntax keyword pfmainConf milter_command_timeout
syntax keyword pfmainConf milter_connect_macros
syntax keyword pfmainConf milter_connect_timeout
@@ -335,10 +361,12 @@ syntax keyword pfmainConf newaliases_path
syntax keyword pfmainConf non_fqdn_reject_code
syntax keyword pfmainConf non_smtpd_milters
syntax keyword pfmainConf notify_classes
syntax keyword pfmainConf nullmx_reject_code
syntax keyword pfmainConf owner_request_special
syntax keyword pfmainConf parent_domain_matches_subdomains
syntax keyword pfmainConf permit_mx_backup_networks
syntax keyword pfmainConf pickup_service_name
syntax keyword pfmainConf pipe_delivery_status_filter
syntax keyword pfmainConf plaintext_reject_code
syntax keyword pfmainConf postmulti_control_commands
syntax keyword pfmainConf postmulti_start_commands
@@ -362,7 +390,9 @@ syntax keyword pfmainConf postscreen_dnsbl_action
syntax keyword pfmainConf postscreen_dnsbl_reply_map
syntax keyword pfmainConf postscreen_dnsbl_sites
syntax keyword pfmainConf postscreen_dnsbl_threshold
syntax keyword pfmainConf postscreen_dnsbl_timeout
syntax keyword pfmainConf postscreen_dnsbl_ttl
syntax keyword pfmainConf postscreen_dnsbl_whitelist_threshold
syntax keyword pfmainConf postscreen_enforce_tls
syntax keyword pfmainConf postscreen_expansion_filter
syntax keyword pfmainConf postscreen_forbidden_commands
@@ -381,6 +411,8 @@ syntax keyword pfmainConf postscreen_post_queue_limit
syntax keyword pfmainConf postscreen_pre_queue_limit
syntax keyword pfmainConf postscreen_reject_footer
syntax keyword pfmainConf postscreen_tls_security_level
syntax keyword pfmainConf postscreen_upstream_proxy_protocol
syntax keyword pfmainConf postscreen_upstream_proxy_timeout
syntax keyword pfmainConf postscreen_use_tls
syntax keyword pfmainConf postscreen_watchdog_timeout
syntax keyword pfmainConf postscreen_whitelist_interfaces
@@ -395,7 +427,9 @@ syntax keyword pfmainConf proxy_write_maps
syntax keyword pfmainConf proxymap_service_name
syntax keyword pfmainConf proxywrite_service_name
syntax keyword pfmainConf qmgr_clog_warn_time
syntax keyword pfmainConf qmgr_daemon_timeout
syntax keyword pfmainConf qmgr_fudge_factor
syntax keyword pfmainConf qmgr_ipc_timeout
syntax keyword pfmainConf qmgr_message_active_limit
syntax keyword pfmainConf qmgr_message_recipient_limit
syntax keyword pfmainConf qmgr_message_recipient_minimum
@@ -435,17 +469,21 @@ syntax keyword pfmainConf resolve_numeric_domain
syntax keyword pfmainConf rewrite_service_name
syntax keyword pfmainConf sample_directory
syntax keyword pfmainConf send_cyrus_sasl_authzid
syntax keyword pfmainConf sender_based_routing
syntax keyword pfmainConf sender_bcc_maps
syntax keyword pfmainConf sender_canonical_classes
syntax keyword pfmainConf sender_canonical_maps
syntax keyword pfmainConf sender_dependent_default_transport_maps
syntax keyword pfmainConf sender_dependent_relayhost_maps
syntax keyword pfmainConf sendmail_fix_line_endings
syntax keyword pfmainConf sendmail_path
syntax keyword pfmainConf service_throttle_time
syntax keyword pfmainConf setgid_group
syntax keyword pfmainConf shlib_directory
syntax keyword pfmainConf show_user_unknown_table_name
syntax keyword pfmainConf showq_service_name
syntax keyword pfmainConf smtp_address_preference
syntax keyword pfmainConf smtp_address_verify_target
syntax keyword pfmainConf smtp_always_send_ehlo
syntax keyword pfmainConf smtp_bind_address
syntax keyword pfmainConf smtp_bind_address6
@@ -455,16 +493,20 @@ syntax keyword pfmainConf smtp_connect_timeout
syntax keyword pfmainConf smtp_connection_cache_destinations
syntax keyword pfmainConf smtp_connection_cache_on_demand
syntax keyword pfmainConf smtp_connection_cache_time_limit
syntax keyword pfmainConf smtp_connection_reuse_count_limit
syntax keyword pfmainConf smtp_connection_reuse_time_limit
syntax keyword pfmainConf smtp_data_done_timeout
syntax keyword pfmainConf smtp_data_init_timeout
syntax keyword pfmainConf smtp_data_xfer_timeout
syntax keyword pfmainConf smtp_defer_if_no_mx_address_found
syntax keyword pfmainConf smtp_delivery_status_filter
syntax keyword pfmainConf smtp_destination_concurrency_limit
syntax keyword pfmainConf smtp_destination_recipient_limit
syntax keyword pfmainConf smtp_discard_ehlo_keyword_address_maps
syntax keyword pfmainConf smtp_discard_ehlo_keywords
syntax keyword pfmainConf smtp_dns_reply_filter
syntax keyword pfmainConf smtp_dns_resolver_options
syntax keyword pfmainConf smtp_dns_support_level
syntax keyword pfmainConf smtp_enforce_tls
syntax keyword pfmainConf smtp_fallback_relay
syntax keyword pfmainConf smtp_generic_maps
@@ -479,6 +521,7 @@ syntax keyword pfmainConf smtp_mx_address_limit
syntax keyword pfmainConf smtp_mx_session_limit
syntax keyword pfmainConf smtp_nested_header_checks
syntax keyword pfmainConf smtp_never_send_ehlo
syntax keyword pfmainConf smtp_per_record_deadline
syntax keyword pfmainConf smtp_pix_workaround_delay_time
syntax keyword pfmainConf smtp_pix_workaround_maps
syntax keyword pfmainConf smtp_pix_workaround_threshold_time
@@ -500,8 +543,10 @@ syntax keyword pfmainConf smtp_sasl_security_options
syntax keyword pfmainConf smtp_sasl_tls_security_options
syntax keyword pfmainConf smtp_sasl_tls_verified_security_options
syntax keyword pfmainConf smtp_sasl_type
syntax keyword pfmainConf smtp_send_dummy_mail_auth
syntax keyword pfmainConf smtp_send_xforward_command
syntax keyword pfmainConf smtp_sender_dependent_authentication
syntax keyword pfmainConf smtp_skip_4xx_greeting
syntax keyword pfmainConf smtp_skip_5xx_greeting
syntax keyword pfmainConf smtp_skip_quit_response
syntax keyword pfmainConf smtp_starttls_timeout
@@ -519,6 +564,7 @@ syntax keyword pfmainConf smtp_tls_enforce_peername
syntax keyword pfmainConf smtp_tls_exclude_ciphers
syntax keyword pfmainConf smtp_tls_fingerprint_cert_match
syntax keyword pfmainConf smtp_tls_fingerprint_digest
syntax keyword pfmainConf smtp_tls_force_insecure_host_tlsa_lookup
syntax keyword pfmainConf smtp_tls_key_file
syntax keyword pfmainConf smtp_tls_loglevel
syntax keyword pfmainConf smtp_tls_mandatory_ciphers
@@ -533,7 +579,9 @@ syntax keyword pfmainConf smtp_tls_secure_cert_match
syntax keyword pfmainConf smtp_tls_security_level
syntax keyword pfmainConf smtp_tls_session_cache_database
syntax keyword pfmainConf smtp_tls_session_cache_timeout
syntax keyword pfmainConf smtp_tls_trust_anchor_file
syntax keyword pfmainConf smtp_tls_verify_cert_match
syntax keyword pfmainConf smtp_tls_wrappermode
syntax keyword pfmainConf smtp_use_tls
syntax keyword pfmainConf smtp_xforward_timeout
syntax keyword pfmainConf smtpd_authorized_verp_clients
@@ -554,6 +602,7 @@ syntax keyword pfmainConf smtpd_delay_open_until_valid_rcpt
syntax keyword pfmainConf smtpd_delay_reject
syntax keyword pfmainConf smtpd_discard_ehlo_keyword_address_maps
syntax keyword pfmainConf smtpd_discard_ehlo_keywords
syntax keyword pfmainConf smtpd_dns_reply_filter
syntax keyword pfmainConf smtpd_end_of_data_restrictions
syntax keyword pfmainConf smtpd_enforce_tls
syntax keyword pfmainConf smtpd_error_sleep_time
@@ -565,14 +614,19 @@ syntax keyword pfmainConf smtpd_helo_required
syntax keyword pfmainConf smtpd_helo_restrictions
syntax keyword pfmainConf smtpd_history_flush_threshold
syntax keyword pfmainConf smtpd_junk_command_limit
syntax keyword pfmainConf smtpd_log_access_permit_actions
syntax keyword pfmainConf smtpd_milters
syntax keyword pfmainConf smtpd_noop_commands
syntax keyword pfmainConf smtpd_null_access_lookup_key
syntax keyword pfmainConf smtpd_peername_lookup
syntax keyword pfmainConf smtpd_per_record_deadline
syntax keyword pfmainConf smtpd_policy_service_default_action
syntax keyword pfmainConf smtpd_policy_service_max_idle
syntax keyword pfmainConf smtpd_policy_service_max_ttl
syntax keyword pfmainConf smtpd_policy_service_request_limit
syntax keyword pfmainConf smtpd_policy_service_retry_delay
syntax keyword pfmainConf smtpd_policy_service_timeout
syntax keyword pfmainConf smtpd_policy_service_try_limit
syntax keyword pfmainConf smtpd_proxy_ehlo
syntax keyword pfmainConf smtpd_proxy_filter
syntax keyword pfmainConf smtpd_proxy_options
@@ -583,13 +637,16 @@ syntax keyword pfmainConf smtpd_recipient_restrictions
syntax keyword pfmainConf smtpd_reject_footer
syntax keyword pfmainConf smtpd_reject_unlisted_recipient
syntax keyword pfmainConf smtpd_reject_unlisted_sender
syntax keyword pfmainConf smtpd_relay_restrictions
syntax keyword pfmainConf smtpd_restriction_classes
syntax keyword pfmainConf smtpd_sasl_application_name
syntax keyword pfmainConf smtpd_sasl_auth_enable
syntax keyword pfmainConf smtpd_sasl_authenticated_header
syntax keyword pfmainConf smtpd_sasl_exceptions_networks
syntax keyword pfmainConf smtpd_sasl_local_domain
syntax keyword pfmainConf smtpd_sasl_path
syntax keyword pfmainConf smtpd_sasl_security_options
syntax keyword pfmainConf smtpd_sasl_service
syntax keyword pfmainConf smtpd_sasl_tls_security_options
syntax keyword pfmainConf smtpd_sasl_type
syntax keyword pfmainConf smtpd_sender_login_maps
@@ -628,21 +685,21 @@ syntax keyword pfmainConf smtpd_tls_security_level
syntax keyword pfmainConf smtpd_tls_session_cache_database
syntax keyword pfmainConf smtpd_tls_session_cache_timeout
syntax keyword pfmainConf smtpd_tls_wrappermode
syntax keyword pfmainConf smtpd_upstream_proxy_protocol
syntax keyword pfmainConf smtpd_upstream_proxy_timeout
syntax keyword pfmainConf smtpd_use_tls
syntax keyword pfmainConf smtputf8_autodetect_classes
syntax keyword pfmainConf smtputf8_enable
syntax keyword pfmainConf soft_bounce
syntax keyword pfmainConf stale_lock_time
syntax keyword pfmainConf stress
syntax keyword pfmainConf strict_7bit_headers
syntax keyword pfmainConf strict_8bitmime
syntax keyword pfmainConf strict_8bitmime_body
syntax keyword pfmainConf strict_mime_encoding_domain
syntax keyword pfmainConf strict_rfc821_envelopes
syntax keyword pfmainConf strict_7bit_headers
syntax keyword pfmainConf strict_8bitmime
syntax keyword pfmainConf strict_8bitmime_body
syntax keyword pfmainConf strict_mailbox_ownership
syntax keyword pfmainConf strict_mime_encoding_domain
syntax keyword pfmainConf strict_rfc821_envelopes
syntax keyword pfmainConf strict_smtputf8
syntax keyword pfmainConf sun_mailtool_compatibility
syntax keyword pfmainConf swap_bangpath
syntax keyword pfmainConf syslog_facility
@@ -650,11 +707,15 @@ syntax keyword pfmainConf syslog_name
syntax keyword pfmainConf tcp_windowsize
syntax keyword pfmainConf tls_append_default_CA
syntax keyword pfmainConf tls_daemon_random_bytes
syntax keyword pfmainConf tls_dane_digest_agility
syntax keyword pfmainConf tls_dane_digests
syntax keyword pfmainConf tls_dane_trust_anchor_digest_enable
syntax keyword pfmainConf tls_disable_workarounds
syntax keyword pfmainConf tls_eecdh_strong_curve
syntax keyword pfmainConf tls_eecdh_ultra_curve
syntax keyword pfmainConf tls_export_cipherlist
syntax keyword pfmainConf tls_high_cipherlist
syntax keyword pfmainConf tls_legacy_public_key_fingerprints
syntax keyword pfmainConf tls_low_cipherlist
syntax keyword pfmainConf tls_medium_cipherlist
syntax keyword pfmainConf tls_null_cipherlist
@@ -664,6 +725,10 @@ syntax keyword pfmainConf tls_random_exchange_name
syntax keyword pfmainConf tls_random_prng_update_period
syntax keyword pfmainConf tls_random_reseed_period
syntax keyword pfmainConf tls_random_source
syntax keyword pfmainConf tls_session_ticket_cipher
syntax keyword pfmainConf tls_ssl_options
syntax keyword pfmainConf tls_wildcard_matches_multiple_labels
syntax keyword pfmainConf tlsmgr_service_name
syntax keyword pfmainConf tlsproxy_enforce_tls
syntax keyword pfmainConf tlsproxy_service_name
syntax keyword pfmainConf tlsproxy_tls_CAfile
@@ -711,6 +776,7 @@ syntax keyword pfmainConf transport_recipient_limit
syntax keyword pfmainConf transport_recipient_refill_delay
syntax keyword pfmainConf transport_recipient_refill_limit
syntax keyword pfmainConf transport_retry_time
syntax keyword pfmainConf transport_time_limit
syntax keyword pfmainConf trigger_timeout
syntax keyword pfmainConf undisclosed_recipients_header
syntax keyword pfmainConf unknown_address_reject_code
@@ -731,10 +797,12 @@ syntax keyword pfmainConf unverified_sender_reject_code
syntax keyword pfmainConf unverified_sender_reject_reason
syntax keyword pfmainConf unverified_sender_tempfail_action
syntax keyword pfmainConf verp_delimiter_filter
syntax keyword pfmainConf virtual_alias_address_length_limit
syntax keyword pfmainConf virtual_alias_domains
syntax keyword pfmainConf virtual_alias_expansion_limit
syntax keyword pfmainConf virtual_alias_maps
syntax keyword pfmainConf virtual_alias_recursion_limit
syntax keyword pfmainConf virtual_delivery_status_filter
syntax keyword pfmainConf virtual_destination_concurrency_limit
syntax keyword pfmainConf virtual_destination_recipient_limit
syntax keyword pfmainConf virtual_gid_maps
@@ -743,6 +811,7 @@ syntax keyword pfmainConf virtual_mailbox_domains
syntax keyword pfmainConf virtual_mailbox_limit
syntax keyword pfmainConf virtual_mailbox_lock
syntax keyword pfmainConf virtual_mailbox_maps
syntax keyword pfmainConf virtual_maps
syntax keyword pfmainConf virtual_minimum_uid
syntax keyword pfmainConf virtual_transport
syntax keyword pfmainConf virtual_uid_maps
@@ -765,6 +834,7 @@ syntax match pfmainRef "$\<address_verify_relayhost\>"
syntax match pfmainRef "$\<address_verify_sender\>"
syntax match pfmainRef "$\<address_verify_sender_dependent_default_transport_maps\>"
syntax match pfmainRef "$\<address_verify_sender_dependent_relayhost_maps\>"
syntax match pfmainRef "$\<address_verify_sender_ttl\>"
syntax match pfmainRef "$\<address_verify_service_name\>"
syntax match pfmainRef "$\<address_verify_transport_maps\>"
syntax match pfmainRef "$\<address_verify_virtual_transport\>"
@@ -776,6 +846,7 @@ syntax match pfmainRef "$\<allow_min_user\>"
syntax match pfmainRef "$\<allow_percent_hack\>"
syntax match pfmainRef "$\<allow_untrusted_routing\>"
syntax match pfmainRef "$\<alternate_config_directories\>"
syntax match pfmainRef "$\<always_add_missing_headers\>"
syntax match pfmainRef "$\<always_bcc\>"
syntax match pfmainRef "$\<anvil_rate_time_unit\>"
syntax match pfmainRef "$\<anvil_status_update_time\>"
@@ -785,6 +856,7 @@ syntax match pfmainRef "$\<application_event_drain_time\>"
syntax match pfmainRef "$\<authorized_flush_users\>"
syntax match pfmainRef "$\<authorized_mailq_users\>"
syntax match pfmainRef "$\<authorized_submit_users\>"
syntax match pfmainRef "$\<authorized_verp_clients\>"
syntax match pfmainRef "$\<backwards_bounce_logfile_compatibility\>"
syntax match pfmainRef "$\<berkeley_db_create_buffer_size\>"
syntax match pfmainRef "$\<berkeley_db_read_buffer_size\>"
@@ -805,7 +877,9 @@ syntax match pfmainRef "$\<command_directory\>"
syntax match pfmainRef "$\<command_execution_directory\>"
syntax match pfmainRef "$\<command_expansion_filter\>"
syntax match pfmainRef "$\<command_time_limit\>"
syntax match pfmainRef "$\<compatibility_level\>"
syntax match pfmainRef "$\<config_directory\>"
syntax match pfmainRef "$\<confirm_delay_cleared\>"
syntax match pfmainRef "$\<connection_cache_protocol_timeout\>"
syntax match pfmainRef "$\<connection_cache_service_name\>"
syntax match pfmainRef "$\<connection_cache_status_update_time\>"
@@ -813,14 +887,17 @@ syntax match pfmainRef "$\<connection_cache_ttl_limit\>"
syntax match pfmainRef "$\<content_filter\>"
syntax match pfmainRef "$\<cyrus_sasl_config_path\>"
syntax match pfmainRef "$\<daemon_directory\>"
syntax match pfmainRef "$\<daemon_table_open_error_is_fatal\>"
syntax match pfmainRef "$\<daemon_timeout\>"
syntax match pfmainRef "$\<data_directory\>"
syntax match pfmainRef "$\<debug_peer_level\>"
syntax match pfmainRef "$\<debug_peer_list\>"
syntax match pfmainRef "$\<debugger_command\>"
syntax match pfmainRef "$\<default_database_type\>"
syntax match pfmainRef "$\<default_delivery_slot_cost\>"
syntax match pfmainRef "$\<default_delivery_slot_discount\>"
syntax match pfmainRef "$\<default_delivery_slot_loan\>"
syntax match pfmainRef "$\<default_delivery_status_filter\>"
syntax match pfmainRef "$\<default_destination_concurrency_failed_cohort_limit\>"
syntax match pfmainRef "$\<default_destination_concurrency_limit\>"
syntax match pfmainRef "$\<default_destination_concurrency_negative_feedback\>"
@@ -861,6 +938,7 @@ syntax match pfmainRef "$\<duplicate_filter_limit\>"
syntax match pfmainRef "$\<empty_address_default_transport_maps_lookup_key\>"
syntax match pfmainRef "$\<empty_address_recipient\>"
syntax match pfmainRef "$\<empty_address_relayhost_maps_lookup_key\>"
syntax match pfmainRef "$\<enable_errors_to\>"
syntax match pfmainRef "$\<enable_long_queue_ids\>"
syntax match pfmainRef "$\<enable_original_recipient\>"
syntax match pfmainRef "$\<error_notice_recipient\>"
@@ -868,6 +946,8 @@ syntax match pfmainRef "$\<error_service_name\>"
syntax match pfmainRef "$\<execution_directory_expansion_filter\>"
syntax match pfmainRef "$\<expand_owner_alias\>"
syntax match pfmainRef "$\<export_environment\>"
syntax match pfmainRef "$\<extract_recipient_limit\>"
syntax match pfmainRef "$\<fallback_relay\>"
syntax match pfmainRef "$\<fallback_transport\>"
syntax match pfmainRef "$\<fallback_transport_maps\>"
syntax match pfmainRef "$\<fast_flush_domains\>"
@@ -901,25 +981,33 @@ syntax match pfmainRef "$\<ipc_idle\>"
syntax match pfmainRef "$\<ipc_timeout\>"
syntax match pfmainRef "$\<ipc_ttl\>"
syntax match pfmainRef "$\<line_length_limit\>"
syntax match pfmainRef "$\<lmdb_map_size\>"
syntax match pfmainRef "$\<lmtp_address_preference\>"
syntax match pfmainRef "$\<lmtp_address_verify_target\>"
syntax match pfmainRef "$\<lmtp_assume_final\>"
syntax match pfmainRef "$\<lmtp_bind_address\>"
syntax match pfmainRef "$\<lmtp_bind_address6\>"
syntax match pfmainRef "$\<lmtp_body_checks\>"
syntax match pfmainRef "$\<lmtp_cache_connection\>"
syntax match pfmainRef "$\<lmtp_cname_overrides_servername\>"
syntax match pfmainRef "$\<lmtp_connect_timeout\>"
syntax match pfmainRef "$\<lmtp_connection_cache_destinations\>"
syntax match pfmainRef "$\<lmtp_connection_cache_on_demand\>"
syntax match pfmainRef "$\<lmtp_connection_cache_time_limit\>"
syntax match pfmainRef "$\<lmtp_connection_reuse_count_limit\>"
syntax match pfmainRef "$\<lmtp_connection_reuse_time_limit\>"
syntax match pfmainRef "$\<lmtp_data_done_timeout\>"
syntax match pfmainRef "$\<lmtp_data_init_timeout\>"
syntax match pfmainRef "$\<lmtp_data_xfer_timeout\>"
syntax match pfmainRef "$\<lmtp_defer_if_no_mx_address_found\>"
syntax match pfmainRef "$\<lmtp_delivery_status_filter\>"
syntax match pfmainRef "$\<lmtp_destination_concurrency_limit\>"
syntax match pfmainRef "$\<lmtp_destination_recipient_limit\>"
syntax match pfmainRef "$\<lmtp_discard_lhlo_keyword_address_maps\>"
syntax match pfmainRef "$\<lmtp_discard_lhlo_keywords\>"
syntax match pfmainRef "$\<lmtp_dns_reply_filter\>"
syntax match pfmainRef "$\<lmtp_dns_resolver_options\>"
syntax match pfmainRef "$\<lmtp_dns_support_level\>"
syntax match pfmainRef "$\<lmtp_enforce_tls\>"
syntax match pfmainRef "$\<lmtp_generic_maps\>"
syntax match pfmainRef "$\<lmtp_header_checks\>"
@@ -954,9 +1042,11 @@ syntax match pfmainRef "$\<lmtp_sasl_security_options\>"
syntax match pfmainRef "$\<lmtp_sasl_tls_security_options\>"
syntax match pfmainRef "$\<lmtp_sasl_tls_verified_security_options\>"
syntax match pfmainRef "$\<lmtp_sasl_type\>"
syntax match pfmainRef "$\<lmtp_send_dummy_mail_auth\>"
syntax match pfmainRef "$\<lmtp_send_xforward_command\>"
syntax match pfmainRef "$\<lmtp_sender_dependent_authentication\>"
syntax match pfmainRef "$\<lmtp_skip_5xx_greeting\>"
syntax match pfmainRef "$\<lmtp_skip_quit_response\>"
syntax match pfmainRef "$\<lmtp_starttls_timeout\>"
syntax match pfmainRef "$\<lmtp_tcp_port\>"
syntax match pfmainRef "$\<lmtp_tls_CAfile\>"
@@ -972,6 +1062,7 @@ syntax match pfmainRef "$\<lmtp_tls_enforce_peername\>"
syntax match pfmainRef "$\<lmtp_tls_exclude_ciphers\>"
syntax match pfmainRef "$\<lmtp_tls_fingerprint_cert_match\>"
syntax match pfmainRef "$\<lmtp_tls_fingerprint_digest\>"
syntax match pfmainRef "$\<lmtp_tls_force_insecure_host_tlsa_lookup\>"
syntax match pfmainRef "$\<lmtp_tls_key_file\>"
syntax match pfmainRef "$\<lmtp_tls_loglevel\>"
syntax match pfmainRef "$\<lmtp_tls_mandatory_ciphers\>"
@@ -982,11 +1073,16 @@ syntax match pfmainRef "$\<lmtp_tls_per_site\>"
syntax match pfmainRef "$\<lmtp_tls_policy_maps\>"
syntax match pfmainRef "$\<lmtp_tls_protocols\>"
syntax match pfmainRef "$\<lmtp_tls_scert_verifydepth\>"
syntax match pfmainRef "$\<lmtp_tls_secure_cert_match\>"
syntax match pfmainRef "$\<lmtp_tls_security_level\>"
syntax match pfmainRef "$\<lmtp_tls_session_cache_database\>"
syntax match pfmainRef "$\<lmtp_tls_session_cache_timeout\>"
syntax match pfmainRef "$\<lmtp_tls_trust_anchor_file\>"
syntax match pfmainRef "$\<lmtp_tls_verify_cert_match\>"
syntax match pfmainRef "$\<lmtp_use_tls\>"
syntax match pfmainRef "$\<lmtp_xforward_timeout\>"
syntax match pfmainRef "$\<local_command_shell\>"
syntax match pfmainRef "$\<local_delivery_status_filter\>"
syntax match pfmainRef "$\<local_destination_concurrency_limit\>"
syntax match pfmainRef "$\<local_destination_recipient_limit\>"
syntax match pfmainRef "$\<local_header_rewrite_clients\>"
@@ -1008,17 +1104,19 @@ syntax match pfmainRef "$\<mailq_path\>"
syntax match pfmainRef "$\<manpage_directory\>"
syntax match pfmainRef "$\<maps_rbl_domains\>"
syntax match pfmainRef "$\<maps_rbl_reject_code\>"
syntax match pfmainRef "$\<master_service_disable\>"
syntax match pfmainRef "$\<masquerade_classes\>"
syntax match pfmainRef "$\<masquerade_domains\>"
syntax match pfmainRef "$\<masquerade_exceptions\>"
syntax match pfmainRef "$\<master_service_disable\>"
syntax match pfmainRef "$\<max_idle\>"
syntax match pfmainRef "$\<max_use\>"
syntax match pfmainRef "$\<maximal_backoff_time\>"
syntax match pfmainRef "$\<maximal_queue_lifetime\>"
syntax match pfmainRef "$\<message_drop_headers\>"
syntax match pfmainRef "$\<message_reject_characters\>"
syntax match pfmainRef "$\<message_size_limit\>"
syntax match pfmainRef "$\<message_strip_characters\>"
syntax match pfmainRef "$\<meta_directory\>"
syntax match pfmainRef "$\<milter_command_timeout\>"
syntax match pfmainRef "$\<milter_connect_macros\>"
syntax match pfmainRef "$\<milter_connect_timeout\>"
@@ -1056,10 +1154,12 @@ syntax match pfmainRef "$\<newaliases_path\>"
syntax match pfmainRef "$\<non_fqdn_reject_code\>"
syntax match pfmainRef "$\<non_smtpd_milters\>"
syntax match pfmainRef "$\<notify_classes\>"
syntax match pfmainRef "$\<nullmx_reject_code\>"
syntax match pfmainRef "$\<owner_request_special\>"
syntax match pfmainRef "$\<parent_domain_matches_subdomains\>"
syntax match pfmainRef "$\<permit_mx_backup_networks\>"
syntax match pfmainRef "$\<pickup_service_name\>"
syntax match pfmainRef "$\<pipe_delivery_status_filter\>"
syntax match pfmainRef "$\<plaintext_reject_code\>"
syntax match pfmainRef "$\<postmulti_control_commands\>"
syntax match pfmainRef "$\<postmulti_start_commands\>"
@@ -1083,7 +1183,9 @@ syntax match pfmainRef "$\<postscreen_dnsbl_action\>"
syntax match pfmainRef "$\<postscreen_dnsbl_reply_map\>"
syntax match pfmainRef "$\<postscreen_dnsbl_sites\>"
syntax match pfmainRef "$\<postscreen_dnsbl_threshold\>"
syntax match pfmainRef "$\<postscreen_dnsbl_timeout\>"
syntax match pfmainRef "$\<postscreen_dnsbl_ttl\>"
syntax match pfmainRef "$\<postscreen_dnsbl_whitelist_threshold\>"
syntax match pfmainRef "$\<postscreen_enforce_tls\>"
syntax match pfmainRef "$\<postscreen_expansion_filter\>"
syntax match pfmainRef "$\<postscreen_forbidden_commands\>"
@@ -1102,9 +1204,8 @@ syntax match pfmainRef "$\<postscreen_post_queue_limit\>"
syntax match pfmainRef "$\<postscreen_pre_queue_limit\>"
syntax match pfmainRef "$\<postscreen_reject_footer\>"
syntax match pfmainRef "$\<postscreen_tls_security_level\>"
syntax match pfmainRef "$\<lmtp_tls_secure_cert_match\>"
syntax match pfmainRef "$\<lmtp_tls_security_level\>"
syntax match pfmainRef "$\<lmtp_tls_session_cache_database\>"
syntax match pfmainRef "$\<postscreen_upstream_proxy_protocol\>"
syntax match pfmainRef "$\<postscreen_upstream_proxy_timeout\>"
syntax match pfmainRef "$\<postscreen_use_tls\>"
syntax match pfmainRef "$\<postscreen_watchdog_timeout\>"
syntax match pfmainRef "$\<postscreen_whitelist_interfaces\>"
@@ -1119,7 +1220,9 @@ syntax match pfmainRef "$\<proxy_write_maps\>"
syntax match pfmainRef "$\<proxymap_service_name\>"
syntax match pfmainRef "$\<proxywrite_service_name\>"
syntax match pfmainRef "$\<qmgr_clog_warn_time\>"
syntax match pfmainRef "$\<qmgr_daemon_timeout\>"
syntax match pfmainRef "$\<qmgr_fudge_factor\>"
syntax match pfmainRef "$\<qmgr_ipc_timeout\>"
syntax match pfmainRef "$\<qmgr_message_active_limit\>"
syntax match pfmainRef "$\<qmgr_message_recipient_limit\>"
syntax match pfmainRef "$\<qmgr_message_recipient_minimum\>"
@@ -1159,17 +1262,21 @@ syntax match pfmainRef "$\<resolve_numeric_domain\>"
syntax match pfmainRef "$\<rewrite_service_name\>"
syntax match pfmainRef "$\<sample_directory\>"
syntax match pfmainRef "$\<send_cyrus_sasl_authzid\>"
syntax match pfmainRef "$\<sender_based_routing\>"
syntax match pfmainRef "$\<sender_bcc_maps\>"
syntax match pfmainRef "$\<sender_canonical_classes\>"
syntax match pfmainRef "$\<sender_canonical_maps\>"
syntax match pfmainRef "$\<sender_dependent_default_transport_maps\>"
syntax match pfmainRef "$\<sender_dependent_relayhost_maps\>"
syntax match pfmainRef "$\<sendmail_fix_line_endings\>"
syntax match pfmainRef "$\<sendmail_path\>"
syntax match pfmainRef "$\<service_throttle_time\>"
syntax match pfmainRef "$\<setgid_group\>"
syntax match pfmainRef "$\<shlib_directory\>"
syntax match pfmainRef "$\<show_user_unknown_table_name\>"
syntax match pfmainRef "$\<showq_service_name\>"
syntax match pfmainRef "$\<smtp_address_preference\>"
syntax match pfmainRef "$\<smtp_address_verify_target\>"
syntax match pfmainRef "$\<smtp_always_send_ehlo\>"
syntax match pfmainRef "$\<smtp_bind_address\>"
syntax match pfmainRef "$\<smtp_bind_address6\>"
@@ -1179,16 +1286,20 @@ syntax match pfmainRef "$\<smtp_connect_timeout\>"
syntax match pfmainRef "$\<smtp_connection_cache_destinations\>"
syntax match pfmainRef "$\<smtp_connection_cache_on_demand\>"
syntax match pfmainRef "$\<smtp_connection_cache_time_limit\>"
syntax match pfmainRef "$\<smtp_connection_reuse_count_limit\>"
syntax match pfmainRef "$\<smtp_connection_reuse_time_limit\>"
syntax match pfmainRef "$\<smtp_data_done_timeout\>"
syntax match pfmainRef "$\<smtp_data_init_timeout\>"
syntax match pfmainRef "$\<smtp_data_xfer_timeout\>"
syntax match pfmainRef "$\<smtp_defer_if_no_mx_address_found\>"
syntax match pfmainRef "$\<smtp_delivery_status_filter\>"
syntax match pfmainRef "$\<smtp_destination_concurrency_limit\>"
syntax match pfmainRef "$\<smtp_destination_recipient_limit\>"
syntax match pfmainRef "$\<smtp_discard_ehlo_keyword_address_maps\>"
syntax match pfmainRef "$\<smtp_discard_ehlo_keywords\>"
syntax match pfmainRef "$\<smtp_dns_reply_filter\>"
syntax match pfmainRef "$\<smtp_dns_resolver_options\>"
syntax match pfmainRef "$\<smtp_dns_support_level\>"
syntax match pfmainRef "$\<smtp_enforce_tls\>"
syntax match pfmainRef "$\<smtp_fallback_relay\>"
syntax match pfmainRef "$\<smtp_generic_maps\>"
@@ -1203,6 +1314,7 @@ syntax match pfmainRef "$\<smtp_mx_address_limit\>"
syntax match pfmainRef "$\<smtp_mx_session_limit\>"
syntax match pfmainRef "$\<smtp_nested_header_checks\>"
syntax match pfmainRef "$\<smtp_never_send_ehlo\>"
syntax match pfmainRef "$\<smtp_per_record_deadline\>"
syntax match pfmainRef "$\<smtp_pix_workaround_delay_time\>"
syntax match pfmainRef "$\<smtp_pix_workaround_maps\>"
syntax match pfmainRef "$\<smtp_pix_workaround_threshold_time\>"
@@ -1224,8 +1336,10 @@ syntax match pfmainRef "$\<smtp_sasl_security_options\>"
syntax match pfmainRef "$\<smtp_sasl_tls_security_options\>"
syntax match pfmainRef "$\<smtp_sasl_tls_verified_security_options\>"
syntax match pfmainRef "$\<smtp_sasl_type\>"
syntax match pfmainRef "$\<smtp_send_dummy_mail_auth\>"
syntax match pfmainRef "$\<smtp_send_xforward_command\>"
syntax match pfmainRef "$\<smtp_sender_dependent_authentication\>"
syntax match pfmainRef "$\<smtp_skip_4xx_greeting\>"
syntax match pfmainRef "$\<smtp_skip_5xx_greeting\>"
syntax match pfmainRef "$\<smtp_skip_quit_response\>"
syntax match pfmainRef "$\<smtp_starttls_timeout\>"
@@ -1243,6 +1357,7 @@ syntax match pfmainRef "$\<smtp_tls_enforce_peername\>"
syntax match pfmainRef "$\<smtp_tls_exclude_ciphers\>"
syntax match pfmainRef "$\<smtp_tls_fingerprint_cert_match\>"
syntax match pfmainRef "$\<smtp_tls_fingerprint_digest\>"
syntax match pfmainRef "$\<smtp_tls_force_insecure_host_tlsa_lookup\>"
syntax match pfmainRef "$\<smtp_tls_key_file\>"
syntax match pfmainRef "$\<smtp_tls_loglevel\>"
syntax match pfmainRef "$\<smtp_tls_mandatory_ciphers\>"
@@ -1257,7 +1372,9 @@ syntax match pfmainRef "$\<smtp_tls_secure_cert_match\>"
syntax match pfmainRef "$\<smtp_tls_security_level\>"
syntax match pfmainRef "$\<smtp_tls_session_cache_database\>"
syntax match pfmainRef "$\<smtp_tls_session_cache_timeout\>"
syntax match pfmainRef "$\<smtp_tls_trust_anchor_file\>"
syntax match pfmainRef "$\<smtp_tls_verify_cert_match\>"
syntax match pfmainRef "$\<smtp_tls_wrappermode\>"
syntax match pfmainRef "$\<smtp_use_tls\>"
syntax match pfmainRef "$\<smtp_xforward_timeout\>"
syntax match pfmainRef "$\<smtpd_authorized_verp_clients\>"
@@ -1278,6 +1395,7 @@ syntax match pfmainRef "$\<smtpd_delay_open_until_valid_rcpt\>"
syntax match pfmainRef "$\<smtpd_delay_reject\>"
syntax match pfmainRef "$\<smtpd_discard_ehlo_keyword_address_maps\>"
syntax match pfmainRef "$\<smtpd_discard_ehlo_keywords\>"
syntax match pfmainRef "$\<smtpd_dns_reply_filter\>"
syntax match pfmainRef "$\<smtpd_end_of_data_restrictions\>"
syntax match pfmainRef "$\<smtpd_enforce_tls\>"
syntax match pfmainRef "$\<smtpd_error_sleep_time\>"
@@ -1289,14 +1407,19 @@ syntax match pfmainRef "$\<smtpd_helo_required\>"
syntax match pfmainRef "$\<smtpd_helo_restrictions\>"
syntax match pfmainRef "$\<smtpd_history_flush_threshold\>"
syntax match pfmainRef "$\<smtpd_junk_command_limit\>"
syntax match pfmainRef "$\<smtpd_log_access_permit_actions\>"
syntax match pfmainRef "$\<smtpd_milters\>"
syntax match pfmainRef "$\<smtpd_noop_commands\>"
syntax match pfmainRef "$\<smtpd_null_access_lookup_key\>"
syntax match pfmainRef "$\<smtpd_peername_lookup\>"
syntax match pfmainRef "$\<smtpd_per_record_deadline\>"
syntax match pfmainRef "$\<smtpd_policy_service_default_action\>"
syntax match pfmainRef "$\<smtpd_policy_service_max_idle\>"
syntax match pfmainRef "$\<smtpd_policy_service_max_ttl\>"
syntax match pfmainRef "$\<smtpd_policy_service_request_limit\>"
syntax match pfmainRef "$\<smtpd_policy_service_retry_delay\>"
syntax match pfmainRef "$\<smtpd_policy_service_timeout\>"
syntax match pfmainRef "$\<smtpd_policy_service_try_limit\>"
syntax match pfmainRef "$\<smtpd_proxy_ehlo\>"
syntax match pfmainRef "$\<smtpd_proxy_filter\>"
syntax match pfmainRef "$\<smtpd_proxy_options\>"
@@ -1307,13 +1430,16 @@ syntax match pfmainRef "$\<smtpd_recipient_restrictions\>"
syntax match pfmainRef "$\<smtpd_reject_footer\>"
syntax match pfmainRef "$\<smtpd_reject_unlisted_recipient\>"
syntax match pfmainRef "$\<smtpd_reject_unlisted_sender\>"
syntax match pfmainRef "$\<smtpd_relay_restrictions\>"
syntax match pfmainRef "$\<smtpd_restriction_classes\>"
syntax match pfmainRef "$\<smtpd_sasl_application_name\>"
syntax match pfmainRef "$\<smtpd_sasl_auth_enable\>"
syntax match pfmainRef "$\<smtpd_sasl_authenticated_header\>"
syntax match pfmainRef "$\<smtpd_sasl_exceptions_networks\>"
syntax match pfmainRef "$\<smtpd_sasl_local_domain\>"
syntax match pfmainRef "$\<smtpd_sasl_path\>"
syntax match pfmainRef "$\<smtpd_sasl_security_options\>"
syntax match pfmainRef "$\<smtpd_sasl_service\>"
syntax match pfmainRef "$\<smtpd_sasl_tls_security_options\>"
syntax match pfmainRef "$\<smtpd_sasl_type\>"
syntax match pfmainRef "$\<smtpd_sender_login_maps\>"
@@ -1352,21 +1478,21 @@ syntax match pfmainRef "$\<smtpd_tls_security_level\>"
syntax match pfmainRef "$\<smtpd_tls_session_cache_database\>"
syntax match pfmainRef "$\<smtpd_tls_session_cache_timeout\>"
syntax match pfmainRef "$\<smtpd_tls_wrappermode\>"
syntax match pfmainRef "$\<smtpd_upstream_proxy_protocol\>"
syntax match pfmainRef "$\<smtpd_upstream_proxy_timeout\>"
syntax match pfmainRef "$\<smtpd_use_tls\>"
syntax match pfmainRef "$\<smtputf8_autodetect_classes\>"
syntax match pfmainRef "$\<smtputf8_enable\>"
syntax match pfmainRef "$\<soft_bounce\>"
syntax match pfmainRef "$\<stale_lock_time\>"
syntax match pfmainRef "$\<stress\>"
syntax match pfmainRef "$\<strict_7bit_headers\>"
syntax match pfmainRef "$\<strict_8bitmime\>"
syntax match pfmainRef "$\<strict_8bitmime_body\>"
syntax match pfmainRef "$\<strict_mime_encoding_domain\>"
syntax match pfmainRef "$\<strict_rfc821_envelopes\>"
syntax match pfmainRef "$\<strict_7bit_headers\>"
syntax match pfmainRef "$\<strict_8bitmime\>"
syntax match pfmainRef "$\<strict_8bitmime_body\>"
syntax match pfmainRef "$\<strict_mailbox_ownership\>"
syntax match pfmainRef "$\<strict_mime_encoding_domain\>"
syntax match pfmainRef "$\<strict_rfc821_envelopes\>"
syntax match pfmainRef "$\<strict_smtputf8\>"
syntax match pfmainRef "$\<sun_mailtool_compatibility\>"
syntax match pfmainRef "$\<swap_bangpath\>"
syntax match pfmainRef "$\<syslog_facility\>"
@@ -1374,11 +1500,15 @@ syntax match pfmainRef "$\<syslog_name\>"
syntax match pfmainRef "$\<tcp_windowsize\>"
syntax match pfmainRef "$\<tls_append_default_CA\>"
syntax match pfmainRef "$\<tls_daemon_random_bytes\>"
syntax match pfmainRef "$\<tls_dane_digest_agility\>"
syntax match pfmainRef "$\<tls_dane_digests\>"
syntax match pfmainRef "$\<tls_dane_trust_anchor_digest_enable\>"
syntax match pfmainRef "$\<tls_disable_workarounds\>"
syntax match pfmainRef "$\<tls_eecdh_strong_curve\>"
syntax match pfmainRef "$\<tls_eecdh_ultra_curve\>"
syntax match pfmainRef "$\<tls_export_cipherlist\>"
syntax match pfmainRef "$\<tls_high_cipherlist\>"
syntax match pfmainRef "$\<tls_legacy_public_key_fingerprints\>"
syntax match pfmainRef "$\<tls_low_cipherlist\>"
syntax match pfmainRef "$\<tls_medium_cipherlist\>"
syntax match pfmainRef "$\<tls_null_cipherlist\>"
@@ -1388,6 +1518,10 @@ syntax match pfmainRef "$\<tls_random_exchange_name\>"
syntax match pfmainRef "$\<tls_random_prng_update_period\>"
syntax match pfmainRef "$\<tls_random_reseed_period\>"
syntax match pfmainRef "$\<tls_random_source\>"
syntax match pfmainRef "$\<tls_session_ticket_cipher\>"
syntax match pfmainRef "$\<tls_ssl_options\>"
syntax match pfmainRef "$\<tls_wildcard_matches_multiple_labels\>"
syntax match pfmainRef "$\<tlsmgr_service_name\>"
syntax match pfmainRef "$\<tlsproxy_enforce_tls\>"
syntax match pfmainRef "$\<tlsproxy_service_name\>"
syntax match pfmainRef "$\<tlsproxy_tls_CAfile\>"
@@ -1435,6 +1569,7 @@ syntax match pfmainRef "$\<transport_recipient_limit\>"
syntax match pfmainRef "$\<transport_recipient_refill_delay\>"
syntax match pfmainRef "$\<transport_recipient_refill_limit\>"
syntax match pfmainRef "$\<transport_retry_time\>"
syntax match pfmainRef "$\<transport_time_limit\>"
syntax match pfmainRef "$\<trigger_timeout\>"
syntax match pfmainRef "$\<undisclosed_recipients_header\>"
syntax match pfmainRef "$\<unknown_address_reject_code\>"
@@ -1455,10 +1590,12 @@ syntax match pfmainRef "$\<unverified_sender_reject_code\>"
syntax match pfmainRef "$\<unverified_sender_reject_reason\>"
syntax match pfmainRef "$\<unverified_sender_tempfail_action\>"
syntax match pfmainRef "$\<verp_delimiter_filter\>"
syntax match pfmainRef "$\<virtual_alias_address_length_limit\>"
syntax match pfmainRef "$\<virtual_alias_domains\>"
syntax match pfmainRef "$\<virtual_alias_expansion_limit\>"
syntax match pfmainRef "$\<virtual_alias_maps\>"
syntax match pfmainRef "$\<virtual_alias_recursion_limit\>"
syntax match pfmainRef "$\<virtual_delivery_status_filter\>"
syntax match pfmainRef "$\<virtual_destination_concurrency_limit\>"
syntax match pfmainRef "$\<virtual_destination_recipient_limit\>"
syntax match pfmainRef "$\<virtual_gid_maps\>"
@@ -1467,39 +1604,62 @@ syntax match pfmainRef "$\<virtual_mailbox_domains\>"
syntax match pfmainRef "$\<virtual_mailbox_limit\>"
syntax match pfmainRef "$\<virtual_mailbox_lock\>"
syntax match pfmainRef "$\<virtual_mailbox_maps\>"
syntax match pfmainRef "$\<virtual_maps\>"
syntax match pfmainRef "$\<virtual_minimum_uid\>"
syntax match pfmainRef "$\<virtual_transport\>"
syntax match pfmainRef "$\<virtual_uid_maps\>"
syntax keyword pfmainWord accept
syntax keyword pfmainWord all
syntax keyword pfmainWord always
syntax keyword pfmainWord check_address_map
syntax keyword pfmainWord check_ccert_access
syntax keyword pfmainWord check_client_a_access
syntax keyword pfmainWord check_client_access
syntax keyword pfmainWord check_client_mx_access
syntax keyword pfmainWord check_client_ns_access
syntax keyword pfmainWord check_etrn_access
syntax keyword pfmainWord check_helo_a_access
syntax keyword pfmainWord check_helo_access
syntax keyword pfmainWord check_helo_mx_access
syntax keyword pfmainWord check_helo_ns_access
syntax keyword pfmainWord check_policy_service
syntax keyword pfmainWord check_recipient_a_access
syntax keyword pfmainWord check_recipient_access
syntax keyword pfmainWord check_recipient_maps
syntax keyword pfmainWord check_recipient_mx_access
syntax keyword pfmainWord check_recipient_ns_access
syntax keyword pfmainWord check_relay_domains
syntax keyword pfmainWord check_reverse_client_hostname_a_access
syntax keyword pfmainWord check_reverse_client_hostname_access
syntax keyword pfmainWord check_reverse_client_hostname_mx_access
syntax keyword pfmainWord check_reverse_client_hostname_ns_access
syntax keyword pfmainWord check_sasl_access
syntax keyword pfmainWord check_sender_a_access
syntax keyword pfmainWord check_sender_access
syntax keyword pfmainWord check_sender_mx_access
syntax keyword pfmainWord check_sender_ns_access
syntax keyword pfmainWord class
syntax keyword pfmainWord client_address
syntax keyword pfmainWord client_port
syntax keyword pfmainWord dane
syntax keyword pfmainWord dane-only
syntax keyword pfmainWord defer
syntax keyword pfmainWord defer_if_permit
syntax keyword pfmainWord defer_if_reject
syntax keyword pfmainWord defer_unauth_destination
syntax keyword pfmainWord disabled
syntax keyword pfmainWord dns
syntax keyword pfmainWord dnssec
syntax keyword pfmainWord drop
syntax keyword pfmainWord dunno
syntax keyword pfmainWord enabled
syntax keyword pfmainWord encrypt
syntax keyword pfmainWord enforce
syntax keyword pfmainWord envelope_recipient
syntax keyword pfmainWord envelope_sender
syntax keyword pfmainWord export
syntax keyword pfmainWord fingerprint
syntax keyword pfmainWord header_recipient
syntax keyword pfmainWord header_sender
syntax keyword pfmainWord high
@@ -1509,22 +1669,37 @@ syntax keyword pfmainWord ipv4
syntax keyword pfmainWord ipv6
syntax keyword pfmainWord localtime
syntax keyword pfmainWord low
syntax keyword pfmainWord may
syntax keyword pfmainWord maybe
syntax keyword pfmainWord medium
syntax keyword pfmainWord native
syntax keyword pfmainWord never
syntax keyword pfmainWord no_address_mappings
syntax keyword pfmainWord no_header_body_checks
syntax keyword pfmainWord no_header_reply
syntax keyword pfmainWord no_milters
syntax keyword pfmainWord no_unknown_recipient_checks
syntax keyword pfmainWord none
syntax keyword pfmainWord null
syntax keyword pfmainWord off
syntax keyword pfmainWord on
syntax keyword pfmainWord permit
syntax keyword pfmainWord permit_auth_destination
syntax keyword pfmainWord permit_dnswl_client
syntax keyword pfmainWord permit_inet_interfaces
syntax keyword pfmainWord permit_mx_backup
syntax keyword pfmainWord permit_mynetworks
syntax keyword pfmainWord permit_naked_ip_address
syntax keyword pfmainWord permit_rhswl_client
syntax keyword pfmainWord permit_sasl_authenticated
syntax keyword pfmainWord permit_tls_all_clientcerts
syntax keyword pfmainWord permit_tls_clientcerts
syntax keyword pfmainWord quarantine
syntax keyword pfmainWord reject
syntax keyword pfmainWord reject_authenticated_sender_login_mismatch
syntax keyword pfmainWord reject_invalid_helo_hostname
syntax keyword pfmainWord reject_invalid_hostname
syntax keyword pfmainWord reject_known_sender_login_mismatch
syntax keyword pfmainWord reject_maps_rbl
syntax keyword pfmainWord reject_multi_recipient_bounce
syntax keyword pfmainWord reject_non_fqdn_helo_hostname
@@ -1537,10 +1712,12 @@ syntax keyword pfmainWord reject_rbl_client
syntax keyword pfmainWord reject_rhsbl_client
syntax keyword pfmainWord reject_rhsbl_helo
syntax keyword pfmainWord reject_rhsbl_recipient
syntax keyword pfmainWord reject_rhsbl_reverse_client
syntax keyword pfmainWord reject_rhsbl_sender
syntax keyword pfmainWord reject_sender_login_mismatch
syntax keyword pfmainWord reject_unauth_destination
syntax keyword pfmainWord reject_unauth_pipelining
syntax keyword pfmainWord reject_unauthenticated_sender_login_mismatch
syntax keyword pfmainWord reject_unknown_address
syntax keyword pfmainWord reject_unknown_client
syntax keyword pfmainWord reject_unknown_client_hostname
@@ -1554,11 +1731,15 @@ syntax keyword pfmainWord reject_unlisted_recipient
syntax keyword pfmainWord reject_unlisted_sender
syntax keyword pfmainWord reject_unverified_recipient
syntax keyword pfmainWord reject_unverified_sender
syntax keyword pfmainWord secure
syntax keyword pfmainWord server_name
syntax keyword pfmainWord sleep
syntax keyword pfmainWord smtpd_access_maps
syntax keyword pfmainWord server_name
syntax keyword pfmainWord speed_adjust
syntax keyword pfmainWord strong
syntax keyword pfmainWord subnet
syntax keyword pfmainWord tempfail
syntax keyword pfmainWord ultra
syntax keyword pfmainWord warn_if_reject
syntax keyword pfmainWord CRYPTOPRO_TLSEXT_BUG
syntax keyword pfmainWord DONT_INSERT_EMPTY_FRAGMENTS
@@ -1574,7 +1755,7 @@ syntax keyword pfmainWord TLS_BLOCK_PADDING_BUG
syntax keyword pfmainWord TLS_D5_BUG
syntax keyword pfmainWord TLS_ROLLBACK_BUG
syntax keyword pfmainDict btree cidr environ hash nis pcre proxy regexp sdbm sdbm static tcp unix
syntax keyword pfmainDict btree cidr environ hash nis pcre proxy regexp sdbm static tcp unix
syntax keyword pfmainQueueDir incoming active deferred corrupt hold
syntax keyword pfmainTransport smtp lmtp unix local relay uucp virtual
syntax keyword pfmainLock fcntl flock dotlock
@@ -1588,26 +1769,50 @@ syntax match pfmainVariable "\$\w\+" contains=pfmainRef
syntax match pfmainSpecial "\<alias\>"
syntax match pfmainSpecial "\<canonical\>"
syntax match pfmainSpecial "\<forward\>"
syntax match pfmainSpecial "\<generic\>"
syntax match pfmainSpecial "\<include\>"
syntax match pfmainSpecial "\<virtual\>"
syntax match pfmainSpecial "\<delay_dotcrlf\>"
syntax match pfmainSpecial "\<disable_esmtp\>"
syntax match pfmainSpecial "\<res_defnames\>"
syntax match pfmainSpecial "\<res_dnsrch\>"
syntax match pfmainSpecial "\<command\>"
syntax match pfmainSpecial "\<file\>"
syntax match pfmainSpecial "\<forward\>"
syntax match pfmainSpecial "\<forward_secrecy\>"
syntax match pfmainSpecial "\<mutual_auth\>"
syntax match pfmainSpecial "\<noactive\>"
syntax match pfmainSpecial "\<noanonymous\>"
syntax match pfmainSpecial "\<nodictionary\>"
syntax match pfmainSpecial "\<noplaintext\>"
syntax match pfmainSpecial "\<bounce\>"
syntax match pfmainSpecial "\<2bounce\>"
syntax match pfmainSpecial "\<data\>"
syntax match pfmainSpecial "\<delay\>"
syntax match pfmainSpecial "\<policy\>"
syntax match pfmainSpecial "\<protocol\>"
syntax match pfmainSpecial "\<resource\>"
syntax match pfmainSpecial "\<software\>"
syntax match pfmainSpecial "\<bounce\>"
syntax match pfmainSpecial "\<cleanup\>"
syntax match pfmainSpecial "\<cyrus\>"
syntax match pfmainSpecial "\<defer\>"
syntax match pfmainSpecial "\<error\>"
syntax match pfmainSpecial "\<flush\>"
syntax match pfmainSpecial "\<notify\>"
syntax match pfmainSpecial "\<pickup\>"
syntax match pfmainSpecial "\<postdrop\>"
syntax match pfmainSpecial "\<qmgr\>"
syntax match pfmainSpecial "\<qmqpd\>"
syntax match pfmainSpecial "\<rewrite\>"
syntax match pfmainSpecial "\<scache\>"
syntax match pfmainSpecial "\<sendmail\>"
syntax match pfmainSpecial "\<showq\>"
syntax match pfmainSpecial "\<smtpd\>"
syntax match pfmainSpecial "\<trace\>"
syntax match pfmainSpecial "\<verify\>"
+2 -2
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: php PHP 3/4/5
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
" Last Change: Sep 18, 2014
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
" Last Change: Mar 24, 2015
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
"
+33 -26
View File
@@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Jan 08, 2015
" Version: 134
" Last Change: Apr 10, 2015
" Version: 136
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
" For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
@@ -104,7 +104,7 @@ syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsa
if exists("b:is_kornshell")
syn cluster ErrorList add=shDTestError
endif
syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,shDerefSimple,shDo,shEcho,shEscape,shIf,shFor,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement
syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor
syn cluster shArithList contains=@shArithParenList,shParenError
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
@@ -127,9 +127,9 @@ syn cluster shHereList contains=shBeginHere,shHerePayload
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
syn cluster shLoopList contains=@shCaseList,shIf,shFor,shForPP,shTestOpr,shExpr,shDblBrace,shConditional,shCaseEsac,shTest,@shErrorList,shSet,shOption
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shComment,shCommandSub,shDeref,shDerefSimple,shExDoubleQuote,shDoubleQuote,shExpr,shNumber,shOperator,shExSingleQuote,shSingleQuote,shTestOpr,shTest,shCtrlSeq
syn cluster shTestList contains=shCharClass,shCommandSub,shComment,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
" Echo: {{{1
" ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
@@ -197,13 +197,12 @@ syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
syn match shTestOpr contained '=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
syn match shTestPattern contained '\w\+'
syn region shTestDoubleQuote contained start='"' skip='\\"' end='"' contains=shBQpairs
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"'
syn match shTestSingleQuote contained '\\.'
syn match shTestSingleQuote contained "'[^']*'"
syn match shBQpairs contained '\\\\'
if exists("b:is_kornshell") || exists("b:is_bash")
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList
syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList,shComment
syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList,shComment
endif
" Character Class In Range: {{{1
@@ -213,15 +212,16 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum
" Loops: do, if, while, until {{{1
" ======
if s:sh_fold_ifdofor
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
syn region shForPP fold matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
else
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
endif
syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
if exists("b:is_kornshell") || exists("b:is_bash")
syn cluster shCaseList add=shRepeat
syn cluster shFunctionList add=shRepeat
@@ -409,19 +409,27 @@ endif
if exists("b:is_bash")
if s:sh_fold_functions
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionFour fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
else
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList
syn region shFunctionFour matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
endif
else
if s:sh_fold_functions
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionFour fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
else
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList
syn region shFunctionFour matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
endif
endif
@@ -577,7 +585,7 @@ hi def link shDoubleQuote shString
hi def link shEcho shString
hi def link shEchoDelim shOperator
hi def link shEchoQuote shString
"hi def link shForPP shLoop
hi def link shForPP shLoop
hi def link shEmbeddedEcho shString
hi def link shEscape shCommandSub
hi def link shExDoubleQuote shDoubleQuote
@@ -604,7 +612,6 @@ hi def link shTestOpr shConditional
hi def link shTestPattern shString
hi def link shTestDoubleQuote shString
hi def link shTestSingleQuote shString
hi def link shBQpairs shString
hi def link shVariable shSetList
hi def link shWrapLineOperator shOperator
+2 -2
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: sendmail
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jan 13, 2015
" Version: 6
" Last Change: Oct 23, 2014
" Version: 7
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SM
if exists("b:current_syntax")
+96
View File
@@ -0,0 +1,96 @@
" Vim syntax file
" Language: Motorola S-Record
" Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
" Last Change: 2015 Feb 24
" Each record (line) is built as follows:
"
" field digits states
"
" +----------+
" | start | 1 ('S') srecRecStart
" +----------+
" | type | 1 srecRecType, (srecRecTypeUnknown)
" +----------+
" | count | 2 srecByteCount
" +----------+
" | address | 4/6/8 srecNoAddress, srecDataAddress, srecRecCount, srecStartAddress, (srecAddressFieldUnknown)
" +----------+
" | data | 0..504/502/500 srecDataOdd, srecDataEven, (srecDataUnexpected)
" +----------+
" | checksum | 2 srecChecksum
" +----------+
"
" States in parentheses in the upper format description indicate that they
" should not appear in a valid file.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn match srecRecStart "^S"
syn match srecRecTypeUnknown "^S." contains=srecRecStart
syn match srecRecType "^S[0-35-9]" contains=srecRecStart
syn match srecByteCount "^S.[0-9a-fA-F]\{2}" contains=srecRecTypeUnknown nextgroup=srecAddressFieldUnknown,srecChecksum
syn match srecByteCount "^S[0-35-9][0-9a-fA-F]\{2}" contains=srecRecType
syn match srecAddressFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=srecAddressFieldUnknown,srecChecksum
syn match srecNoAddress "^S0[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
syn match srecDataAddress "^S1[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
syn match srecDataAddress "^S2[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
syn match srecDataAddress "^S3[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataOdd,srecChecksum
syn match srecRecCount "^S5[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
syn match srecRecCount "^S6[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
syn match srecStartAddress "^S7[0-9a-fA-F]\{10}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
syn match srecStartAddress "^S8[0-9a-fA-F]\{8}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
syn match srecStartAddress "^S9[0-9a-fA-F]\{6}" contains=srecByteCount nextgroup=srecDataUnexpected,srecChecksum
" alternating highlight per byte for easier reading
syn match srecDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=srecDataEven,srecChecksum
syn match srecDataEven "[0-9a-fA-F]\{2}" contained nextgroup=srecDataOdd,srecChecksum
" data bytes which should not exist
syn match srecDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=srecDataUnexpected,srecChecksum
" Data digit pair regex usage also results in only highlighting the checksum
" if the number of data characters is even.
syn match srecChecksum "[0-9a-fA-F]\{2}$" contained
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_srec_syntax_inits")
if version < 508
let did_srec_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default methods for highlighting. Can be overridden later
HiLink srecRecStart srecRecType
HiLink srecRecTypeUnknown srecRecType
HiLink srecRecType WarningMsg
HiLink srecByteCount Constant
hi def srecAddressFieldUnknown term=italic cterm=italic gui=italic
HiLink srecNoAddress DiffAdd
HiLink srecDataAddress Comment
HiLink srecRecCount srecNoAddress
HiLink srecStartAddress srecDataAddress
hi def srecDataOdd term=bold cterm=bold gui=bold
hi def srecDataEven term=NONE cterm=NONE gui=NONE
HiLink srecDataUnexpected Error
HiLink srecChecksum DiffChange
delcommand HiLink
endif
let b:current_syntax = "srec"
" vim: ts=8
+18 -11
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Nov 18, 2014
" Version: 83
" Last Change: Apr 02, 2015
" Version: 84
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
"
" Notes: {{{1
@@ -391,10 +391,17 @@ endif
" particular support for bold and italic {{{1
if s:tex_fast =~ 'b'
if s:tex_conceal =~ 'b'
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
if !exists("g:tex_nospell") || !g:tex_nospell
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texBoldGroup,@Spell
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texItalGroup,@Spell
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texItalGroup,@Spell
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texBoldGroup,@Spell
else
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texBoldGroup
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texItalGroup
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texItalGroup
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*\ze{" matchgroup=Delimiter end="}" concealends contains=@texBoldGroup
endif
endif
endif
@@ -576,14 +583,14 @@ else
syn match texComment "%.*$" contains=@texCommentGroup
if s:tex_fast =~ 'c'
syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" fold contains=@texFoldGroup,@NoSpell
syn region texSpellZone matchgroup=texComment start="%\s*spellzone_start" end="%\s*spellzone_end" fold contains=@Spell,@texFoldGroup
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" fold contains=@texFoldGroup,@NoSpell
syn region texSpellZone matchgroup=texComment start="%\s*spellzone_start" end="%\s*spellzone_end" fold contains=@Spell,@texFoldGroup
endif
else
syn match texComment "%.*$" contains=@texCommentGroup
syn match texComment "%.*$" contains=@texCommentGroup
if s:tex_fast =~ 'c'
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
syn region texSpellZone matchgroup=texComment start="%\s*spellzone_start" end="%\s*spellzone_end" contains=@Spell,@texFoldGroup
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
syn region texSpellZone matchgroup=texComment start="%\s*spellzone_start" end="%\s*spellzone_end" contains=@Spell,@texFoldGroup
endif
endif
endif
+10 -1
View File
@@ -1,13 +1,14 @@
" Vim syntax file
" Language: Innovation Data Processing upstream.dat file
" Maintainer: Rob Owens <rowens@fdrinnovation.com>
" Latest Revision: 2013-06-17
" Latest Revision: 2013-11-27
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Parameters:
syn keyword upstreamdat_Parameter ACCEPTPCREMOTE
syn keyword upstreamdat_Parameter ACCEPTREMOTE
syn keyword upstreamdat_Parameter ACTION
@@ -291,6 +292,14 @@ syn keyword upstreamdat_Parameter XFERECORDSIZE
syn keyword upstreamdat_Parameter XFERRECSEP
syn keyword upstreamdat_Parameter XFERRECUSECR
" File Specs:
syn match upstreamdat_Filespec /file spec\c \d\{1,3}.*/
" Comments:
syn match upstreamdat_Comment /^#.*/
hi def link upstreamdat_Parameter Type
"hi def link upstreamdat_Filespec Underlined
hi def link upstreamdat_Comment Comment
let b:current_syntax = "upstreamdat"
+310
View File
@@ -0,0 +1,310 @@
" Vim syntax file
" Language: Innovation Data Processing upstream.rpt file
" Maintainer: Rob Owens <rowens@fdrinnovation.com>
" Latest Revision: 2014-03-13
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
setlocal foldmethod=syntax
" Parameters:
syn keyword upstreamdat_Parameter ACCEPTPCREMOTE
syn keyword upstreamdat_Parameter ACCEPTREMOTE
syn keyword upstreamdat_Parameter ACTION
syn keyword upstreamdat_Parameter ACTIVATEONENTRY
syn keyword upstreamdat_Parameter ARCHIVEBIT
syn keyword upstreamdat_Parameter ARCHIVEBIT
syn keyword upstreamdat_Parameter ASCTOEBC
syn keyword upstreamdat_Parameter ASRBACKUP
syn keyword upstreamdat_Parameter ATTENDED
syn keyword upstreamdat_Parameter AUTHORITATIVE
syn keyword upstreamdat_Parameter AUTHORITATIVERESTORE
syn keyword upstreamdat_Parameter AUTHORITATIVERESTORE
syn keyword upstreamdat_Parameter BACKUPPROFILE
syn keyword upstreamdat_Parameter BACKUPPROFILE2
syn keyword upstreamdat_Parameter BACKUPREPARSEFILES
syn keyword upstreamdat_Parameter BACKUPREPARSEFILES
syn keyword upstreamdat_Parameter BACKUPVERIFY
syn keyword upstreamdat_Parameter BLANKTRUNC
syn keyword upstreamdat_Parameter CALCDASDSIZE
syn keyword upstreamdat_Parameter CHANGEDIRATTRIBS
syn keyword upstreamdat_Parameter CHANGEDIRATTRIBS
syn keyword upstreamdat_Parameter COMPRESSLEVEL
syn keyword upstreamdat_Parameter CONTROLFILE
syn keyword upstreamdat_Parameter DASDOVERRIDE
syn keyword upstreamdat_Parameter DATELIMIT
syn keyword upstreamdat_Parameter DATELIMIT
syn keyword upstreamdat_Parameter DAYSOLD
syn keyword upstreamdat_Parameter DAYSOLD
syn keyword upstreamdat_Parameter DELETED
syn keyword upstreamdat_Parameter DELETED
syn keyword upstreamdat_Parameter DELETEPROMPTS
syn keyword upstreamdat_Parameter DELETEPROMPTS
syn keyword upstreamdat_Parameter DESTINATION
syn keyword upstreamdat_Parameter DESTINATION
syn keyword upstreamdat_Parameter DIRDELETE
syn keyword upstreamdat_Parameter DIRECTORVMC
syn keyword upstreamdat_Parameter DIRONLYRESTOREOK
syn keyword upstreamdat_Parameter DIRSONLY
syn keyword upstreamdat_Parameter DIRSONLY
syn keyword upstreamdat_Parameter DISASTERRECOVERY
syn keyword upstreamdat_Parameter DISPLAY
syn keyword upstreamdat_Parameter DRIVEALIAS
syn keyword upstreamdat_Parameter DRIVEALIAS
syn keyword upstreamdat_Parameter DUALCOPY
syn keyword upstreamdat_Parameter DUPDAYS
syn keyword upstreamdat_Parameter DUPLICATE
syn keyword upstreamdat_Parameter EBCTOASC
syn keyword upstreamdat_Parameter ENCRYPT
syn keyword upstreamdat_Parameter ENCRYPTLEVEL
syn keyword upstreamdat_Parameter EXCLUDELISTNAME
syn keyword upstreamdat_Parameter FAILBACKUPONERROR
syn keyword upstreamdat_Parameter FAILBACKUPONERROR
syn keyword upstreamdat_Parameter FAILIFNOFILES
syn keyword upstreamdat_Parameter FAILIFNOFILES
syn keyword upstreamdat_Parameter FAILIFSKIP
syn keyword upstreamdat_Parameter FAILJOB
syn keyword upstreamdat_Parameter FAILRESTOREONERROR
syn keyword upstreamdat_Parameter FAILRESTOREONERROR
syn keyword upstreamdat_Parameter FILEDATE
syn keyword upstreamdat_Parameter FILEDATE
syn keyword upstreamdat_Parameter FILEDELETE
syn keyword upstreamdat_Parameter FILEDELETE
syn keyword upstreamdat_Parameter FILES
syn keyword upstreamdat_Parameter FILES
syn keyword upstreamdat_Parameter FILESOPENFORUPDAT
syn keyword upstreamdat_Parameter FILESOPENFORUPDAT
syn keyword upstreamdat_Parameter FILETRANSFER
syn keyword upstreamdat_Parameter GETREMOTEFILES
syn keyword upstreamdat_Parameter HARDLINKDB
syn keyword upstreamdat_Parameter HARDLINKS
syn keyword upstreamdat_Parameter HARDLINKS
syn keyword upstreamdat_Parameter HIDDENFILES
syn keyword upstreamdat_Parameter HIDDENFILES
syn keyword upstreamdat_Parameter HOLDTAPE
syn keyword upstreamdat_Parameter HOLDUSERDIRS
syn keyword upstreamdat_Parameter HOSTFILENAME
syn keyword upstreamdat_Parameter HOSTRECORD
syn keyword upstreamdat_Parameter HOSTSORT
syn keyword upstreamdat_Parameter IGNOREPLUGINSFORRESTORE
syn keyword upstreamdat_Parameter INCRDB
syn keyword upstreamdat_Parameter INCRDBARCHIVEBIT
syn keyword upstreamdat_Parameter INCRDBDELETEDFILES
syn keyword upstreamdat_Parameter INCREMENTAL
syn keyword upstreamdat_Parameter INCREMENTAL
syn keyword upstreamdat_Parameter INQOPTIONS
syn keyword upstreamdat_Parameter INSTALLWIN2KAGENT
syn keyword upstreamdat_Parameter INSTALLWIN2KAGENT
syn keyword upstreamdat_Parameter JOBOPTIONS
syn keyword upstreamdat_Parameter JOBRETURNCODEMAP
syn keyword upstreamdat_Parameter JOBWAITTIMELIMIT
syn keyword upstreamdat_Parameter KEEPALIVE
syn keyword upstreamdat_Parameter LANINTERFACE
syn keyword upstreamdat_Parameter LANWSNAME
syn keyword upstreamdat_Parameter LANWSPASSWORD
syn keyword upstreamdat_Parameter LASTACCESS
syn keyword upstreamdat_Parameter LASTACCESS
syn keyword upstreamdat_Parameter LATESTDATE
syn keyword upstreamdat_Parameter LATESTDATE
syn keyword upstreamdat_Parameter LATESTTIME
syn keyword upstreamdat_Parameter LATESTTIME
syn keyword upstreamdat_Parameter LATESTVERSION
syn keyword upstreamdat_Parameter LINEBLOCK
syn keyword upstreamdat_Parameter LINETRUNC
syn keyword upstreamdat_Parameter LISTENFORREMOTE
syn keyword upstreamdat_Parameter LOCALBACKUP
syn keyword upstreamdat_Parameter LOCALBACKUPDIR
syn keyword upstreamdat_Parameter LOCALBACKUPMAX
syn keyword upstreamdat_Parameter LOCALBACKUPMAXFILESIZE
syn keyword upstreamdat_Parameter LOCALBACKUPMAXSIZE
syn keyword upstreamdat_Parameter LOCALEXCLUDEFILE
syn keyword upstreamdat_Parameter LOCALPARAMETERS
syn keyword upstreamdat_Parameter LOCALPASSWORD
syn keyword upstreamdat_Parameter LOCALRESTORE
syn keyword upstreamdat_Parameter LOCALUSER
syn keyword upstreamdat_Parameter LOFS
syn keyword upstreamdat_Parameter LOGNONFATAL
syn keyword upstreamdat_Parameter MAXBACKUPFILESFAIL
syn keyword upstreamdat_Parameter MAXBACKUPTIME
syn keyword upstreamdat_Parameter MAXDUPS
syn keyword upstreamdat_Parameter MAXFILENAMESIZE
syn keyword upstreamdat_Parameter MAXKFILESIZE
syn keyword upstreamdat_Parameter MAXLOGDAYS
syn keyword upstreamdat_Parameter MAXRESTOREFILESFAIL
syn keyword upstreamdat_Parameter MAXRESTORETIME
syn keyword upstreamdat_Parameter MAXRETRY
syn keyword upstreamdat_Parameter MAXRPTDAYS
syn keyword upstreamdat_Parameter MERGE
syn keyword upstreamdat_Parameter MIGRBITS
syn keyword upstreamdat_Parameter MIGRBITS
syn keyword upstreamdat_Parameter MINCOMPRESSSIZE
syn keyword upstreamdat_Parameter MINIMIZE
syn keyword upstreamdat_Parameter MODIFYFILE
syn keyword upstreamdat_Parameter MOUNTPOINTS
syn keyword upstreamdat_Parameter MOUNTPOINTS
syn keyword upstreamdat_Parameter NDS
syn keyword upstreamdat_Parameter NDS
syn keyword upstreamdat_Parameter NEWFILECOMPARE
syn keyword upstreamdat_Parameter NFSBELOW
syn keyword upstreamdat_Parameter NODATAOK
syn keyword upstreamdat_Parameter NODIRFORINCREMENTAL
syn keyword upstreamdat_Parameter NODIRFORINCREMENTAL
syn keyword upstreamdat_Parameter NONFILEDATABITMAP
syn keyword upstreamdat_Parameter NONFILEDATABITMAP
syn keyword upstreamdat_Parameter NOPOINTRESTORE
syn keyword upstreamdat_Parameter NOSPECINHERITANCE
syn keyword upstreamdat_Parameter NOTIFYEVENTS
syn keyword upstreamdat_Parameter NOTIFYFAILUREATTACHMENT
syn keyword upstreamdat_Parameter NOTIFYSUCCESSATTACHMENT
syn keyword upstreamdat_Parameter NOTIFYTARGETS
syn keyword upstreamdat_Parameter NOUIDGIDNAMES
syn keyword upstreamdat_Parameter NOUIDGIDNAMES
syn keyword upstreamdat_Parameter NOVELLMIGRATE
syn keyword upstreamdat_Parameter NOVELLMIGRATE
syn keyword upstreamdat_Parameter NOVELLMIGRATEADDEXT
syn keyword upstreamdat_Parameter NOVELLMIGRATEADDEXT
syn keyword upstreamdat_Parameter NOVELLPROFILE
syn keyword upstreamdat_Parameter NOVELLRECALL
syn keyword upstreamdat_Parameter NTFSADDPERMISSION
syn keyword upstreamdat_Parameter NTFSADDPERMISSION
syn keyword upstreamdat_Parameter NTREGRESTORE
syn keyword upstreamdat_Parameter OSTYPE
syn keyword upstreamdat_Parameter OUTPORT
syn keyword upstreamdat_Parameter PACKFLUSHAFTERFILE
syn keyword upstreamdat_Parameter PACKRECSIZE
syn keyword upstreamdat_Parameter PARAMETER
syn keyword upstreamdat_Parameter PASSWORD
syn keyword upstreamdat_Parameter PATHNAME
syn keyword upstreamdat_Parameter PATHNAME
syn keyword upstreamdat_Parameter PERFORMBITMAP
syn keyword upstreamdat_Parameter PERFORMNUMRECORDS
syn keyword upstreamdat_Parameter PERFORMRECORDSIZE
syn keyword upstreamdat_Parameter PLUGIN
syn keyword upstreamdat_Parameter PLUGIN
syn keyword upstreamdat_Parameter PLUGINPARAMETERS
syn keyword upstreamdat_Parameter PLUGINPARAMETERS
syn keyword upstreamdat_Parameter POSTJOB
syn keyword upstreamdat_Parameter PREJOB
syn keyword upstreamdat_Parameter PRTYCLASS
syn keyword upstreamdat_Parameter PRTYLEVEL
syn keyword upstreamdat_Parameter RECALLCLEANUP
syn keyword upstreamdat_Parameter RECALLOFFLINEFILES
syn keyword upstreamdat_Parameter RECALLOFFLINEFILES
syn keyword upstreamdat_Parameter RECORDSIZE
syn keyword upstreamdat_Parameter REMOTEADDR
syn keyword upstreamdat_Parameter REMOTEAPPLPREF
syn keyword upstreamdat_Parameter REMOTEAPPLRETRY
syn keyword upstreamdat_Parameter REMOTECONNECTTYPE
syn keyword upstreamdat_Parameter REMOTEFLAGS
syn keyword upstreamdat_Parameter REMOTEIPADAPTER
syn keyword upstreamdat_Parameter REMOTELOCALPARAMETERS
syn keyword upstreamdat_Parameter REMOTELOGMODE
syn keyword upstreamdat_Parameter REMOTELUNAME
syn keyword upstreamdat_Parameter REMOTEMAXRETRIES
syn keyword upstreamdat_Parameter REMOTEMODENAME
syn keyword upstreamdat_Parameter REMOTEPARAMETERFILE
syn keyword upstreamdat_Parameter REMOTEPORT
syn keyword upstreamdat_Parameter REMOTEREQUEST
syn keyword upstreamdat_Parameter REMOTERESTART
syn keyword upstreamdat_Parameter REMOTEROUTE
syn keyword upstreamdat_Parameter REMOTETARGETNAME
syn keyword upstreamdat_Parameter REMOTETCP
syn keyword upstreamdat_Parameter REMOTETIMEOUT
syn keyword upstreamdat_Parameter REMOTETMAXRETRY
syn keyword upstreamdat_Parameter REMOTETPN
syn keyword upstreamdat_Parameter REMOTEUSAPPL
syn keyword upstreamdat_Parameter REMOTEVERIFY
syn keyword upstreamdat_Parameter REMOTEWTOCOMP
syn keyword upstreamdat_Parameter REPORTNAME
syn keyword upstreamdat_Parameter REPORTOPTIONS
syn keyword upstreamdat_Parameter RESTARTLASTFILE
syn keyword upstreamdat_Parameter RESTART
syn keyword upstreamdat_Parameter RESTARTTYPE
syn keyword upstreamdat_Parameter RESTARTVERSIONDATE
syn keyword upstreamdat_Parameter RESTOREARCHIVEBIT
syn keyword upstreamdat_Parameter RESTORECHECKPOINT
syn keyword upstreamdat_Parameter RESTOREDATELIMIT
syn keyword upstreamdat_Parameter RESTOREDATELIMIT
syn keyword upstreamdat_Parameter RESTOREFILEFAIL
syn keyword upstreamdat_Parameter RESTOREMOUNTPOINTS
syn keyword upstreamdat_Parameter RESTOREMOUNTPOINTS
syn keyword upstreamdat_Parameter RESTORESEGMENTS
syn keyword upstreamdat_Parameter RESTORESEGMENTS
syn keyword upstreamdat_Parameter RESTORETODIFFFS
syn keyword upstreamdat_Parameter RETAIN
syn keyword upstreamdat_Parameter RETAIN
syn keyword upstreamdat_Parameter ROOTENTRY
syn keyword upstreamdat_Parameter ROOTENTRY
syn keyword upstreamdat_Parameter SAN
syn keyword upstreamdat_Parameter SCHEDULENAME
syn keyword upstreamdat_Parameter SEGMENTEDFILESIZE
syn keyword upstreamdat_Parameter SEGMENTEDFILESIZE
syn keyword upstreamdat_Parameter SEGMENTSIZE
syn keyword upstreamdat_Parameter SEGMENTSIZE
syn keyword upstreamdat_Parameter SENDHOSTDETAILS
syn keyword upstreamdat_Parameter SINGLEFS
syn keyword upstreamdat_Parameter SIZETRC
syn keyword upstreamdat_Parameter SKIP
syn keyword upstreamdat_Parameter SKIPBACKUPSCAN
syn keyword upstreamdat_Parameter SKIPOLD
syn keyword upstreamdat_Parameter SKIPOLD
syn keyword upstreamdat_Parameter SMSTARGETSERVICENAME
syn keyword upstreamdat_Parameter SMSTSA
syn keyword upstreamdat_Parameter SOLO
syn keyword upstreamdat_Parameter SORTBACKUP
syn keyword upstreamdat_Parameter SOSDISK
syn keyword upstreamdat_Parameter SOSDISK
syn keyword upstreamdat_Parameter SOSTIMESTAMP
syn keyword upstreamdat_Parameter SOSTIMESTAMP
syn keyword upstreamdat_Parameter SOSTIMESTAMPPATH
syn keyword upstreamdat_Parameter SOSTIMESTAMPPATH
syn keyword upstreamdat_Parameter SPECNUMBER
syn keyword upstreamdat_Parameter SPECNUMBER
syn keyword upstreamdat_Parameter SPECTYPE
syn keyword upstreamdat_Parameter SPECTYPE
syn keyword upstreamdat_Parameter STARTTIME
syn keyword upstreamdat_Parameter STORAGETYPE
syn keyword upstreamdat_Parameter SUBDIRECTORIES
syn keyword upstreamdat_Parameter SUBDIRECTORIES
syn keyword upstreamdat_Parameter SWITCHTOTAPEMB
syn keyword upstreamdat_Parameter TCPADDRESS
syn keyword upstreamdat_Parameter TCPTIMEOUT
syn keyword upstreamdat_Parameter TIMEOVERRIDE
syn keyword upstreamdat_Parameter TRACE
syn keyword upstreamdat_Parameter TRANSLATE
syn keyword upstreamdat_Parameter ULTRACOMP
syn keyword upstreamdat_Parameter ULTREG
syn keyword upstreamdat_Parameter ULTUPD
syn keyword upstreamdat_Parameter UNCMACHINEALIAS
syn keyword upstreamdat_Parameter UNCMACHINEALIAS
syn keyword upstreamdat_Parameter USEALEBRA
syn keyword upstreamdat_Parameter USECONTROLFILE
syn keyword upstreamdat_Parameter USEGID
syn keyword upstreamdat_Parameter USERID
syn keyword upstreamdat_Parameter USEUID
syn keyword upstreamdat_Parameter USNOUIDGIDERRORS
syn keyword upstreamdat_Parameter UTF8
syn keyword upstreamdat_Parameter VAULTNUMBER
syn keyword upstreamdat_Parameter VERSIONDATE
syn keyword upstreamdat_Parameter WRITESPARSE
syn keyword upstreamdat_Parameter XFERECORDSIZE
syn keyword upstreamdat_Parameter XFERRECSEP
syn keyword upstreamdat_Parameter XFERRECUSECR
" File Specs:
syn match upstreamdat_Filespec /file spec\c \d\{1,3}.*/
" Comments:
syn match upstreamdat_Comment /^#.*/
" List Of Parameters:
syn region upstreamdat_Parms start="Current Parameters:" end="End Of Parameters" transparent fold
hi def link upstreamdat_Parameter Type
"hi def link upstreamdat_Filespec Underlined
hi def link upstreamdat_Comment Comment
let b:current_syntax = "upstreamdat"
+7 -3
View File
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Innovation Data Processing USW2KAgt.log file
" Maintainer: Rob Owens <rowens@fdrinnovation.com>
" Latest Revision: 2013-09-19
" Latest Revision: 2014-04-01
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -17,8 +17,12 @@ syn match usw2kagtlog_MsgI /Msg #\(Agt\|PC\|Srv\)\d\{4,5}I/ nextgroup=usw2kagtlo
syn match usw2kagtlog_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usw2kagtlog_Process skipwhite
" Processes:
syn region usw2kagtlog_Process start="(" end=")" contained
syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
"syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
"syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
"syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client\s\{0,1}\r\{0,1}\s\{1,9}request"
"syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client\s\{0,1}\r\{0,1}\s\{1,9}request"
syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client"
syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client"
" IP Address:
syn match usw2kagtlog_IPaddr / \d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
" Profile:
+153 -142
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.4 script
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jan 13, 2015
" Version: 7.4-28
" Last Change: Apr 02, 2015
" Version: 7.4-33
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -18,42 +18,38 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2
syn keyword vimCommand contained a arga[dd] ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] lefta[bove] lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redr[aw] retu[rn] rub[y] rv[iminfo] sba[ll] sbN[ext] scripte[ncoding] setf[iletype] sh[ell] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu
syn keyword vimCommand contained ab argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lex[pr] lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] redraws[tatus] rew[ind] rubyd[o] sal[l] sbf[irst] sbp[revious] scrip[tnames] setg[lobal] si sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xunme
syn keyword vimCommand contained abc[lear] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red reg[isters] ri[ght] rubyf[ile] san[dbox] sbl[ast] sbr[ewind] scs setl[ocal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunmenu
syn keyword vimCommand contained abo[veleft] arge[dit] au bl[ast] brea[k] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] res[ize] rightb[elow] rundo sa[rgument] sbm[odified] sb[uffer] scscope sf[ind] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xwininfo
syn keyword vimCommand contained al[l] argg[lobal] bad[d] bm[odified] breaka[dd] buf c cal[l] ce[nter] cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] ret[ab] ru ru[ntime] sav[eas] sbn[ext] scrip se[t] sfir[st] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme y[ank]
syn keyword vimCommand contained ar argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] le[ft] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new noswap[file] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re
syn keyword vimCommand contained a arga[dd] argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cb[uffer] cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] lefta[bove] lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nore on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rub[y] rv[iminfo] sba[ll] sbN[ext] scripte[ncoding] setf[iletype] sh[ell] sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xprop
syn keyword vimCommand contained ab argd ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad[dbuffer] cc cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lex[pr] lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] nos[wapfile] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyd[o] sal[l] sbf[irst] sbp[revious] scr[iptnames] setg[lobal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunme
syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers cadde[xpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rubyf[ile] san[dbox] sbl[ast] sbr[ewind] scs setl[ocal] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xunmenu
syn keyword vimCommand contained abo[veleft] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] caddf[ile] cd cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] rundo sa[rgument] sbm[odified] sb[uffer] scscope sf[ind] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme xwininfo
syn keyword vimCommand contained al[l] arge[dit] au bl[ast] brea[k] bu bw[ipeout] cal[l] ce[nter] cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru ru[ntime] sav[eas] sbn[ext] scr se[t] sfir[st] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu y[ank]
syn keyword vimCommand contained ar argg[lobal] bad[d] bm[odified] breaka[dd] buf c cat[ch] cex[pr] c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] le[ft] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new nor omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab]
syn match vimCommand contained "\<z[-+^.=]\=\>"
syn keyword vimCommand contained maca[ction] macm[enu]
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
" vimOptions are caught only when contained in a vimSet {{{2
syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape remap rightleftcmd rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
syn keyword vimOption contained ai ambw ari aw backupext beval biosk breakindent bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt renderoptions rl ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey breakindentopt bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re report rlc ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bri bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly restorescreen rnu ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc briopt bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime revins ro rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine ri rop runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe relativenumber rightleft rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell
syn keyword vimOption contained fullscreen fu fuoptions fuopt macmeta mmta transparency transp
syn keyword vimOption contained acd ambw ari aw backupext beval biosk breakindent bsdir cb cfu cinkeys cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape remap rightleftcmd rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
syn keyword vimOption contained ai anti arshape awa backupskip bex bioskey breakindentopt bsk cc ch cino cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt renderoptions rl ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
syn keyword vimOption contained akm antialias autochdir background balloondelay bexpr bk bri bt ccv charconvert cinoptions cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re report rlc ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
syn keyword vimOption contained al ar autoindent backspace ballooneval bg bkc briopt bufhidden cd ci cinw cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly restorescreen rnu ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
syn keyword vimOption contained aleph arab autoread backup balloonexpr bh bl brk buflisted cdpath cin cinwords co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime revins ro rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
syn keyword vimOption contained allowrevins arabic autowrite backupcopy bdir bin bomb browsedir buftype cedit cindent clipboard cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine ri rop runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
syn keyword vimOption contained altkeymap arabicshape autowriteall backupdir bdlay binary breakat bs casemap cf cink cm cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe relativenumber rightleft rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
syn keyword vimOption contained ambiwidth
" vimOptions: These are the turn-off setting variants {{{2
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofk nogd nohid nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofkmap nogdefault nohidden nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofoldenable noguipty nohk
syn keyword vimOption contained nofullscreen nofu nomacmeta nommta
" vimOptions: These are the invertible variants {{{2
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfk invgd invhid invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfkmap invgdefault invhidden invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfoldenable invguipty invhk
syn keyword vimOption contained invfullscreen invfu invmacmeta invmmta
" termcap codes (which can also be set) {{{2
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS
syn match vimOption contained "t_%1"
syn match vimOption contained "t_#2"
syn match vimOption contained "t_#4"
@@ -79,9 +75,9 @@ syn match vimHLGroup contained "Conceal"
syn case match
" Function Names {{{2
syn keyword vimFuncName contained abs and argidx asin browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcmdpos setmatches setreg setwinvar shiftwidth sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview writefile
syn keyword vimFuncName contained acos append arglistid atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setline setpos settabvar sha256 simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth xor
syn keyword vimFuncName contained add argc argv atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setloclist setqflist settabwinvar shellescape
syn keyword vimFuncName contained abs and argidx asin browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setline setpos settabvar sha256 simplify sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview writefile
syn keyword vimFuncName contained acos append arglistid atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setloclist setqflist settabwinvar shellescape sin soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth xor
syn keyword vimFuncName contained add argc argv atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcmdpos setmatches setreg setwinvar shiftwidth sinh
"--- syntax here and above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1
@@ -110,9 +106,9 @@ syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}"
" All vimCommands are contained by vimIsCommands. {{{2
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimIsCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
syn match vimIsCommand "\<\h\w*\>" contains=vimCommand
syn match vimVar "\<[bwglsav]:\K\k*\>"
syn match vimVar contained "\<\K\k*\>"
syn match vimFBVar contained "\<[bwglsav]:\K\k*\>"
syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
syn match vimVar "\<[bwglsav]:\h[a-zA-Z0-9#_]*\>"
syn match vimFBVar contained "\<[bwglsav]:\h[a-zA-Z0-9#_]*\>"
syn keyword vimCommand contained in
" Insertions And Appends: insert append {{{2
@@ -146,19 +142,19 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
else
syn region vimAugroup matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
endif
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
endif
"syn keyword vimAugroupKey contained aug[roup]
syn keyword vimAugroupKey contained aug[roup]
" Operators: {{{2
" =========
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
syn region vimOperParen oneline matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
syn region vimOperParen oneline matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
syn region vimOperParen matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
syn match vimOperError ")"
endif
@@ -170,9 +166,9 @@ syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,
syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
syn region vimFuncBody contained fold start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
syn region vimFuncBody contained fold start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
else
syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
syn region vimFuncBody contained start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
endif
syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
syn match vimFuncSID contained "\c<sid>\|\<s:"
@@ -195,14 +191,16 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" =======================
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn keyword vimUserCommand contained com[mand]
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList
syn match vimUserAttrbError contained "-\a\+\ze\s"
syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
syn match vimUserCmdError contained "\S\+\>"
endif
@@ -276,7 +274,7 @@ syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumbe
syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
syn match vimPlainMark contained "'[a-zA-Z0-9]"
syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
syn match vimRegister '[^,;[{: \t]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
syn match vimRegister '@"'
@@ -296,7 +294,7 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
syn match vimSetSep contained "[,:]"
syn match vimSetSep contained "[,:]" skipwhite nextgroup=vimCommand
syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
" Let {{{2
@@ -335,7 +333,7 @@ syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|nowait\|plu
syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
syn case ignore
syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
syn keyword vimMapModKey contained buffer expr leader localleader nowait plug script sid silent unique
syn case match
" Menus {{{2
@@ -353,7 +351,7 @@ syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
" ======================
syn case ignore
syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\(page\)\=\(\|down\|up\|k[0-9]\)\)>" contains=vimBracket
syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\(page\)\=\(\|down\|up\|k\d\>\)\)>" contains=vimBracket
syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
@@ -434,7 +432,7 @@ syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
if has("conceal")
syn match vimSynMtchOpt contained "\<cchar=" nextgroup=VimSynMtchCchar
syn match vimSynMtchOpt contained "\<cchar=" nextgroup=vimSynMtchCchar
syn match vimSynMtchCchar contained "\S"
endif
syn cluster vimFuncBodyList add=vimSynMtchGroup
@@ -515,17 +513,18 @@ endif
syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimNumber,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
syn match vimHiTermcap contained "\S\+" contains=vimNotation
syn match vimHiNmbr contained '\d\+'
" Highlight: clear {{{2
syn keyword vimHiClear contained clear nextgroup=vimHiGroup
" Highlight: link {{{2
syn region vimHiLink contained oneline matchgroup=vimCommand start="\<\(def\%[ault]\s\+\)\=link\>\|\<def\>" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
syn cluster vimFuncBodyList add=vimHiLink
" Control Characters {{{2
@@ -554,27 +553,43 @@ syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' e
" Allows users to specify the type of embedded script highlighting
" they want: (perl/python/ruby/tcl support)
" g:vimsyn_embed == 0 : don't embed any scripts
" g:vimsyn_embed ~= 'l' : embed lua (but only if vim supports it)
" g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
" g:vimsyn_embed ~= 'p' : embed perl (but only if vim supports it)
" g:vimsyn_embed ~= 'P' : embed python (but only if vim supports it)
" g:vimsyn_embed ~= 'r' : embed ruby (but only if vim supports it)
" g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it)
" g:vimsyn_embed =~ 'l' : embed lua (but only if vim supports it)
" g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
" g:vimsyn_embed =~ 'p' : embed perl (but only if vim supports it)
" g:vimsyn_embed =~ 'P' : embed python (but only if vim supports it)
" g:vimsyn_embed =~ 'r' : embed ruby (but only if vim supports it)
" g:vimsyn_embed =~ 't' : embed tcl (but only if vim supports it)
if has("win32") || has("win95") || has("win64") || has("win16")
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
else
let s:trytcl= 1
endif
if !exists("g:vimsyn_embed")
let g:vimsyn_embed= "lmpPr"
" for default g:vimsyn_embed, determine what to allow based on whether this vim supports it
let g:vimsyn_embed= ""
if has("lua") |let g:vimsyn_embed= g:vimsyn_embed."l"|endif
if has("mzscheme") |let g:vimsyn_embed= g:vimsyn_embed."m"|endif
if has("perl") |let g:vimsyn_embed= g:vimsyn_embed."p"|endif
if has("python") |let g:vimsyn_embed= g:vimsyn_embed."P"
elseif has("python3")|let g:vimsyn_embed= g:vimsyn_embed."P"|endif
if has("ruby") |let g:vimsyn_embed= g:vimsyn_embed."r"|endif
if s:trytcl
if has("tcl") |let g:vimsyn_embed= g:vimsyn_embed."t"|endif
endif
endif
" [-- lua --] {{{3
let s:luapath= fnameescape(expand("<sfile>:p:h")."/lua.vim")
if !filereadable(s:luapath)
for s:luapath in split(globpath(&rtp,"syntax/lua.vim"),"\n")
if filereadable(fnameescape(s:luapath))
let s:luapath= fnameescape(s:luapath)
for luapath in split(globpath(&rtp,"syntax/lua.vim"),"\n")
if filereadable(luapath)
let s:luapath= fnameescape(luapath)
break
endif
endfor
endif
if (g:vimsyn_embed =~ 'l' && has("lua")) && filereadable(s:luapath)
if g:vimsyn_embed =~ 'l' && has("lua") && filereadable(s:luapath)
unlet! b:current_syntax
exe "syn include @vimLuaScript ".s:luapath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
@@ -594,14 +609,14 @@ unlet s:luapath
" [-- perl --] {{{3
let s:perlpath= fnameescape(expand("<sfile>:p:h")."/perl.vim")
if !filereadable(s:perlpath)
for s:perlpath in split(globpath(&rtp,"syntax/perl.vim"),"\n")
if filereadable(fnameescape(s:perlpath))
let s:perlpath= fnameescape(s:perlpath)
for perlpath in split(globpath(&rtp,"syntax/perl.vim"),"\n")
if filereadable(fnameescape(perlpath))
let s:perlpath= fnameescape(perlpath)
break
endif
endfor
endif
if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
if g:vimsyn_embed =~ 'p' && has("perl") && filereadable(s:perlpath)
unlet! b:current_syntax
exe "syn include @vimPerlScript ".s:perlpath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
@@ -621,14 +636,14 @@ unlet s:perlpath
" [-- ruby --] {{{3
let s:rubypath= fnameescape(expand("<sfile>:p:h")."/ruby.vim")
if !filereadable(s:rubypath)
for s:rubypath in split(globpath(&rtp,"syntax/ruby.vim"),"\n")
if filereadable(fnameescape(s:rubypath))
let s:rubypath= fnameescape(s:rubypath)
for rubypath in split(globpath(&rtp,"syntax/ruby.vim"),"\n")
if filereadable(fnameescape(rubypath))
let s:rubypath= fnameescape(rubypath)
break
endif
endfor
endif
if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
if g:vimsyn_embed =~ 'r' && has("ruby") && filereadable(s:rubypath)
unlet! b:current_syntax
exe "syn include @vimRubyScript ".s:rubypath
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
@@ -647,9 +662,9 @@ unlet s:rubypath
" [-- python --] {{{3
let s:pythonpath= fnameescape(expand("<sfile>:p:h")."/python.vim")
if !filereadable(s:pythonpath)
for s:pythonpath in split(globpath(&rtp,"syntax/python.vim"),"\n")
if filereadable(fnameescape(s:pythonpath))
let s:pythonpath= fnameescape(s:pythonpath)
for pythonpath in split(globpath(&rtp,"syntax/python.vim"),"\n")
if filereadable(fnameescape(pythonpath))
let s:pythonpath= fnameescape(pythonpath)
break
endif
endfor
@@ -678,18 +693,12 @@ endif
unlet s:pythonpath
" [-- tcl --] {{{3
if has("win32") || has("win95") || has("win64") || has("win16")
" apparently has("tcl") has been hanging vim on some windows systems with cygwin
let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
else
let s:trytcl= 1
endif
if s:trytcl
let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
if !filereadable(s:tclpath)
for s:tclpath in split(globpath(&rtp,"syntax/tcl.vim"),"\n")
if filereadable(fnameescape(s:tclpath))
let s:tclpath= fnameescape(s:tclpath)
for tclpath in split(globpath(&rtp,"syntax/tcl.vim"),"\n")
if filereadable(fnameescape(tclpath))
let s:tclpath= fnameescape(tclpath)
break
endif
endfor
@@ -719,9 +728,9 @@ unlet s:trytcl
" [-- mzscheme --] {{{3
let s:mzschemepath= fnameescape(expand("<sfile>:p:h")."/scheme.vim")
if !filereadable(s:mzschemepath)
for s:mzschemepath in split(globpath(&rtp,"syntax/mzscheme.vim"),"\n")
if filereadable(fnameescape(s:mzschemepath))
let s:mzschemepath= fnameescape(s:mzschemepath)
for mzschemepath in split(globpath(&rtp,"syntax/mzscheme.vim"),"\n")
if filereadable(fnameescape(mzschemepath))
let s:mzschemepath= fnameescape(mzschemepath)
break
endif
endfor
@@ -762,9 +771,6 @@ syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
" Highlighting Settings {{{2
" ====================
hi def link vimSubst1 vimSubst
hi def link vimBehaveModel vimBehave
if !exists("g:vimsyn_noerror")
hi def link vimBehaveError vimError
hi def link vimCollClassErr vimError
@@ -786,22 +792,43 @@ endif
hi def link vimAbb vimCommand
hi def link vimAddress vimMark
hi def link vimAugroupKey vimCommand
hi def link vimAuHighlight vimHighlight
hi def link vimAutoCmdOpt vimOption
hi def link vimAutoCmd vimCommand
hi def link vimAutoEvent Type
hi def link vimAutoSet vimCommand
hi def link vimBehaveModel vimBehave
hi def link vimBehave vimCommand
hi def link vimBracket Delimiter
hi def link vimCmplxRepeat SpecialChar
hi def link vimCommand Statement
hi def link vimComment Comment
hi def link vimCommentString vimString
hi def link vimCommentTitle PreProc
hi def link vimCondHL vimCommand
hi def link vimContinue Special
hi def link vimCtrlChar SpecialChar
hi def link vimEchoHLNone vimGroup
hi def link vimEchoHL vimCommand
hi def link vimElseIfErr Error
hi def link vimElseif vimCondHL
hi def link vimEnvvar PreProc
hi def link vimError Error
hi def link vimFBVar vimVar
hi def link vimFgBgAttrib vimHiAttrib
hi def link vimFold Folded
hi def link vimFTCmd vimCommand
hi def link vimFTOption vimSynType
hi def link vimFuncKey vimCommand
hi def link vimFuncName Function
hi def link vimFuncSID Special
hi def link vimFuncVar Identifier
hi def link vimGroupAdd vimSynOption
hi def link vimGroupName vimGroup
hi def link vimGroupRem vimSynOption
hi def link vimGroupSpecial Special
hi def link vimGroup Type
hi def link vimHiAttrib PreProc
hi def link vimHiClear vimHighlight
hi def link vimHiCtermFgBg vimHiTerm
hi def link vimHiCTerm vimHiTerm
@@ -811,111 +838,95 @@ hi def link vimHiGuiFgBg vimHiTerm
hi def link vimHiGuiFont vimHiTerm
hi def link vimHiGuiRgb vimNumber
hi def link vimHiGui vimHiTerm
hi def link vimHiNmbr Number
hi def link vimHiStartStop vimHiTerm
hi def link vimHiTerm Type
hi def link vimHLGroup vimGroup
hi def link vimHLMod PreProc
hi def link vimInsert vimString
hi def link vimKeyCode vimSpecFile
hi def link vimKeyword Statement
hi def link vimLet vimCommand
hi def link vimLineComment vimComment
hi def link vimMapBang vimCommand
hi def link vimMapModKey vimFuncSID
hi def link vimMapMod vimBracket
hi def link vimMap vimCommand
hi def link vimMark Number
hi def link vimMarkNumber vimNumber
hi def link vimMenuMod vimMapMod
hi def link vimMenuNameMore vimMenuName
hi def link vimMenuName PreProc
hi def link vimMtchComment vimComment
hi def link vimNorm vimCommand
hi def link vimNotation Special
hi def link vimNotFunc vimCommand
hi def link vimNotPatSep vimString
hi def link vimNumber Number
hi def link vimOperError Error
hi def link vimOper Operator
hi def link vimOption PreProc
hi def link vimParenSep Delimiter
hi def link vimPatSepErr vimPatSep
hi def link vimPatSepR vimPatSep
hi def link vimPatSep SpecialChar
hi def link vimPatSepZone vimString
hi def link vimPatSepZ vimPatSep
hi def link vimPattern Type
hi def link vimPlainMark vimMark
hi def link vimPlainRegister vimRegister
hi def link vimRegister SpecialChar
hi def link vimScriptDelim Comment
hi def link vimSearchDelim Statement
hi def link vimSearch vimString
hi def link vimSep Delimiter
hi def link vimSetMod vimOption
hi def link vimSetSep Statement
hi def link vimSetString vimString
hi def link vimSpecFile Identifier
hi def link vimSpecFileMod vimSpecFile
hi def link vimSpecial Type
hi def link vimStatement Statement
hi def link vimStringCont vimString
hi def link vimString String
hi def link vimSubst1 vimSubst
hi def link vimSubstDelim Delimiter
hi def link vimSubstFlags Special
hi def link vimSubstSubstr SpecialChar
hi def link vimSubstTwoBS vimString
hi def link vimSubst vimCommand
hi def link vimSynCaseError Error
hi def link vimSynCase Type
hi def link vimSyncC Type
hi def link vimSyncError Error
hi def link vimSyncGroupName vimGroupName
hi def link vimSyncGroup vimGroupName
hi def link vimSyncKey Type
hi def link vimSyncNone Type
hi def link vimSynContains vimSynOption
hi def link vimSynError Error
hi def link vimSynKeyContainedin vimSynContains
hi def link vimSynKeyOpt vimSynOption
hi def link vimSynMtchGrp vimSynOption
hi def link vimSynMtchOpt vimSynOption
hi def link vimSynNextgroup vimSynOption
hi def link vimSynNotPatRange vimSynRegPat
hi def link vimSynOption Special
hi def link vimSynPatRange vimString
hi def link vimSynRegOpt vimSynOption
hi def link vimSynRegPat vimString
hi def link vimSynReg Type
hi def link vimSyntax vimCommand
hi def link vimSynType vimSpecial
hi def link vimTodo Todo
hi def link vimUnmap vimMap
hi def link vimUserAttrbCmpltFunc Special
hi def link vimUserAttrbCmplt vimSpecial
hi def link vimUserAttrbKey vimOption
hi def link vimUserAttrb vimSpecial
hi def link vimUserCommand vimCommand
hi def link vimAutoEvent Type
hi def link vimBracket Delimiter
hi def link vimCmplxRepeat SpecialChar
hi def link vimCommand Statement
hi def link vimComment Comment
hi def link vimCommentTitle PreProc
hi def link vimContinue Special
hi def link vimCtrlChar SpecialChar
hi def link vimElseIfErr Error
hi def link vimEnvvar PreProc
hi def link vimError Error
hi def link vimFold Folded
hi def link vimFuncName Function
hi def link vimFuncSID Special
hi def link vimFuncVar Identifier
hi def link vimGroupSpecial Special
hi def link vimGroup Type
hi def link vimHiAttrib PreProc
hi def link vimHiTerm Type
hi def link vimHLMod PreProc
hi def link vimKeyword Statement
hi def link vimMark Number
hi def link vimMenuName PreProc
hi def link vimNotation Special
hi def link vimNumber Number
hi def link vimOperError Error
hi def link vimOper Operator
hi def link vimOption PreProc
hi def link vimParenSep Delimiter
hi def link vimPatSep SpecialChar
hi def link vimPattern Type
hi def link vimRegister SpecialChar
hi def link vimScriptDelim Comment
hi def link vimSearchDelim Statement
hi def link vimSep Delimiter
hi def link vimSetSep Statement
hi def link vimSpecFile Identifier
hi def link vimSpecial Type
hi def link vimStatement Statement
hi def link vimString String
hi def link vimSubstDelim Delimiter
hi def link vimSubstFlags Special
hi def link vimSubstSubstr SpecialChar
hi def link vimSynCaseError Error
hi def link vimSynCase Type
hi def link vimSyncC Type
hi def link vimSyncError Error
hi def link vimSyncKey Type
hi def link vimSyncNone Type
hi def link vimSynError Error
hi def link vimSynOption Special
hi def link vimSynReg Type
hi def link vimTodo Todo
hi def link vimUserAttrbCmpltFunc Special
hi def link vimUserAttrbError Error
hi def link vimUserCmdError Error
hi def link vimUserCommand vimCommand
hi def link vimUserFunc Normal
hi def link vimVar Identifier
hi def link vimWarn WarningMsg
+2 -2
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Yacc
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jan 14, 2015
" Version: 12
" Last Change: Apr 02, 2015
" Version: 13
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Options: {{{1
+79 -23
View File
@@ -2,7 +2,7 @@
" Language: YAML (YAML Ain't Markup Language) 1.2
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" First author: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-08
" Latest Revision: 2015-03-28
if exists('b:current_syntax')
finish
@@ -11,13 +11,40 @@ endif
let s:cpo_save = &cpo
set cpo&vim
let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
let s:ns_word_char = '\%(\w\|-\)'
let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
" Choose the schema to use
" TODO: Validate schema
if !exists('b:yaml_schema')
if exists('g:yaml_schema')
let b:yaml_schema = g:yaml_schema
else
let b:yaml_schema = 'core'
endif
endif
let s:ns_char = '\%([\n\r\uFEFF \t]\@!\p\)'
let s:ns_word_char = '[[:alnum:]_\-]'
let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()[\]]\)'
let s:ns_tag_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
let s:c_indicator = '[\-?:,\[\]{}#&*!|>''"%@`]'
let s:c_flow_indicator = '[,\[\]{}]'
let s:c_ns_anchor_char = '\%([\n\r\uFEFF \t,[\]{}]\@!\p\)'
let s:c_indicator = '[\-?:,[\]{}#&*!|>''"%@`]'
let s:c_flow_indicator = '[,[\]{}]'
let s:ns_char_without_c_indicator = substitute(s:ns_char, '\v\C[\zs', '\=s:c_indicator[1:-2]', '')
let s:_collection = '[^\@!\(\%(\\\.\|\[^\\\]]\)\+\)]'
let s:_neg_collection = '[^\(\%(\\\.\|\[^\\\]]\)\+\)]'
function s:SimplifyToAssumeAllPrintable(p)
return substitute(a:p, '\V\C\\%('.s:_collection.'\\@!\\p\\)', '[^\1]', '')
endfunction
let s:ns_char = s:SimplifyToAssumeAllPrintable(s:ns_char)
let s:ns_char_without_c_indicator = s:SimplifyToAssumeAllPrintable(s:ns_char_without_c_indicator)
let s:c_ns_anchor_char = s:SimplifyToAssumeAllPrintable(s:c_ns_anchor_char)
function s:SimplifyAdjacentCollections(p)
return substitute(a:p, '\V\C'.s:_collection.'\\|'.s:_collection, '[\1\2]', 'g')
endfunction
let s:ns_uri_char = s:SimplifyAdjacentCollections(s:ns_uri_char)
let s:ns_tag_char = s:SimplifyAdjacentCollections(s:ns_tag_char)
let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>'
let s:c_named_tag_handle = '!'.s:ns_word_char.'\+!'
@@ -46,11 +73,15 @@ let s:ns_tag_prefix = s:ns_local_tag_prefix.
let s:ns_plain_safe_out = s:ns_char
let s:ns_plain_safe_in = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
let s:ns_plain_first_in = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
let s:ns_plain_safe_in = substitute(s:ns_plain_safe_in, '\V\C\\%('.s:_collection.'\\@!'.s:_neg_collection.'\\)', '[^\1\2]', '')
let s:ns_plain_safe_in_without_colhash = substitute(s:ns_plain_safe_in, '\V\C'.s:_neg_collection, '[^\1:#]', '')
let s:ns_plain_safe_out_without_colhash = substitute(s:ns_plain_safe_out, '\V\C'.s:_neg_collection, '[^\1:#]', '')
let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
let s:ns_plain_first_in = '\%('.s:ns_char_without_c_indicator.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
let s:ns_plain_first_out = '\%('.s:ns_char_without_c_indicator.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|'.s:ns_plain_safe_in_without_colhash.'\)'
let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|'.s:ns_plain_safe_out_without_colhash.'\)'
let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
let s:ns_plain_in = s:ns_plain_first_in . s:ns_plain_char_in.'*'
@@ -89,9 +120,11 @@ syn match yamlSingleEscape contained "''"
syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\='
syn cluster yamlConstant contains=yamlBool,yamlNull
syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection
syn cluster yamlFlow add=yamlFlowMappingKey,yamlFlowMappingMerge
syn cluster yamlFlow add=yamlConstant,yamlPlainScalar,yamlFloat
syn cluster yamlFlow add=@yamlConstant,yamlPlainScalar,yamlFloat
syn cluster yamlFlow add=yamlTimestamp,yamlInteger,yamlMappingKeyStart
syn cluster yamlFlow add=yamlComment
syn region yamlFlowMapping matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow
@@ -103,15 +136,15 @@ execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/'
syn match yamlMappingKeyStart '?\ze\s'
syn match yamlMappingKeyStart '?' contained
execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
execute 'syn match yamlFlowMappingKey /\%#=1'.s:ns_plain_in.'\%(\s\+'.s:ns_plain_in.'\)*\ze\s*:/ contained '.
\'nextgroup=yamlKeyValueDelimiter'
syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
" Use the old regexp engine, the NFA engine doesn't like all the \@ items.
execute 'syn match yamlBlockMappingKey /\%#=1^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
execute 'syn match yamlBlockMappingKey /\%#=1^\s*\zs'.s:ns_plain_out.'\%(\s\+'.s:ns_plain_out.'\)*\ze\s*:\%(\s\|$\)/ '.
\'nextgroup=yamlKeyValueDelimiter'
execute 'syn match yamlBlockMappingKey /\%#=1\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
execute 'syn match yamlBlockMappingKey /\%#=1\s*\zs'.s:ns_plain_out.'\%(\s\+'.s:ns_plain_out.'\)*\ze\s*:\%(\s\|$\)/ contained '.
\'nextgroup=yamlKeyValueDelimiter'
syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
@@ -119,14 +152,32 @@ syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDeli
syn match yamlKeyValueDelimiter /\s*:/ contained
syn match yamlKeyValueDelimiter /\s*:/ contained
syn keyword yamlConstant true True TRUE false False FALSE
syn keyword yamlConstant null Null NULL
syn match yamlConstant '\<\~\>'
syn cluster yamlScalarWithSpecials contains=yamlPlainScalar,yamlBlockMappingKey,yamlFlowMappingKey
syn match yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/
let s:_bounder = s:SimplifyToAssumeAllPrintable('\%([[\]{}, \t]\@!\p\)')
if b:yaml_schema is# 'json'
syn keyword yamlNull null contained containedin=@yamlScalarWithSpecials
syn keyword yamlBool true false
exe 'syn match yamlInteger /'.s:_bounder.'\@1<!\%(0\|-\=[1-9][0-9]*\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlFloat /'.s:_bounder.'\@1<!\%(-\=[1-9][0-9]*\%(\.[0-9]*\)\=\(e[-+]\=[0-9]\+\)\=\|0\|-\=\.inf\|\.nan\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
elseif b:yaml_schema is# 'core'
syn keyword yamlNull null Null NULL contained containedin=@yamlScalarWithSpecials
syn keyword yamlBool true True TRUE false False FALSE contained containedin=@yamlScalarWithSpecials
exe 'syn match yamlNull /'.s:_bounder.'\@1<!\~'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlInteger /'.s:_bounder.'\@1<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\|[1-9][0-9_]*\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlFloat /'.s:_bounder.'\@1<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\=\d\+\)\=\|\.[0-9_]\+\%([eE][-+]\=[0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
elseif b:yaml_schema is# 'pyyaml'
syn keyword yamlNull null Null NULL contained containedin=@yamlScalarWithSpecials
syn keyword yamlBool true True TRUE false False FALSE yes Yes YES no No NO on On ON off Off OFF contained containedin=@yamlScalarWithSpecials
exe 'syn match yamlNull /'.s:_bounder.'\@1<!\~'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlFloat /'.s:_bounder.'\@1<!\%(\v[-+]?%(\d[0-9_]*)\.[0-9_]*%([eE][-+]\d+)?|\.[0-9_]+%([eE][-+]\d+)?|[-+]?\d[0-9_]*%(\:[0-5]?\d)+\.[0-9_]*|[-+]?\.%(inf|Inf|INF)|\.%(nan|NaN|NAN)\m\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlInteger /'.s:_bounder.'\@1<!\%(\v[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?%(0|[1-9][0-9_]*)|[-+]?0x[0-9a-fA-F_]+|[-+]?[1-9][0-9_]*%(:[0-5]?\d)+\m\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
exe 'syn match yamlTimestamp /'.s:_bounder.'\@1<!\%(\v\d\d\d\d\-\d\d\-\d\d|\d\d\d\d \-\d\d? \-\d\d?%([Tt]|[ \t]+)\d\d?\:\d\d \:\d\d %(\.\d*)?%([ \t]*%(Z|[-+]\d\d?%(\:\d\d)?))?\m\)'.s:_bounder.'\@!/ contained containedin=@yamlScalarWithSpecials'
elseif b:yaml_schema is# 'failsafe'
" Nothing
endif
unlet s:_bounder
syn match yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\|[1-9][0-9_]*\)\%([\[\]{}, \t]\@!\p\)\@!/
syn match yamlFloat /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property)
execute 'syn match yamlAnchor '.string(s:c_ns_anchor_property)
@@ -170,6 +221,9 @@ hi def link yamlKeyValueDelimiter Special
hi def link yamlConstant Constant
hi def link yamlNull yamlConstant
hi def link yamlBool yamlConstant
hi def link yamlAnchor Type
hi def link yamlAlias Type
hi def link yamlNodeTag Type
@@ -180,8 +234,10 @@ hi def link yamlTimestamp Number
let b:current_syntax = "yaml"
unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in
unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in s:ns_char_without_c_indicator s:ns_plain_safe_in_without_colhash s:ns_plain_safe_out_without_colhash
unlet s:_collection s:_neg_collection
delfunction s:SimplifyAdjacentCollections
delfunction s:SimplifyToAssumeAllPrintable
let &cpo = s:cpo_save
unlet s:cpo_save
+143 -141
View File
@@ -1,11 +1,11 @@
===============================================================================
= W i l l k o m m e n im V I M T u t o r - Version 1.7D =
= W i l l k o m m e n im V I M T u t o r - Version 1.7.de.1 =
===============================================================================
Vim ist ein sehr mächtiger Editor, der viele Befehle bereitstellt; zu viele,
um alle in einem Tutor wie diesem zu erklären. Dieser Tutor ist so
gestaltet, um genug Befehle vorzustellen, dass Du die Fähigkeit erlangst,
Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen.
Vim mit Leichtigkeit als einen Allzweck-Editor zu verwenden.
Die Zeit für das Durcharbeiten dieses Tutors beträgt ca. 25-30 Minuten,
abhängig davon, wie viel Zeit Du mit Experimentieren verbringst.
@@ -15,11 +15,11 @@
aufgerufen hast, ist dies bereits eine Kopie).
Es ist wichtig, sich zu vergegenwärtigen, dass dieser Tutor für das Anwenden
konzipiert ist. Das bedeutet, dass Du die Befehle ausführen musst, um sie
konzipiert ist. Das bedeutet, dass Du die Befehle anwenden musst, um sie
richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle!
Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrückt ist und betätige
die j Taste genügend Male, um den Cursor nach unten zu bewegen, so dass
Jetzt stelle sicher, dass deine Umstelltaste NICHT gedrückt ist und betätige
die j Taste genügend Mal, um den Cursor nach unten zu bewegen, so dass
Lektion 1.1 den Bildschirm vollkommen ausfüllt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.1: BEWEGEN DES CURSORS
@@ -37,18 +37,18 @@
3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen.
Bemerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast,
Anmerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast,
drücke <ESC> , um Dich in den Normalmodus zu begeben.
Dann gib das gewünschte Kommando noch einmal ein.
Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
Anmerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller
umherzubewegen, wenn Du Dich einmal daran gewöhnt hast. Wirklich!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.2: VIM BEENDEN
!! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
!! Hinweis: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
diese gesamte Lektion!!
1. Drücke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist).
@@ -63,28 +63,28 @@ Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
führe Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder
hineinzugelangen.
Bemerkung: :q! <ENTER> verwirft alle Änderungen, die Du gemacht hast. In
einigen Lektionen lernst Du , die Änderungen in einer Datei zu speichern.
Anmerkung: :q! <ENTER> verwirft alle Änderungen, die Du gemacht hast. Einige
Lektionen später lernst Du, die Änderungen in einer Datei zu speichern.
5. Bewege den Cursor abwärts zu Lektion 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.3: TEXT EDITIEREN - LÖSCHEN
** Drücke x um das Zeichen unter dem Cursor zu löschen. **
** Drücke x , um das Zeichen unter dem Cursor zu löschen. **
1. Bewege den Cursor zu der mit ---> markierten Zeile unten.
2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht,
2. Um die Fehler zu beheben, bewege den Cursor, bis er über dem Zeichen steht,
das gelöscht werden soll.
3. Drücke die x Taste, um das überflüssige Zeichen zu löschen.
3. Drücke die x Taste, um das unerwünschte Zeichen zu löschen.
4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist.
---> Die Kkuh sprangg übber deen Moond.
---> Die Kkuh sprangg übberr deen Moond.
5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4.
5. Nun, da die Zeile korrekt ist, gehe weiter zur Lektion 1.4.
Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
lernen, lerne vielmehr durch Anwenden.
@@ -99,13 +99,13 @@ Anmerkung: W
1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf
das erste Zeichen NACH der Stelle, wo der Text eingefügt werden soll.
das erste Zeichen NACH der Stelle, an der Text eingefügt werden soll.
3. Drücke i und gib die notwendigen Ergänzungen ein.
3. Drücke i und gib die nötigen Ergänzungen ein.
4. Wenn jeweils ein Fehler beseitigt ist, drücke <ESC> , um zum Normalmodus
zurückzukehren.
Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren.
Wiederhole Schritte 2 bis 4, um den Satz zu korrigieren.
---> In dieser ft etwas .
---> In dieser Zeile fehlt etwas Text.
@@ -120,15 +120,15 @@ Anmerkung: W
** Drücke A , um Text anzufügen. **
1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
Es ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht.
Dabei ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht.
2. Drücke A und gib die nötigen Ergänzungen ein.
2. Drücke A und gib die erforderlichen Ergänzungen ein.
3. Wenn das Anfügen abgeschlossen ist, drücke <ESC>, um in den Normalmodus
zurückzukehren.
4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole
die Schritte 2 und 3, um den Satz zu korrigieren.
die Schritte 2 und 3, um den Satz zu auszubessern.
---> In dieser Zeile feh
In dieser Zeile fehlt etwas Text.
@@ -139,26 +139,28 @@ Anmerkung: W
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.6: EINE DATEI EDITIEREN
** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. **
** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. **
!! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
!! Hinweis: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
diese gesamte Lektion!!
1. Verlasse den Editor so wie in Lektion 1.2: :q!
1. Verlasse den Editor so wie in Lektion 1.2: :q!
Oder, falls du Zugriff zu einem anderen Terminal hast, führe das
Folgende dort aus.
2. Gib dieses Kommando in die Eingabeaufforderung ein: vim tutor <ENTER>
'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei.
Benutze eine Datei, die geändert werden kann.
Benutze eine Datei, die geändert werden darf.
3. Füge Text ein oder lösche ihn, wie Du in den vorigen Lektionen gelernt
hast.
3. Füge Text ein oder lösche ihn, wie Du in den vorangehenden Lektionen
gelernt hast.
4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER>
4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER>
5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung.
5. Falls Du in Schritt 1 den vimtutor beendet hast, starte vimtutor neu und
bewege dich abwärts bis zur folgenden Zusammenfassung.
6. Nachdem Du obige Schritte gelesen und verstanden hast, führe sie durch.
6. Nachdem Du obige Schritte gelesen und verstanden hast: führe sie durch.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 1
@@ -166,19 +168,18 @@ Anmerkung: W
1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt.
h (links) j (unten) k (aufwärts) l (rechts)
2. Um Vim von der Eingabeaufforderung auszuführen, tippe: vim DATEI <ENTER>
2. Um Vim aus der Eingabeaufforderung zu starten, tippe: vim DATEI <ENTER>
3. Um Vim zu verlassen und alle Änderungen zu verwerfen, tippe:
<ESC> :q! <ENTER> .
ODER tippe: <ESC> :wq <ENTER> , um die Änderungen zu speichern.
4. Um das Zeichen unter dem Cursor zu löschen, tippe: x
5. Um Text einzufügen oder anzufügen, tippe:
i Einzufügenden Text eingeben <ESC> Einfügen vor dem Cursor
A Anzufügenden Text eingeben <ESC> Anfügen nach dem Zeilendene
A Anzufügenden Text eingeben <ESC> Anfügen nach dem Zeilenende
Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
Anmerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
ungewolltes, erst teilweise eingegebenes Kommando ab.
Nun fahre mit Lektion 2 fort.
@@ -188,7 +189,7 @@ Bemerkung: Dr
** Tippe dw , um ein Wort zu löschen. **
1. Drücke <ESC> um sicherzustellen, dass Du im Normalmodus bist.
1. Drücke <ESC> , um sicherzustellen, dass Du im Normalmodus bist.
2. Bewege den Cursor zu der mit ---> markierten Zeile unten.
@@ -196,15 +197,15 @@ Bemerkung: Dr
4. Tippe dw , um das Wort zu entfernen.
Bemerkung: Der Buchstabe d erscheint auf der letzten Zeile des Bildschirms,
wenn Du ihn eingibst. Vim wartet darauf, daß Du w eingibst. Wenn Du
ein anderes Zeichen als d siehst, hast Du etwas falsches getippt;
drücke <ESC> und beginne neu.
Anmerkung: Der Buchstabe d erscheint auf der untersten Zeile des Schirms,
wenn Du ihn eingibst. Vim wartet darauf, dass Du w eingibst. Falls Du
ein anderes Zeichen als d siehst, hast Du etwas Falsches getippt;
drücke <ESC> und beginne noch einmal.
---> Einige Wörter lustig gehören nicht Papier in diesen Satz.
5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe
danach zur Lektion 2.2.
zur Lektion 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.2: WEITERE LÖSCHKOMMANDOS
@@ -217,12 +218,12 @@ Bemerkung: Dr
3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ).
4. Tippe d$ , um bis zum Ende der Zeile zu löschen.
4. Tippe d$ , um bis zum Zeilenende zu löschen.
---> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben.
5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert.
5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei vorgeht.
@@ -240,16 +241,16 @@ Bemerkung: Dr
wobei:
d - der Löschoperator
Bewegung - worauf der Löschoperator angewandt wird (unten aufgelistet).
Bewegung - worauf der Löschoperator angewandt wird (unten aufgeführt).
Eine kleine Auflistung von Bewegungen:
w - bis zum Beginn des nächsten Wortes OHNE dessen erstes Zeichen.
e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen.
$ - zum Ende der Zeile MIT dem letzen Zeichen.
$ - zum Ende der Zeile MIT dem letzten Zeichen.
Dementsprechend löscht die Eingabe von de vom Cursor an bis zum Wortende.
Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
Anmerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
Cursor entsprechend.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.4: ANWENDUNG EINES ZÄHLERS FÜR EINEN BEWEGUNGSSCHRITT
@@ -265,9 +266,9 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
4. Tippe 0 (Null) , um zum Anfang der Zeile zu gelangen.
5. Wiederhole Schritte 2 und 3 mit verschiedenen Zählern.
5. Wiederhole Schritte 2 und 3 mit verschiedenen Nummern.
---> Dies ist nur eine Zeile aus Wörten um sich darin herumzubewegen.
---> Dies ist nur eine Zeile aus Wörtern, um sich darin herumzubewegen.
6. Gehe weiter zu Lektion 2.5.
@@ -280,8 +281,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. **
Für die Kombination des Löschoperators und einem Bewegungsschritt (siehe
oben) stellt man dem Bewegungsschritt einen Zähler voran, um mehr zu löschen:
In der Kombination aus Löschoperator und Bewegungsschritt (siehe oben)
stellt man, um mehr zu löschen dem Schritt einen Zähler voran:
d Nummer Bewegungsschritt
1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit --->
@@ -289,9 +290,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
2. Tippe d2w , um die zwei Wörter in GROSSBUCHSTABEN zu löschen.
3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die
darauffolgenden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando
zu löschen.
3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die darauffol-
genden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando zu löschen.
---> Diese ABC DE Zeile FGHI JK LMN OP mit Wörtern ist Q RS TUV bereinigt.
@@ -325,12 +325,12 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
** Tippe u , um die letzten Kommandos rückgängig zu machen **
** oder U um eine ganze Zeile wiederherzustellen. **
** oder U , um eine ganze Zeile wiederherzustellen. **
1. Bewege den Cursor zu der mit ---> markierten Zeile unten
und setze ihn auf den ersten Fehler.
2. Tippe x , um das erste unerwünschte Zeichen zu löschen.
3. Nun tippe u um das soeben ausgeführte Kommando rückgängig zu machen.
3. Nun tippe u , um das soeben ausgeführte Kommando rückgängig zu machen.
4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x Kommandos.
5. Nun tippe ein großes U , um die Zeile in ihren Ursprungszustand
wiederherzustellen.
@@ -341,8 +341,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
---> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her.
8. Dies sind sehr nützliche Kommandos.
Nun gehe weiter zur Zusammenfassung von Lektion 2.
8. Dies sind sehr nützliche Kommandos. Nun gehe weiter zur Zusammenfassung
von Lektion 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 2
@@ -357,7 +357,7 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
wobei:
Operator - gibt an, was getan werden soll, zum Beispiel d für delete
[Anzahl] - ein optionaler Zähler, um den Bewegungsschritt zu wiederholen
Bewegungsschritt - Bewegung über den zu ändernden Text, so wie
Bewegungsschritt - Bewegung über den zu ändernden Text, wie
w (Wort), $ (zum Ende der Zeile), etc.
6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null: 0
@@ -387,7 +387,7 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
---> d) Kannst Du das auch?
---> b) Veilchen sind blau,
---> c) Intelligenz ist erlernbar,
---> c) Intelligenz ist lernbar,
---> a) Rosen sind rot,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 3.2: ERSETZEN (REPLACE)
@@ -403,13 +403,13 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist.
---> Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt!
---> Alf diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt!
---> Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt!
5. Nun fahre fort mit Lektion 3.2.
Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch
Auswendiglernen.
Anmerkung: Erinnere Dich daran, dass Du durch Anwenden lernen solltest, nicht
durch Auswendiglernen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -431,7 +431,7 @@ Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch
---> Einige Wstwr dieser Zlaww lasdjlaf mit dem Ändern-Operator gaaauu werden.
---> Einige Wörter dieser Zeile sollen mit dem Ändern-Operator geändert werden.
Bemerke, dass ce das Wort löscht und Dich in den Eingabemodus versetzt.
Beachte, dass ce das Wort löscht und Dich in den Eingabemodus versetzt.
@@ -457,7 +457,7 @@ Bemerke, dass ce das Wort l
---> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden.
---> Das Ende dieser Zeile soll mit dem c$ Kommando korrigiert werden.
Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
Anmerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 3
@@ -466,8 +466,8 @@ Bemerkung: Du kannst die R
gelöschten Text NACH dem Cursor an (wenn eine ganze Zeile gelöscht wurde,
wird diese in die Zeile unter dem Cursor eingefügt).
2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und das an dieser
Stelle gewünschte Zeichen.
2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und danach das
an dieser Stelle gewollte Zeichen.
3. Der Änderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des
Bewegungsschrittes zu ändern. Tippe ce , um eine Änderung vom Cursor bis
@@ -484,17 +484,18 @@ Bemerkung: Du kannst die R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 4.1: CURSORPOSITION UND DATEISTATUS
** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. **
** Tippe CTRL-G , um deine Dateiposition sowie den Dateistatus anzuzeigen. **
** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. **
Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!!
Anmerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!!
1. Halte die Ctrl Taste unten und drücke g . Dies nennen wir wir CTRL-G.
1. Halte die Ctrl Taste unten und drücke g . Dies nennen wir CTRL-G.
Eine Statusmeldung am Fuß der Seite erscheint mit dem Dateinamen und der
Position innerhalb der Datei. Merke Dir die Zeilennummer für Schritt 3.
Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler')
Anmerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
Bildschirmecke. Dies ist Auswirkung der 'ruler' Option
(siehe :help 'ruler')
2. Drücke G , um Dich zum Ende der Datei zu begeben.
Tippe gg , um Dich zum Anfang der Datei zu begeben.
@@ -510,7 +511,7 @@ Bemerkung: M
** Tippe / gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. **
1. Im Normalmodus, tippe das / Zeichen. Bemerke, dass das / und der
1. Im Normalmodus, tippe das / Zeichen. Beachte, dass das / und der
Cursor am Fuß des Schirms erscheinen, so wie beim : Kommando.
2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst.
@@ -521,32 +522,32 @@ Bemerkung: M
4. Um nach einem Ausdruck rückwärts zu suchen , benutze ? statt / .
5. Um dahin zurückzukehren, von wo Du gekommen bist, drücke CTRL-O (Halte
Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um weiter
zurückzugehen. CTRL-I bringt dich vorwärts.
Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um noch weiter
zurückzugehen. CTRL-I geht vorwärts.
---> Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler
Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang
Anmerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang
fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 4.3: PASSENDE KLAMMERN FINDEN
** Tippe % , um eine korrespondierende Klammer ),], oder } zu finden. **
** Tippe % , um eine gegenüberliegenden Klammer ),], oder } zu finden. **
1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten
1. Platziere den Cursor auf irgendeinem der Zeichen (, [, oder { in der unten
stehenden Zeile, die mit ---> markiert ist.
2. Nun tippe das % Zeichen.
3. Der Cursor bewegt sich zur passenden gegenüberliegenden Klammer.
4. Tippe % , um den Cursor zur anderen passenden Klammer zu bewegen.
4. Tippe % , um den Cursor zur passenden anderen Klammer zu bewegen.
5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere % aus.
---> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern } darin. ))
Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
Anmerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
Programmtext, in dem passende Klammern fehlen!
@@ -558,18 +559,18 @@ Bemerkung: Diese Funktionalit
1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile.
2. Tippe :s/diee/die <ENTER> . Bemerke, dass der Befehl nur das erste
2. Tippe :s/diee/die <ENTER> . Beachte, dass der Befehl nur das erste
Vorkommen von "diee" ersetzt.
3. Nun tippe :s/diee/die/g . Das Zufügen des Flags g bedeutet, eine
globale Ersetzung über die Zeile durchzuführen, was alle Vorkommen von
"diee" auf der Zeile ersetzt.
globale Ersetzung über die Zeile durchzuführen, dies ersetzt alle
Vorkommen von "diee" auf der Zeile.
---> diee schönste Zeit, um diee Blumen anzuschauen, ist diee Frühlingszeit.
4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ändern,
tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Zeilenbereiches
sind, in dem die Ersetzung durchgeführt werden soll.
tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Bereiches sind,
in dem die Ersetzung durchgeführt werden soll.
Tippe :%s/alt/neu/g um alle Vorkommen in der gesamten Datei zu ändern.
Tippe :%s/alt/neu/gc um alle Vorkommen in der gesamten Datei zu finden
mit einem Fragedialog, ob ersetzt werden soll oder nicht.
@@ -593,9 +594,9 @@ Bemerkung: Diese Funktionalit
4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen,
tippe :s/alt/neu
Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe :s/alt/neu/g
Um Ausdrücke innerhalb zweier Zeilennummern zu ersetzen, :#,#s/alt/neu/g
Um Ausdrücke innerhalb zweier Zeilen # zu ersetzen :#,#s/alt/neu/g
Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe :%s/alt/neu/g
Für eine jedmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc
Für eine jedesmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.1: AUSFÜHREN EINES EXTERNEN KOMMANDOS
@@ -608,14 +609,14 @@ Bemerkung: Diese Funktionalit
2. Nun tippe ein ! (Ausrufezeichen). Dies ermöglicht Dir, ein beliebiges,
externes Shellkommando auszuführen.
3. Als Beispiel tippe ls nach dem ! und drücke <ENTER>. Dies zeigt
eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der
3. Als Beispiel tippe ls nach dem ! und drücke <ENTER>. Dies liefert
eine Auflistung deines Verzeichnisses; genauso, als wenn Du in der
Eingabeaufforderung wärst. Oder verwende :!dir , falls ls nicht geht.
Bemerkung: Mit dieser Methode kann jedes beliebige externe Kommando
Anmerkung: Mit dieser Methode kann jedes beliebige externe Kommando
ausgeführt werden, auch mit Argumenten.
Bemerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
Anmerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
abgeschlossen werden. Von jetzt an erwähnen wir dies nicht jedesmal.
@@ -625,7 +626,7 @@ Bemerkung: Alle : Kommandos m
** Um am Text durchgeführte Änderungen zu speichern, tippe :w DATEINAME. **
1. Tippe :!dir oder :!ls , um eine Auflistung Deines Verzeichnisses zu
1. Tippe :!dir oder :!ls , um eine Auflistung deines Verzeichnisses zu
erhalten. Du weißt nun bereits, dass Du danach <ENTER> eingeben musst.
2. Wähle einen Dateinamen, der noch nicht existiert, z.B. TEST.
@@ -633,15 +634,15 @@ Bemerkung: Alle : Kommandos m
3. Nun tippe: :w TEST (wobei TEST der gewählte Dateiname ist).
4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST.
Um dies zu überprüfen, tippe nochmals :!ls bzw. !dir, um Deinen
Um dies zu überprüfen, tippe nochmals :!ls bzw. !dir, um deinen
Verzeichnisinhalt zu sehen.
Bemerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
Anmerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
starten, dann wäre diese Datei eine exakte Kopie des Tutors zu dem
Zeitpunkt, als Du ihn gespeichert hast.
5. Nun entferne die Datei durch Eingabe von (MS-DOS): :!del TEST
oder (Unix): :!rm TEST
oder (Unix): :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.3: AUSWÄHLEN VON TEXT ZUM SCHREIBEN
@@ -650,41 +651,42 @@ Bemerkung: W
1. Bewege den Cursor zu dieser Zeile.
2. Tippe v und bewege den Cursor zum fünften Auflistungspunkt unten.
Bemerke, daß der Text hervorgehoben wird.
Beachte, dass der Text hervorgehoben wird.
3. Drücke das Zeichen : . Am Fuß des Schirms erscheint :'<,'> .
4. Tippe w TEST , wobei TEST ein noch nicht vorhandener Dateiname ist.
Vergewissere Dich, daß Du :'<,'>w TEST siehst, bevor Du Enter drückst.
Vergewissere Dich, dass Du :'<,'>w TEST siehst, bevor Du <ENTER> drückst.
5. Vim schreibt die ausgewählten Zeilen in die Datei TEST. Benutze :!dir
oder :!ls , um sie zu sehen. Lösche sie noch nicht! Wir werden sie in
der nächsten Lektion benutzen.
Bemerkung: Drücken von v startet die Visuelle Auswahl. Du kannst den Cursor
umherbewegen, um die Auswahl größer oder kleiner zu machen. Anschließend
kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum
Beispiel löscht d den Text.
Hinweis: Drücken von v startet die Visuelle Auswahl. Du kannst den Cursor
umherbewegen, um die Auswahl zu vergrößern oder zu verkleinern. Anschließend
lässt sich ein Operator anwenden, um mit dem Text etwas zu tun. Zum Beispiel
löscht d den Text.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.4: EINLESEN UND ZUSAMMENFÜHREN VON DATEIEN
** Um den Inhalt einer Datei einzulesen, tippe :r DATEINAME **
1. Platziere den Cursor überhalb dieser Zeile.
1. Platziere den Cursor direkt über dieser Zeile.
BEACHTE: Nachdem Du Schritt 2 ausgeführt hast, wirst Du Text aus Lektion 5.3
sehen. Dann bewege Dich wieder ABWÄRTS, um diese Lektion wiederzusehen.
sehen. Dann bewege Dich wieder ABWÄRTS, Lektion 5.4 wiederzusehen.
2. Nun lies Deine Datei TEST ein indem Du das Kommando :r TEST ausführst,
2. Nun lies deine Datei TEST ein indem Du das Kommando :r TEST ausführst,
wobei TEST der von Dir verwendete Dateiname ist.
Die eingelesene Datei wird unterhalb der Cursorzeile eingefügt.
3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und siehe,
dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die
eingefügte Dateiversion.
3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und
beachte, dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und
die eingefügte Dateiversion.
Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
Anmerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
Beispiel liest :r !ls die Ausgabe des Kommandos ls ein und platziert
sie unterhalb des Cursors.
@@ -720,14 +722,14 @@ Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten.
2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu öffnen
2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursors zu öffnen
und Dich in den Einfügemodus zu begeben.
3. Nun tippe etwas Text und drücke <ESC> , um den Einfügemodus zu verlassen.
---> Mit o wird der Cursor auf der offenen Zeile im Einfügemodus platziert.
4. Um eine Zeile ÜBERHALB des Cursos aufzumachen, gib einfach ein großes O
4. Um eine Zeile ÜBERHALB des Cursors aufzumachen, gib einfach ein großes O
statt einem kleinen o ein. Versuche dies auf der unten stehenden Zeile.
---> Öffne eine Zeile über dieser mit O , wenn der Cursor auf dieser Zeile ist.
@@ -755,7 +757,7 @@ Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
---> Diese Zei bietet Gelegen , Text in einer Zeile anzufü.
---> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufügen.
Bemerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
Anmerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
einzige Unterschied ist, wo die Zeichen eingefügt werden.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE)
@@ -767,9 +769,9 @@ Bemerkung: a, i und A gehen alle gleicherma
Bewege den Cursor zum Anfang des ersten xxx .
2. Nun drücke R und tippe die Nummer, die darunter in der zweiten Zeile
steht, so das diese das xxx ersetzt.
steht, so dass diese das xxx ersetzt.
3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, daß der Rest
3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Beachte, dass der Rest
der Zeile unverändert bleibt.
4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen.
@@ -777,7 +779,7 @@ Bemerkung: a, i und A gehen alle gleicherma
---> Das Addieren von 123 zu xxx ergibt xxx.
---> Das Addieren von 123 zu 456 ergibt 579.
Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
Anmerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
Zeichen löscht ein vorhandenes Zeichen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -785,7 +787,7 @@ Bemerkung: Der Ersetzungsmodus ist wie der Einf
** Benutze den y Operator, um Text zu kopieren; p , um ihn einzufügen **
1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)".
1. Gehe zu der mit ---> markierten Zeile unten; setze den Cursor hinter "a)".
2. Starte den Visuellen Modus mit v , bewege den Cursor genau vor "erste".
@@ -802,11 +804,11 @@ Bemerkung: Der Ersetzungsmodus ist wie der Einf
---> a) dies ist der erste Eintrag.
b)
Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
Anmerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 6.5: OPTIONEN SETZEN
** Setze eine Option so, dass eine Suche oder eine Ersetzung Groß- **
** Setze eine Option so, dass eine Suche oder Ersetzung Groß- **
** und Kleinschreibung ignoriert **
1. Suche nach 'ignoriere', indem Du /ignoriere eingibst.
@@ -815,7 +817,7 @@ Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
2. Setze die 'ic' (Ignore case) - Option, indem Du :set ic eingibst.
3. Nun suche wieder nach 'ignoriere', indem Du n tippst.
Bemerke, daß jetzt Ignoriere und auch IGNORIERE gefunden wird.
Beachte, dass jetzt Ignoriere und auch IGNORIERE gefunden wird.
4. Setze die 'hlsearch' und 'incsearch' - Optionen: :set hls is
@@ -823,14 +825,14 @@ Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
6. Um das Ignorieren von Groß/Kleinschreibung abzuschalten, tippe: :set noic
Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein: :nohlsearch
Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze
\c im Suchausdruck: /ignoriere\c <ENTER>
Anmerkung: Um die Hervorhebung der Treffer zu entfernen, gib ein: :nohlsearch
Anmerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze \c
im Suchausdruck: /ignoriere\c <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 6
1. Tippe o , um eine Zeile UNTER dem Cursor zu öffnen und den Einfügemodus
zu starten.
zu starten
Tippe O , um eine Zeile ÜBER dem Cursor zu öffnen.
2. Tippe a , um Text NACH dem Cursor anzufügen.
@@ -876,13 +878,13 @@ Bemerkung: Um die Schreibweise f
Lektion 7.2: ERSTELLE EIN START-SKRIPT
** Aktiviere die eingebauten Funktionalitäten von Vim **
** Aktiviere die Features von Vim **
Vim besitzt viele Funktionalitäten, die über Vi hinausgehen, aber die meisten
von ihnen sind standardmäßig deaktiviert. Um mehr Funktionalitäten zu nutzen,
musst Du eine "vimrc" - Datei erstellen.
1. Starte das Editieren der "vimrc"-Datei, abhängig von Deinem System:
1. Starte das Editieren der "vimrc"-Datei, abhängig von deinem System:
:e ~/.vimrc für Unix
:e $VIM/_vimrc für MS-Windows
@@ -893,33 +895,33 @@ Bemerkung: Um die Schreibweise f
:w
Beim nächsten Start von Vim wird die Syntaxhervorhebung aktiviert sein.
Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen.
Du kannst all deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen.
Für mehr Informationen tippe :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 7.3: VERVOLLSTÄNDIGEN
** Kommandozeilenvervollständigung mit CTRL-D and <TAB> **
** Kommandozeilenvervollständigung mit CTRL-D und <TAB> **
1. Stelle sicher, daß Vim nicht im vi-Kompatibilitätsmodus ist: :set nocp
1. Stelle sicher, dass Vim nicht im Vi-Kompatibilitätsmodus ist: :set nocp
2. Siehe nach, welche Dateien im Verzeichnis existieren: :!ls oder :dir
3. Tippe den Beginn eines Komandos: :e
3. Tippe den Beginn eines Kommandos: :e
4. Drücke CTRL-D und Vim zeigt eine Liste mit "e" beginnender Kommandos.
5. Drücke <TAB> und Vim vervollständigt den Kommandonamen zu ":edit".
6. Nun füge ein Leerzeichen und den Beginn einer existierenden Datei an:
6. Nun füge ein Leerzeichen und den Anfang einer existierenden Datei an:
:edit DAT
7. Drücke <TAB>. Vim vervollständigt den Namen (falls er eindeutig ist).
Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
Anmerkung: Vervollständigung funktioniert für viele Kommandos. Probiere
einfach CTRL-D und <TAB>. Dies ist insbesondere nützlich für :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 7
ZUSAMMENFASSUNG VON LEKTION 7
1. Tippe :help oder drücke <F1> oder <Help>, um ein Hilfefenster zu öffnen.
@@ -930,11 +932,11 @@ Bemerkung: Vervollst
4. Tippe :q , um das Hilfefenster zu schließen.
5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen.
5. Erstelle ein vimrc - Startskript mit deinen bevorzugter Einstellungen.
6. Drücke CTRL-D nach dem Tippen eines Kommandos : , um mögliche
Vervollständigungen zu sehen.
Drücke <TAB> für eine einzige Vervollständigung.
6. Drücke CTRL-D nach dem Tippen eines : Kommandos, um mögliche
Vervollständigungen anzusehen.
Drücke <TAB> , um eine Vervollständigung zu anzuwenden.
@@ -943,13 +945,13 @@ Bemerkung: Vervollst
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damit ist der Vim Tutor beendet. Die Intention war, einen kurzen und
bündigen Überblick über den Vim Editor zu liefern; gerade genug, um relativ
Damit ist der Vim Tutor beendet. Seine Intention war, einen kurzen und
bündigen Überblick über den Vim Editor zu geben; gerade genug, um relativ
leicht mit ihm umgehen zu können. Der Vim Tutor hat nicht den geringsten
Anspruch auf Vollständigkeit; Vim hat noch weitaus mehr Kommandos. Lies als
nächstes das User Manual: ":help user-manual".
Für weiteres Lesen und Lernen ist folgendes Buch empfohlen :
Für weiteres Lesen und Lernen ist folgendes Buch empfehlenswert :
Vim - Vi Improved - von Steve Oualline
Verlag: New Riders
Das erste Buch, welches durchgängig Vim gewidmet ist. Besonders nützlich
@@ -957,7 +959,7 @@ Bemerkung: Vervollst
Siehe http://iccf-holland.org/click5.html
Folgendes Buch ist älter und mehr über Vi als Vim, aber auch empfehlenswert:
Textbearbeitung mit dem vi-Editor - von Linda Lamb und Arnold Robbins
Textbearbeitung mit dem Vi-Editor - von Linda Lamb und Arnold Robbins
Verlag O'Reilly - ISBN: 3897211262
In diesem Buch kann man fast alles finden, was man mit Vi tun möchte.
Die sechste Ausgabe enthält auch Informationen über Vim.
@@ -970,11 +972,11 @@ Bemerkung: Vervollst
für Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind
online erhältlich. Siehe http://iccf-holland.org/click5.html
Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware,
Dieses Tutorial wurde geschrieben von Michael C. Pierce und Robert K. Ware,
Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State
University, zur Verfügung stellte. E-mail: bware@mines.colorado.edu.
University, zur Verfügung stellte. E-Mail: bware@mines.colorado.edu.
Bearbeitet für Vim von Bram Moolenaar.
Deutsche Übersetzung von Joachim Hofmann 2007. E-mail: Joachim.Hof@gmx.de
Deutsche Übersetzung von Joachim Hofmann 2015. E-Mail: Joachim.Hof@gmx.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+143 -141
View File
@@ -1,11 +1,11 @@
===============================================================================
= W i l l k o m m e n im V I M T u t o r - Version 1.7D =
= W i l l k o m m e n im V I M T u t o r - Version 1.7.de.1 =
===============================================================================
Vim ist ein sehr mächtiger Editor, der viele Befehle bereitstellt; zu viele,
um alle in einem Tutor wie diesem zu erklären. Dieser Tutor ist so
gestaltet, um genug Befehle vorzustellen, dass Du die Fähigkeit erlangst,
Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen.
Vim mit Leichtigkeit als einen Allzweck-Editor zu verwenden.
Die Zeit für das Durcharbeiten dieses Tutors beträgt ca. 25-30 Minuten,
abhängig davon, wie viel Zeit Du mit Experimentieren verbringst.
@@ -15,11 +15,11 @@
aufgerufen hast, ist dies bereits eine Kopie).
Es ist wichtig, sich zu vergegenwärtigen, dass dieser Tutor für das Anwenden
konzipiert ist. Das bedeutet, dass Du die Befehle ausführen musst, um sie
konzipiert ist. Das bedeutet, dass Du die Befehle anwenden musst, um sie
richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle!
Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrückt ist und betätige
die j Taste genügend Male, um den Cursor nach unten zu bewegen, so dass
Jetzt stelle sicher, dass deine Umstelltaste NICHT gedrückt ist und betätige
die j Taste genügend Mal, um den Cursor nach unten zu bewegen, so dass
Lektion 1.1 den Bildschirm vollkommen ausfüllt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.1: BEWEGEN DES CURSORS
@@ -37,18 +37,18 @@
3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen.
Bemerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast,
Anmerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast,
drücke <ESC> , um Dich in den Normalmodus zu begeben.
Dann gib das gewünschte Kommando noch einmal ein.
Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
Anmerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller
umherzubewegen, wenn Du Dich einmal daran gewöhnt hast. Wirklich!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.2: VIM BEENDEN
!! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
!! Hinweis: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
diese gesamte Lektion!!
1. Drücke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist).
@@ -63,28 +63,28 @@ Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du
führe Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder
hineinzugelangen.
Bemerkung: :q! <ENTER> verwirft alle Änderungen, die Du gemacht hast. In
einigen Lektionen lernst Du , die Änderungen in einer Datei zu speichern.
Anmerkung: :q! <ENTER> verwirft alle Änderungen, die Du gemacht hast. Einige
Lektionen später lernst Du, die Änderungen in einer Datei zu speichern.
5. Bewege den Cursor abwärts zu Lektion 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.3: TEXT EDITIEREN - LÖSCHEN
** Drücke x um das Zeichen unter dem Cursor zu löschen. **
** Drücke x , um das Zeichen unter dem Cursor zu löschen. **
1. Bewege den Cursor zu der mit ---> markierten Zeile unten.
2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht,
2. Um die Fehler zu beheben, bewege den Cursor, bis er über dem Zeichen steht,
das gelöscht werden soll.
3. Drücke die x Taste, um das überflüssige Zeichen zu löschen.
3. Drücke die x Taste, um das unerwünschte Zeichen zu löschen.
4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist.
---> Die Kkuh sprangg übber deen Moond.
---> Die Kkuh sprangg übberr deen Moond.
5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4.
5. Nun, da die Zeile korrekt ist, gehe weiter zur Lektion 1.4.
Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
lernen, lerne vielmehr durch Anwenden.
@@ -99,13 +99,13 @@ Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf
das erste Zeichen NACH der Stelle, wo der Text eingefügt werden soll.
das erste Zeichen NACH der Stelle, an der Text eingefügt werden soll.
3. Drücke i und gib die notwendigen Ergänzungen ein.
3. Drücke i und gib die nötigen Ergänzungen ein.
4. Wenn jeweils ein Fehler beseitigt ist, drücke <ESC> , um zum Normalmodus
zurückzukehren.
Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren.
Wiederhole Schritte 2 bis 4, um den Satz zu korrigieren.
---> In dieser ft etwas .
---> In dieser Zeile fehlt etwas Text.
@@ -120,15 +120,15 @@ Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
** Drücke A , um Text anzufügen. **
1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile.
Es ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht.
Dabei ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht.
2. Drücke A und gib die nötigen Ergänzungen ein.
2. Drücke A und gib die erforderlichen Ergänzungen ein.
3. Wenn das Anfügen abgeschlossen ist, drücke <ESC>, um in den Normalmodus
zurückzukehren.
4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole
die Schritte 2 und 3, um den Satz zu korrigieren.
die Schritte 2 und 3, um den Satz zu auszubessern.
---> In dieser Zeile feh
In dieser Zeile fehlt etwas Text.
@@ -139,26 +139,28 @@ Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.6: EINE DATEI EDITIEREN
** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. **
** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. **
!! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
!! Hinweis: Bevor Du einen der unten aufgeführten Schritte ausführst, lies
diese gesamte Lektion!!
1. Verlasse den Editor so wie in Lektion 1.2: :q!
1. Verlasse den Editor so wie in Lektion 1.2: :q!
Oder, falls du Zugriff zu einem anderen Terminal hast, führe das
Folgende dort aus.
2. Gib dieses Kommando in die Eingabeaufforderung ein: vim tutor <ENTER>
'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei.
Benutze eine Datei, die geändert werden kann.
Benutze eine Datei, die geändert werden darf.
3. Füge Text ein oder lösche ihn, wie Du in den vorigen Lektionen gelernt
hast.
3. Füge Text ein oder lösche ihn, wie Du in den vorangehenden Lektionen
gelernt hast.
4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER>
4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER>
5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung.
5. Falls Du in Schritt 1 den vimtutor beendet hast, starte vimtutor neu und
bewege dich abwärts bis zur folgenden Zusammenfassung.
6. Nachdem Du obige Schritte gelesen und verstanden hast, führe sie durch.
6. Nachdem Du obige Schritte gelesen und verstanden hast: führe sie durch.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 1
@@ -166,19 +168,18 @@ Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu
1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt.
h (links) j (unten) k (aufwärts) l (rechts)
2. Um Vim von der Eingabeaufforderung auszuführen, tippe: vim DATEI <ENTER>
2. Um Vim aus der Eingabeaufforderung zu starten, tippe: vim DATEI <ENTER>
3. Um Vim zu verlassen und alle Änderungen zu verwerfen, tippe:
<ESC> :q! <ENTER> .
ODER tippe: <ESC> :wq <ENTER> , um die Änderungen zu speichern.
4. Um das Zeichen unter dem Cursor zu löschen, tippe: x
5. Um Text einzufügen oder anzufügen, tippe:
i Einzufügenden Text eingeben <ESC> Einfügen vor dem Cursor
A Anzufügenden Text eingeben <ESC> Anfügen nach dem Zeilendene
A Anzufügenden Text eingeben <ESC> Anfügen nach dem Zeilenende
Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
Anmerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
ungewolltes, erst teilweise eingegebenes Kommando ab.
Nun fahre mit Lektion 2 fort.
@@ -188,7 +189,7 @@ Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
** Tippe dw , um ein Wort zu löschen. **
1. Drücke <ESC> um sicherzustellen, dass Du im Normalmodus bist.
1. Drücke <ESC> , um sicherzustellen, dass Du im Normalmodus bist.
2. Bewege den Cursor zu der mit ---> markierten Zeile unten.
@@ -196,15 +197,15 @@ Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
4. Tippe dw , um das Wort zu entfernen.
Bemerkung: Der Buchstabe d erscheint auf der letzten Zeile des Bildschirms,
wenn Du ihn eingibst. Vim wartet darauf, daß Du w eingibst. Wenn Du
ein anderes Zeichen als d siehst, hast Du etwas falsches getippt;
drücke <ESC> und beginne neu.
Anmerkung: Der Buchstabe d erscheint auf der untersten Zeile des Schirms,
wenn Du ihn eingibst. Vim wartet darauf, dass Du w eingibst. Falls Du
ein anderes Zeichen als d siehst, hast Du etwas Falsches getippt;
drücke <ESC> und beginne noch einmal.
---> Einige Wörter lustig gehören nicht Papier in diesen Satz.
5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe
danach zur Lektion 2.2.
zur Lektion 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.2: WEITERE LÖSCHKOMMANDOS
@@ -217,12 +218,12 @@ Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ).
4. Tippe d$ , um bis zum Ende der Zeile zu löschen.
4. Tippe d$ , um bis zum Zeilenende zu löschen.
---> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben.
5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert.
5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei vorgeht.
@@ -240,16 +241,16 @@ Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein
wobei:
d - der Löschoperator
Bewegung - worauf der Löschoperator angewandt wird (unten aufgelistet).
Bewegung - worauf der Löschoperator angewandt wird (unten aufgeführt).
Eine kleine Auflistung von Bewegungen:
w - bis zum Beginn des nächsten Wortes OHNE dessen erstes Zeichen.
e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen.
$ - zum Ende der Zeile MIT dem letzen Zeichen.
$ - zum Ende der Zeile MIT dem letzten Zeichen.
Dementsprechend löscht die Eingabe von de vom Cursor an bis zum Wortende.
Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
Anmerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
Cursor entsprechend.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 2.4: ANWENDUNG EINES ZÄHLERS FÜR EINEN BEWEGUNGSSCHRITT
@@ -265,9 +266,9 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
4. Tippe 0 (Null) , um zum Anfang der Zeile zu gelangen.
5. Wiederhole Schritte 2 und 3 mit verschiedenen Zählern.
5. Wiederhole Schritte 2 und 3 mit verschiedenen Nummern.
---> Dies ist nur eine Zeile aus Wörten um sich darin herumzubewegen.
---> Dies ist nur eine Zeile aus Wörtern, um sich darin herumzubewegen.
6. Gehe weiter zu Lektion 2.5.
@@ -280,8 +281,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. **
Für die Kombination des Löschoperators und einem Bewegungsschritt (siehe
oben) stellt man dem Bewegungsschritt einen Zähler voran, um mehr zu löschen:
In der Kombination aus Löschoperator und Bewegungsschritt (siehe oben)
stellt man, um mehr zu löschen dem Schritt einen Zähler voran:
d Nummer Bewegungsschritt
1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit --->
@@ -289,9 +290,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
2. Tippe d2w , um die zwei Wörter in GROSSBUCHSTABEN zu löschen.
3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die
darauffolgenden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando
zu löschen.
3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die darauffol-
genden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando zu löschen.
---> Diese ABC DE Zeile FGHI JK LMN OP mit Wörtern ist Q RS TUV bereinigt.
@@ -325,12 +325,12 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
** Tippe u , um die letzten Kommandos rückgängig zu machen **
** oder U um eine ganze Zeile wiederherzustellen. **
** oder U , um eine ganze Zeile wiederherzustellen. **
1. Bewege den Cursor zu der mit ---> markierten Zeile unten
und setze ihn auf den ersten Fehler.
2. Tippe x , um das erste unerwünschte Zeichen zu löschen.
3. Nun tippe u um das soeben ausgeführte Kommando rückgängig zu machen.
3. Nun tippe u , um das soeben ausgeführte Kommando rückgängig zu machen.
4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x Kommandos.
5. Nun tippe ein großes U , um die Zeile in ihren Ursprungszustand
wiederherzustellen.
@@ -341,8 +341,8 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
---> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her.
8. Dies sind sehr nützliche Kommandos.
Nun gehe weiter zur Zusammenfassung von Lektion 2.
8. Dies sind sehr nützliche Kommandos. Nun gehe weiter zur Zusammenfassung
von Lektion 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 2
@@ -357,7 +357,7 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
wobei:
Operator - gibt an, was getan werden soll, zum Beispiel d für delete
[Anzahl] - ein optionaler Zähler, um den Bewegungsschritt zu wiederholen
Bewegungsschritt - Bewegung über den zu ändernden Text, so wie
Bewegungsschritt - Bewegung über den zu ändernden Text, wie
w (Wort), $ (zum Ende der Zeile), etc.
6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null: 0
@@ -387,7 +387,7 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
---> d) Kannst Du das auch?
---> b) Veilchen sind blau,
---> c) Intelligenz ist erlernbar,
---> c) Intelligenz ist lernbar,
---> a) Rosen sind rot,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 3.2: ERSETZEN (REPLACE)
@@ -403,13 +403,13 @@ Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den
4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist.
---> Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt!
---> Alf diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt!
---> Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt!
5. Nun fahre fort mit Lektion 3.2.
Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch
Auswendiglernen.
Anmerkung: Erinnere Dich daran, dass Du durch Anwenden lernen solltest, nicht
durch Auswendiglernen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -431,7 +431,7 @@ Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch
---> Einige Wstwr dieser Zlaww lasdjlaf mit dem Ändern-Operator gaaauu werden.
---> Einige Wörter dieser Zeile sollen mit dem Ändern-Operator geändert werden.
Bemerke, dass ce das Wort löscht und Dich in den Eingabemodus versetzt.
Beachte, dass ce das Wort löscht und Dich in den Eingabemodus versetzt.
@@ -457,7 +457,7 @@ Bemerke, dass ce das Wort löscht und Dich in den Eingabemodus versetzt.
---> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden.
---> Das Ende dieser Zeile soll mit dem c$ Kommando korrigiert werden.
Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
Anmerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 3
@@ -466,8 +466,8 @@ Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
gelöschten Text NACH dem Cursor an (wenn eine ganze Zeile gelöscht wurde,
wird diese in die Zeile unter dem Cursor eingefügt).
2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und das an dieser
Stelle gewünschte Zeichen.
2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und danach das
an dieser Stelle gewollte Zeichen.
3. Der Änderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des
Bewegungsschrittes zu ändern. Tippe ce , um eine Änderung vom Cursor bis
@@ -484,17 +484,18 @@ Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 4.1: CURSORPOSITION UND DATEISTATUS
** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. **
** Tippe CTRL-G , um deine Dateiposition sowie den Dateistatus anzuzeigen. **
** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. **
Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!!
Anmerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!!
1. Halte die Ctrl Taste unten und drücke g . Dies nennen wir wir CTRL-G.
1. Halte die Ctrl Taste unten und drücke g . Dies nennen wir CTRL-G.
Eine Statusmeldung am Fuß der Seite erscheint mit dem Dateinamen und der
Position innerhalb der Datei. Merke Dir die Zeilennummer für Schritt 3.
Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler')
Anmerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
Bildschirmecke. Dies ist Auswirkung der 'ruler' Option
(siehe :help 'ruler')
2. Drücke G , um Dich zum Ende der Datei zu begeben.
Tippe gg , um Dich zum Anfang der Datei zu begeben.
@@ -510,7 +511,7 @@ Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
** Tippe / gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. **
1. Im Normalmodus, tippe das / Zeichen. Bemerke, dass das / und der
1. Im Normalmodus, tippe das / Zeichen. Beachte, dass das / und der
Cursor am Fuß des Schirms erscheinen, so wie beim : Kommando.
2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst.
@@ -521,32 +522,32 @@ Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten
4. Um nach einem Ausdruck rückwärts zu suchen , benutze ? statt / .
5. Um dahin zurückzukehren, von wo Du gekommen bist, drücke CTRL-O (Halte
Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um weiter
zurückzugehen. CTRL-I bringt dich vorwärts.
Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um noch weiter
zurückzugehen. CTRL-I geht vorwärts.
---> Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler
Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang
Anmerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang
fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 4.3: PASSENDE KLAMMERN FINDEN
** Tippe % , um eine korrespondierende Klammer ),], oder } zu finden. **
** Tippe % , um eine gegenüberliegenden Klammer ),], oder } zu finden. **
1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten
1. Platziere den Cursor auf irgendeinem der Zeichen (, [, oder { in der unten
stehenden Zeile, die mit ---> markiert ist.
2. Nun tippe das % Zeichen.
3. Der Cursor bewegt sich zur passenden gegenüberliegenden Klammer.
4. Tippe % , um den Cursor zur anderen passenden Klammer zu bewegen.
4. Tippe % , um den Cursor zur passenden anderen Klammer zu bewegen.
5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere % aus.
---> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern } darin. ))
Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
Anmerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
Programmtext, in dem passende Klammern fehlen!
@@ -558,18 +559,18 @@ Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile.
2. Tippe :s/diee/die <ENTER> . Bemerke, dass der Befehl nur das erste
2. Tippe :s/diee/die <ENTER> . Beachte, dass der Befehl nur das erste
Vorkommen von "diee" ersetzt.
3. Nun tippe :s/diee/die/g . Das Zufügen des Flags g bedeutet, eine
globale Ersetzung über die Zeile durchzuführen, was alle Vorkommen von
"diee" auf der Zeile ersetzt.
globale Ersetzung über die Zeile durchzuführen, dies ersetzt alle
Vorkommen von "diee" auf der Zeile.
---> diee schönste Zeit, um diee Blumen anzuschauen, ist diee Frühlingszeit.
4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ändern,
tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Zeilenbereiches
sind, in dem die Ersetzung durchgeführt werden soll.
tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Bereiches sind,
in dem die Ersetzung durchgeführt werden soll.
Tippe :%s/alt/neu/g um alle Vorkommen in der gesamten Datei zu ändern.
Tippe :%s/alt/neu/gc um alle Vorkommen in der gesamten Datei zu finden
mit einem Fragedialog, ob ersetzt werden soll oder nicht.
@@ -593,9 +594,9 @@ Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen,
tippe :s/alt/neu
Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe :s/alt/neu/g
Um Ausdrücke innerhalb zweier Zeilennummern zu ersetzen, :#,#s/alt/neu/g
Um Ausdrücke innerhalb zweier Zeilen # zu ersetzen :#,#s/alt/neu/g
Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe :%s/alt/neu/g
Für eine jedmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc
Für eine jedesmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.1: AUSFÜHREN EINES EXTERNEN KOMMANDOS
@@ -608,14 +609,14 @@ Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem
2. Nun tippe ein ! (Ausrufezeichen). Dies ermöglicht Dir, ein beliebiges,
externes Shellkommando auszuführen.
3. Als Beispiel tippe ls nach dem ! und drücke <ENTER>. Dies zeigt
eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der
3. Als Beispiel tippe ls nach dem ! und drücke <ENTER>. Dies liefert
eine Auflistung deines Verzeichnisses; genauso, als wenn Du in der
Eingabeaufforderung wärst. Oder verwende :!dir , falls ls nicht geht.
Bemerkung: Mit dieser Methode kann jedes beliebige externe Kommando
Anmerkung: Mit dieser Methode kann jedes beliebige externe Kommando
ausgeführt werden, auch mit Argumenten.
Bemerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
Anmerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
abgeschlossen werden. Von jetzt an erwähnen wir dies nicht jedesmal.
@@ -625,7 +626,7 @@ Bemerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
** Um am Text durchgeführte Änderungen zu speichern, tippe :w DATEINAME. **
1. Tippe :!dir oder :!ls , um eine Auflistung Deines Verzeichnisses zu
1. Tippe :!dir oder :!ls , um eine Auflistung deines Verzeichnisses zu
erhalten. Du weißt nun bereits, dass Du danach <ENTER> eingeben musst.
2. Wähle einen Dateinamen, der noch nicht existiert, z.B. TEST.
@@ -633,15 +634,15 @@ Bemerkung: Alle : Kommandos müssen durch Eingabe von <ENTER>
3. Nun tippe: :w TEST (wobei TEST der gewählte Dateiname ist).
4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST.
Um dies zu überprüfen, tippe nochmals :!ls bzw. !dir, um Deinen
Um dies zu überprüfen, tippe nochmals :!ls bzw. !dir, um deinen
Verzeichnisinhalt zu sehen.
Bemerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
Anmerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
starten, dann wäre diese Datei eine exakte Kopie des Tutors zu dem
Zeitpunkt, als Du ihn gespeichert hast.
5. Nun entferne die Datei durch Eingabe von (MS-DOS): :!del TEST
oder (Unix): :!rm TEST
oder (Unix): :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.3: AUSWÄHLEN VON TEXT ZUM SCHREIBEN
@@ -650,41 +651,42 @@ Bemerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST
1. Bewege den Cursor zu dieser Zeile.
2. Tippe v und bewege den Cursor zum fünften Auflistungspunkt unten.
Bemerke, daß der Text hervorgehoben wird.
Beachte, dass der Text hervorgehoben wird.
3. Drücke das Zeichen : . Am Fuß des Schirms erscheint :'<,'> .
4. Tippe w TEST , wobei TEST ein noch nicht vorhandener Dateiname ist.
Vergewissere Dich, daß Du :'<,'>w TEST siehst, bevor Du Enter drückst.
Vergewissere Dich, dass Du :'<,'>w TEST siehst, bevor Du <ENTER> drückst.
5. Vim schreibt die ausgewählten Zeilen in die Datei TEST. Benutze :!dir
oder :!ls , um sie zu sehen. Lösche sie noch nicht! Wir werden sie in
der nächsten Lektion benutzen.
Bemerkung: Drücken von v startet die Visuelle Auswahl. Du kannst den Cursor
umherbewegen, um die Auswahl größer oder kleiner zu machen. Anschließend
kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum
Beispiel löscht d den Text.
Hinweis: Drücken von v startet die Visuelle Auswahl. Du kannst den Cursor
umherbewegen, um die Auswahl zu vergrößern oder zu verkleinern. Anschließend
lässt sich ein Operator anwenden, um mit dem Text etwas zu tun. Zum Beispiel
löscht d den Text.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 5.4: EINLESEN UND ZUSAMMENFÜHREN VON DATEIEN
** Um den Inhalt einer Datei einzulesen, tippe :r DATEINAME **
1. Platziere den Cursor überhalb dieser Zeile.
1. Platziere den Cursor direkt über dieser Zeile.
BEACHTE: Nachdem Du Schritt 2 ausgeführt hast, wirst Du Text aus Lektion 5.3
sehen. Dann bewege Dich wieder ABWÄRTS, um diese Lektion wiederzusehen.
sehen. Dann bewege Dich wieder ABWÄRTS, Lektion 5.4 wiederzusehen.
2. Nun lies Deine Datei TEST ein indem Du das Kommando :r TEST ausführst,
2. Nun lies deine Datei TEST ein indem Du das Kommando :r TEST ausführst,
wobei TEST der von Dir verwendete Dateiname ist.
Die eingelesene Datei wird unterhalb der Cursorzeile eingefügt.
3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und siehe,
dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die
eingefügte Dateiversion.
3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und
beachte, dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und
die eingefügte Dateiversion.
Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
Anmerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
Beispiel liest :r !ls die Ausgabe des Kommandos ls ein und platziert
sie unterhalb des Cursors.
@@ -720,14 +722,14 @@ Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten.
2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu öffnen
2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursors zu öffnen
und Dich in den Einfügemodus zu begeben.
3. Nun tippe etwas Text und drücke <ESC> , um den Einfügemodus zu verlassen.
---> Mit o wird der Cursor auf der offenen Zeile im Einfügemodus platziert.
4. Um eine Zeile ÜBERHALB des Cursos aufzumachen, gib einfach ein großes O
4. Um eine Zeile ÜBERHALB des Cursors aufzumachen, gib einfach ein großes O
statt einem kleinen o ein. Versuche dies auf der unten stehenden Zeile.
---> Öffne eine Zeile über dieser mit O , wenn der Cursor auf dieser Zeile ist.
@@ -755,7 +757,7 @@ Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum
---> Diese Zei bietet Gelegen , Text in einer Zeile anzufü.
---> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufügen.
Bemerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
Anmerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
einzige Unterschied ist, wo die Zeichen eingefügt werden.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE)
@@ -767,9 +769,9 @@ Bemerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
Bewege den Cursor zum Anfang des ersten xxx .
2. Nun drücke R und tippe die Nummer, die darunter in der zweiten Zeile
steht, so das diese das xxx ersetzt.
steht, so dass diese das xxx ersetzt.
3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, daß der Rest
3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Beachte, dass der Rest
der Zeile unverändert bleibt.
4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen.
@@ -777,7 +779,7 @@ Bemerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der
---> Das Addieren von 123 zu xxx ergibt xxx.
---> Das Addieren von 123 zu 456 ergibt 579.
Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
Anmerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
Zeichen löscht ein vorhandenes Zeichen.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -785,7 +787,7 @@ Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
** Benutze den y Operator, um Text zu kopieren; p , um ihn einzufügen **
1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)".
1. Gehe zu der mit ---> markierten Zeile unten; setze den Cursor hinter "a)".
2. Starte den Visuellen Modus mit v , bewege den Cursor genau vor "erste".
@@ -802,11 +804,11 @@ Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte
---> a) dies ist der erste Eintrag.
b)
Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
Anmerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 6.5: OPTIONEN SETZEN
** Setze eine Option so, dass eine Suche oder eine Ersetzung Groß- **
** Setze eine Option so, dass eine Suche oder Ersetzung Groß- **
** und Kleinschreibung ignoriert **
1. Suche nach 'ignoriere', indem Du /ignoriere eingibst.
@@ -815,7 +817,7 @@ Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
2. Setze die 'ic' (Ignore case) - Option, indem Du :set ic eingibst.
3. Nun suche wieder nach 'ignoriere', indem Du n tippst.
Bemerke, daß jetzt Ignoriere und auch IGNORIERE gefunden wird.
Beachte, dass jetzt Ignoriere und auch IGNORIERE gefunden wird.
4. Setze die 'hlsearch' und 'incsearch' - Optionen: :set hls is
@@ -823,14 +825,14 @@ Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort.
6. Um das Ignorieren von Groß/Kleinschreibung abzuschalten, tippe: :set noic
Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein: :nohlsearch
Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze
\c im Suchausdruck: /ignoriere\c <ENTER>
Anmerkung: Um die Hervorhebung der Treffer zu entfernen, gib ein: :nohlsearch
Anmerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze \c
im Suchausdruck: /ignoriere\c <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 6
1. Tippe o , um eine Zeile UNTER dem Cursor zu öffnen und den Einfügemodus
zu starten.
zu starten
Tippe O , um eine Zeile ÜBER dem Cursor zu öffnen.
2. Tippe a , um Text NACH dem Cursor anzufügen.
@@ -876,13 +878,13 @@ Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze
Lektion 7.2: ERSTELLE EIN START-SKRIPT
** Aktiviere die eingebauten Funktionalitäten von Vim **
** Aktiviere die Features von Vim **
Vim besitzt viele Funktionalitäten, die über Vi hinausgehen, aber die meisten
von ihnen sind standardmäßig deaktiviert. Um mehr Funktionalitäten zu nutzen,
musst Du eine "vimrc" - Datei erstellen.
1. Starte das Editieren der "vimrc"-Datei, abhängig von Deinem System:
1. Starte das Editieren der "vimrc"-Datei, abhängig von deinem System:
:e ~/.vimrc für Unix
:e $VIM/_vimrc für MS-Windows
@@ -893,33 +895,33 @@ Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze
:w
Beim nächsten Start von Vim wird die Syntaxhervorhebung aktiviert sein.
Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen.
Du kannst all deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen.
Für mehr Informationen tippe :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 7.3: VERVOLLSTÄNDIGEN
** Kommandozeilenvervollständigung mit CTRL-D and <TAB> **
** Kommandozeilenvervollständigung mit CTRL-D und <TAB> **
1. Stelle sicher, daß Vim nicht im vi-Kompatibilitätsmodus ist: :set nocp
1. Stelle sicher, dass Vim nicht im Vi-Kompatibilitätsmodus ist: :set nocp
2. Siehe nach, welche Dateien im Verzeichnis existieren: :!ls oder :dir
3. Tippe den Beginn eines Komandos: :e
3. Tippe den Beginn eines Kommandos: :e
4. Drücke CTRL-D und Vim zeigt eine Liste mit "e" beginnender Kommandos.
5. Drücke <TAB> und Vim vervollständigt den Kommandonamen zu ":edit".
6. Nun füge ein Leerzeichen und den Beginn einer existierenden Datei an:
6. Nun füge ein Leerzeichen und den Anfang einer existierenden Datei an:
:edit DAT
7. Drücke <TAB>. Vim vervollständigt den Namen (falls er eindeutig ist).
Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
Anmerkung: Vervollständigung funktioniert für viele Kommandos. Probiere
einfach CTRL-D und <TAB>. Dies ist insbesondere nützlich für :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZUSAMMENFASSUNG VON LEKTION 7
ZUSAMMENFASSUNG VON LEKTION 7
1. Tippe :help oder drücke <F1> oder <Help>, um ein Hilfefenster zu öffnen.
@@ -930,11 +932,11 @@ Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
4. Tippe :q , um das Hilfefenster zu schließen.
5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen.
5. Erstelle ein vimrc - Startskript mit deinen bevorzugter Einstellungen.
6. Drücke CTRL-D nach dem Tippen eines Kommandos : , um mögliche
Vervollständigungen zu sehen.
Drücke <TAB> für eine einzige Vervollständigung.
6. Drücke CTRL-D nach dem Tippen eines : Kommandos, um mögliche
Vervollständigungen anzusehen.
Drücke <TAB> , um eine Vervollständigung zu anzuwenden.
@@ -943,13 +945,13 @@ Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damit ist der Vim Tutor beendet. Die Intention war, einen kurzen und
bündigen Überblick über den Vim Editor zu liefern; gerade genug, um relativ
Damit ist der Vim Tutor beendet. Seine Intention war, einen kurzen und
bündigen Überblick über den Vim Editor zu geben; gerade genug, um relativ
leicht mit ihm umgehen zu können. Der Vim Tutor hat nicht den geringsten
Anspruch auf Vollständigkeit; Vim hat noch weitaus mehr Kommandos. Lies als
nächstes das User Manual: ":help user-manual".
Für weiteres Lesen und Lernen ist folgendes Buch empfohlen :
Für weiteres Lesen und Lernen ist folgendes Buch empfehlenswert :
Vim - Vi Improved - von Steve Oualline
Verlag: New Riders
Das erste Buch, welches durchgängig Vim gewidmet ist. Besonders nützlich
@@ -957,7 +959,7 @@ Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
Siehe http://iccf-holland.org/click5.html
Folgendes Buch ist älter und mehr über Vi als Vim, aber auch empfehlenswert:
Textbearbeitung mit dem vi-Editor - von Linda Lamb und Arnold Robbins
Textbearbeitung mit dem Vi-Editor - von Linda Lamb und Arnold Robbins
Verlag O'Reilly - ISBN: 3897211262
In diesem Buch kann man fast alles finden, was man mit Vi tun möchte.
Die sechste Ausgabe enthält auch Informationen über Vim.
@@ -970,11 +972,11 @@ Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche
für Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind
online erhältlich. Siehe http://iccf-holland.org/click5.html
Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware,
Dieses Tutorial wurde geschrieben von Michael C. Pierce und Robert K. Ware,
Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State
University, zur Verfügung stellte. E-mail: bware@mines.colorado.edu.
University, zur Verfügung stellte. E-Mail: bware@mines.colorado.edu.
Bearbeitet für Vim von Bram Moolenaar.
Deutsche Übersetzung von Joachim Hofmann 2007. E-mail: Joachim.Hof@gmx.de
Deutsche Übersetzung von Joachim Hofmann 2015. E-Mail: Joachim.Hof@gmx.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2 -4
View File
@@ -1,7 +1,7 @@
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2014 Nov 05
" Last change: 2015 Mar 24
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
@@ -73,10 +73,8 @@ if has("autocmd")
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
" Also don't do it when the mark is in the first line, that is the default
" position when opening a file.
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
+59 -1
View File
@@ -1200,6 +1200,30 @@
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>Verilog HDL Source File</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>v</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>MacVim-generic</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeName</key>
<string>Verilog HDL Header Source File</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>vh</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>MacVim-generic</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
</array>
<key>CFBundleExecutable</key>
@@ -1232,7 +1256,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>74</string>
<string>75</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
@@ -2633,6 +2657,40 @@
</array>
</dict>
</dict>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>Verilog HDL Source File</string>
<key>UTTypeIdentifier</key>
<string>org.vim.v-file</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>v</string>
</array>
</dict>
</dict>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>Verilog HDL Header Source File</string>
<key>UTTypeIdentifier</key>
<string>org.vim.vh-file</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>vh</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
+13 -2
View File
@@ -65,7 +65,7 @@ enum {
// you can't change the style of an existing window in cocoa. create a new
// window and move the MMTextView into it.
// (another way would be to make the existing window large enough that the
// title bar is off screen. but that doesn't work with multiple screens).
// title bar is off screen. but that doesn't work with multiple screens).
self = [super initWithContentRect:[screen frame]
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
@@ -371,6 +371,15 @@ enum {
[self resizeVimView];
}
- (CGFloat) viewOffset {
CGFloat menuBarHeight = 0;
if([self screen] != [[NSScreen screens] objectAtIndex:0]) {
// Screens other than the primary screen will not hide their menu bar, adjust the visible view down by the menu height
menuBarHeight = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]-1;
}
return menuBarHeight;
}
- (void)centerView
{
NSRect outer = [self frame], inner = [view frame];
@@ -379,7 +388,7 @@ enum {
// rendering issues may arise (screen looks blurry, each redraw clears the
// entire window, etc.).
NSPoint origin = { floor((outer.size.width - inner.size.width)/2),
floor((outer.size.height - inner.size.height)/2) };
floor((outer.size.height - inner.size.height)/2 - [self viewOffset]/2) };
[view setFrameOrigin:origin];
}
@@ -478,6 +487,8 @@ enum {
// size since it compensates for menu and dock.
int maxRows, maxColumns;
NSSize size = [[self screen] frame].size;
size.height -= [self viewOffset];
[view constrainRows:&maxRows columns:&maxColumns toSize:size];
// Compute current fu size
+1 -1
View File
@@ -993,7 +993,7 @@
- (void)windowDidResize:(id)sender
{
if (!setupDone || fullScreenEnabled) return;
if (!setupDone || fullScreenEnabled || !windowPresented) return;
// NOTE: Since we have no control over when the window may resize (Cocoa
// may resize automatically) we simply set the view to fill the entire
+2 -2
View File
@@ -614,7 +614,7 @@
buildSettings = {
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 74;
CURRENT_PROJECT_VERSION = 75;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
@@ -645,7 +645,7 @@
buildSettings = {
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COPY_PHASE_STRIP = YES;
CURRENT_PROJECT_VERSION = 74;
CURRENT_PROJECT_VERSION = 75;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
MacVim-generic.icns

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