0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

Updated runtime files.

This commit is contained in:
Bram Moolenaar 2011-09-14 17:55:08 +02:00
parent ddab33232a
commit 5302d9ebc1
35 changed files with 902 additions and 296 deletions

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2011 May 19 *autocmd.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -448,6 +448,9 @@ BufWriteCmd Before writing the whole buffer to a file.
'modified' if successful, unless '+' is in 'modified' if successful, unless '+' is in
'cpo' and writing to another file |cpo-+|. 'cpo' and writing to another file |cpo-+|.
The buffer contents should not be changed. The buffer contents should not be changed.
When the command resets 'modified' the undo
information is adjusted to mark older undo
states as 'modified', like |:write| does.
|Cmd-event| |Cmd-event|
*BufWritePost* *BufWritePost*
BufWritePost After writing the whole buffer to a file BufWritePost After writing the whole buffer to a file
@ -508,6 +511,7 @@ CursorMoved After the cursor was moved in Normal mode.
not expect or that is slow. not expect or that is slow.
*CursorMovedI* *CursorMovedI*
CursorMovedI After the cursor was moved in Insert mode. CursorMovedI After the cursor was moved in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as CursorMoved. Otherwise the same as CursorMoved.
*EncodingChanged* *EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been EncodingChanged Fires off after the 'encoding' option has been

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2011 Jul 13 *eval.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -39,7 +39,7 @@ done, the features in this document are not available. See |+eval| and
*E712* *E712*
There are six types of variables: There are six types of variables:
Number A 32 bit signed number. |expr-number| *Number* Number A 32 or 64 bit signed number. |expr-number| *Number*
Examples: -123 0x10 0177 Examples: -123 0x10 0177
Float A floating point number. |floating-point-format| *Float* Float A floating point number. |floating-point-format| *Float*

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03 *gui.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -147,6 +147,15 @@ task bar with the 'guiheadroom' option.
If you are running the X Window System, you can get information about the If you are running the X Window System, you can get information about the
window Vim is running in with this command: > window Vim is running in with this command: >
:!xwininfo -id $WINDOWID :!xwininfo -id $WINDOWID
<
*gui-IME* *iBus*
Input methods for international characters in X that rely on the XIM
framework, most notably iBus, have been known to produce undesirable results
in gVim. These may include an inability to enter spaces, or long delays
between typing a character and it being recognized by the application.
One workaround that has been successful, for unknown reasons, is to prevent
gvim from forking into the background by starting it with the |-f| argument.
============================================================================== ==============================================================================
2. Scrollbars *gui-scrollbars* 2. Scrollbars *gui-scrollbars*

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2010 Dec 19 *gui_w32.txt* For Vim version 7.3. Last change: 2011 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -137,6 +137,9 @@ options:
And if there already is a gvim running: And if there already is a gvim running:
"Edit with existing gvim" -- edit the file with the running gvim "Edit with existing gvim" -- edit the file with the running gvim
The "edit with existing Vim" entries can be disabled by adding an entry in the
registry under HKLM\Software\Vim\Gvim, named DisableEditWithExisting, and with
any value.
*install-registry* *install-registry*
You can add the "Edit with Vim" menu entry in an easy way by using the You can add the "Edit with Vim" menu entry in an easy way by using the
"install.exe" program. It will add several registry entries for you. "install.exe" program. It will add several registry entries for you.

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.3. Last change: 2010 Jul 20 *gui_x11.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -53,6 +53,8 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b". ":gui -b".
"gvim --nofork" does the same as "gvim -f". "gvim --nofork" does the same as "gvim -f".
*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.
If you want the GUI to run in the foreground always, include the 'f' If you want the GUI to run in the foreground always, include the 'f'
flag in 'guioptions'. |-f|. flag in 'guioptions'. |-f|.

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2011 May 07 *if_pyth.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Paul Moore VIM REFERENCE MANUAL by Paul Moore
@ -380,7 +380,7 @@ To work around such problems there are these options:
*has-python* *has-python*
You can test what Python version is available with: > You can test what Python version is available with: >
if has('python') if has('python')
echo 'there is Pyton 2.x' echo 'there is Python 2.x'
elseif has('python3') elseif has('python3')
echo 'there is Python 3.x' echo 'there is Python 3.x'
endif endif

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2011 Jul 15 *indent.txt* For Vim version 7.3. Last change: 2011 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -132,8 +132,8 @@ The 'cinoptions' option sets how Vim performs indentation. The value after
the option character can be one of these (N is any number): the option character can be one of these (N is any number):
N indent N spaces N indent N spaces
-N indent N spaces to the left -N indent N spaces to the left
Ns N times 'shiftwidth spaces Ns N times 'shiftwidth' spaces
-Ns N times 'shiftwidth spaces to the left -Ns N times 'shiftwidth' spaces to the left
In the list below, In the list below,
"N" represents a number of your choice (the number can be negative). When "N" represents a number of your choice (the number can be negative). When
@ -432,7 +432,7 @@ The examples below assume a 'shiftwidth' of 4.
c3 c3 c3 c3
) && c4; ) && c4; ) && c4; ) && c4;
< <
*cino-2* *cino-w*
wN When in unclosed parentheses and N is non-zero and either wN When in unclosed parentheses and N is non-zero and either
using "(0" or "u0", respectively, or using "U0" and the unclosed using "(0" or "u0", respectively, or using "U0" and the unclosed
parentheses is the first non-white character in its line, line parentheses is the first non-white character in its line, line
@ -706,6 +706,43 @@ Indent for a continuation line: >
let g:pyindent_continue = '&sw * 2' let g:pyindent_continue = '&sw * 2'
R *ft-r-indent*
Function arguments are aligned if they span for multiple lines. If you prefer
do not have the arguments of functions aligned, put in your |vimrc|:
>
let r_indent_align_args = 0
<
All lines beginning with a comment character, #, get the same indentation
level of the normal R code. Users of Emacs/ESS may be used to have lines
beginning with a single # indented in the 40th column, ## indented as R code,
and ### not indented. If you prefer that lines beginning with comment
characters are aligned as they are by Emacs/ESS, put in your |vimrc|:
>
let r_indent_ess_comments = 1
<
If you prefer that lines beginning with a single # are aligned at a column
different from the 40th one, you should set a new value to the variable
r_indent_comment_column, as in the example below:
>
let r_indent_comment_column = 30
<
Any code after a line that ends with "<-" is indented. Emacs/ESS does not
indent the code if it is a top level function. If you prefer that the
Vim-R-plugin behaves like Emacs/ESS in this regard, put in your |vimrc|:
>
let r_indent_ess_compatible = 1
<
Below is an example of indentation with and without this option enabled:
>
### r_indent_ess_compatible = 1 ### r_indent_ess_compatible = 0
foo <- foo <-
function(x) function(x)
{ {
paste(x) paste(x)
} }
<
SHELL *ft-sh-indent* SHELL *ft-sh-indent*
The amount of indent applied under various circumstances in a shell file can The amount of indent applied under various circumstances in a shell file can

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2011 Jan 04 *index.txt* For Vim version 7.3. Last change: 2011 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1261,7 +1261,7 @@ tag command action ~
|:k| :k set a mark |:k| :k set a mark
|:keepalt| :keepa[lt] following command keeps the alternate file |:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are |:keepmarks| :kee[pmarks] following command keeps marks where they are
|:keepjumps| :keepj[jumps] following command keeps jumplist and marks |:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:lNext| :lN[ext] go to previous entry in location list |:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file |:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines |:list| :l[ist] print lines

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10 *insert.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1020,6 +1020,21 @@ On the second invocation the arguments are:
The function must return a List with the matching words. These matches The function must return a List with the matching words. These matches
usually include the "a:base" text. When there are no matches return an empty usually include the "a:base" text. When there are no matches return an empty
List. List.
In order to return more information than the matching words, return a Dict
that contains the List. The Dict can have these items:
words The List of matching words (mandatory).
refresh A string to control re-invocation of the function
(optional).
The only value currently recognized is "always", the
effect is that the function is called whenever the
leading text is changed.
Other items are ignored.
For example, the function can contain this: >
let matches = ... list of words ...
return {'words': matches, 'refresh': 'always'}
<
*complete-items* *complete-items*
Each list item can either be a string or a Dictionary. When it is a string it Each list item can either be a string or a Dictionary. When it is a string it
is used as the completion. When it is a Dictionary it can contain these is used as the completion. When it is a Dictionary it can contain these
@ -1040,9 +1055,10 @@ items:
empty when non-zero this match will be added even when it is empty when non-zero this match will be added even when it is
an empty string an empty string
All of these except 'icase' must be a string. If an item does not meet these All of these except 'icase', 'dup' and 'empty' must be a string. If an item
requirements then an error message is given and further items in the list are does not meet these requirements then an error message is given and further
not used. You can mix string and Dictionary items in the returned list. items in the list are not used. You can mix string and Dictionary items in
the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in be relatively short. The "info" item can be longer, it will be displayed in

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2011 Jun 13 *map.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -228,7 +228,7 @@ text before the cursor and start omni completion when some condition is met.
For abbreviations |v:char| is set to the character that was typed to trigger For abbreviations |v:char| is set to the character that was typed to trigger
the abbreviation. You can use this to decide how to expand the {lhs}. You the abbreviation. You can use this to decide how to expand the {lhs}. You
you should not either insert or change the v:char. should not either insert or change the v:char.
Be very careful about side effects! The expression is evaluated while Be very careful about side effects! The expression is evaluated while
obtaining characters, you may very well make the command dysfunctional. obtaining characters, you may very well make the command dysfunctional.
@ -544,6 +544,7 @@ construct can be used:
<Char-123> character 123 <Char-123> character 123
<Char-033> character 27 <Char-033> character 27
<Char-0x7f> character 127 <Char-0x7f> character 127
<S-Char-114> character 114 ('r') shifted ('R')
This is useful to specify a (multi-byte) character in a 'keymap' file. This is useful to specify a (multi-byte) character in a 'keymap' file.
Upper and lowercase differences are ignored. Upper and lowercase differences are ignored.

View File

@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.3. Last change: 2011 Jun 02 *motion.txt* For Vim version 7.3. Last change: 2011 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1017,8 +1017,6 @@ CTRL-O Go to [count] Older cursor position in jump list
<Tab> or *CTRL-I* *<Tab>* <Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list CTRL-I Go to [count] newer cursor position in jump list
(not a motion command). (not a motion command).
In a |quickfix-window| it takes you to the position of
the error under the cursor.
{not in Vi} {not in Vi}
{not available without the |+jumplist| feature} {not available without the |+jumplist| feature}

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2011 Jul 07 *options.txt* For Vim version 7.3. Last change: 2011 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -4861,6 +4861,10 @@ A jump table for the options with a short description can be found at |Q_op|.
written. A ":set nomodified" command also resets the original written. A ":set nomodified" command also resets the original
values to the current values and the 'modified' option will be values to the current values and the 'modified' option will be
reset. reset.
This option is not set when a change is made to the buffer as the
result of a BufNewFile, BufRead/BufReadPost, BufWritePost,
FileAppendPost or VimLeave autocommand event. See |gzip-example| for
an explanation.
When 'buftype' is "nowrite" or "nofile" this option may be set, but When 'buftype' is "nowrite" or "nofile" this option may be set, but
will be ignored. will be ignored.
@ -5898,8 +5902,11 @@ A jump table for the options with a short description can be found at |Q_op|.
"bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like "bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
systems, the default is set according to the value of 'shell', to systems, the default is set according to the value of 'shell', to
reduce the need to set this option by the user. It's not used for reduce the need to set this option by the user. It's not used for
OS/2 (EMX figures this out itself). See |option-backslash| about OS/2 (EMX figures this out itself).
including spaces and backslashes. See |dos-shell|. On Unix it can have more than one flag. Each white space separated
part is passed as an argument to the shell command.
See |option-backslash| about including spaces and backslashes.
Also see |dos-shell| for MS-DOS and MS-Windows.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16 *os_vms.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL VIM REFERENCE MANUAL
@ -38,9 +38,6 @@ You can download the Vim source code by ftp from the official Vim site:
Or use one of the mirrors: Or use one of the mirrors:
ftp://ftp.vim.org/pub/vim/MIRRORS ftp://ftp.vim.org/pub/vim/MIRRORS
You will need both the Unix and Extra archives to build vim.exe for VMS.
For using Vim's full power you will need the runtime files as well.
You can download precompiled executables from: You can download precompiled executables from:
http://www.polarhome.com/vim/ http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/ ftp://ftp.polarhome.com/pub/vim/
@ -75,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-problems* 4. Problems *vms-problems*
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64 The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
platforms with the DEC C compiler. It should work without bigger problems. platforms with the DEC C compiler. It should work without big problems.
If your system does not have some include libraries you can tune up in If your system does not have some include libraries you can tune up in
OS_VMS_CONF.H file. OS_VMS_CONF.H file.
@ -88,11 +85,11 @@ Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
Note: Under VAX it should work with the DEC C compiler without problems. The Note: Under VAX it should work with the DEC C compiler without problems. The
VAX C compiler is not fully ANSI C compatible in pre-processor directives VAX C compiler is not fully ANSI C compatible in pre-processor directives
semantics, therefore you have to use a converter program what will do the lion semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt part of the job. For detailed instructions read file INSTALLvms.txt
MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
change to subdirectory and build it separately. change to a subdirectory and build it separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above. specific source might contain CTAGS source files as described above.
@ -184,9 +181,9 @@ You may want to create .vimrc and .gvimrc files in your home directory
The easiest way is just rename example files. You may leave the menu file The easiest way is just rename example files. You may leave the menu file
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will (MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
be default setup for all users, and for users it is enough just to have their be the default setup for all users, and for users it is enough to just have
own additions or resetting in their home directory in files .vimrc and .gvimrc. their own additions or resetting in their home directory in files .vimrc and
It should work without problems. .gvimrc. It should work without problems.
Note: Remember, system rc files (default for all users) don't have a leading Note: Remember, system rc files (default for all users) don't have a leading
".". So, system rc files are: > ".". So, system rc files are: >
@ -200,7 +197,7 @@ and user customized rc files are: >
sys$login:.vimrc sys$login:.vimrc
sys$login:.gvimrc sys$login:.gvimrc
You can check that everything is on the right place with the :version command. You can check that everything is at the right place with the :version command.
Example LOGIN.COM: > Example LOGIN.COM: >
@ -209,15 +206,15 @@ Example LOGIN.COM: >
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40 $ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.5.223/trans=tcpip $ set disp/create/node=192.168.5.223/trans=tcpip
Note: This set-up should be enough, if you are working on standalone server or Note: This set-up should be enough, if you are working on a standalone server or
clustered environment, but if you want to use Vim as internode editor in clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well. DECNET environment, it will satisfy as well.
You just have to define the "whole" path: > You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>" $ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE" $ vi*m :== "mcr VIM:VIM.EXE"
As for example: > For example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]" $ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required $ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@ -305,7 +302,7 @@ For more information type $help set disp in VMS prompt.
built-in DEC support. built-in DEC support.
Please note, that executables without GUI are slightly faster during startup Please note, that executables without GUI are slightly faster during startup
then with enabled GUI in character mode. Therefore, if you do not use GUI than with enabled GUI in character mode. Therefore, if you do not use GUI
features, it is worth to choose non GUI executables. features, it is worth to choose non GUI executables.
============================================================================== ==============================================================================
@ -360,7 +357,7 @@ number, try these settings. >
:set nowritebackup " does not have any purpose on VMS. It's the :set nowritebackup " does not have any purpose on VMS. It's the
" default. " default.
Recovery is working perfect as well from the default swap file. Recovery is working perfectly as well from the default swap file.
Read more with :help swapfile Read more with :help swapfile
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy (Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
@ -445,14 +442,14 @@ Terminal entry not found in termcap
builtin_dumb builtin_dumb
defaulting to 'vt320' defaulting to 'vt320'
--- ---
The solution is to define default terminal name: > The solution is to define the default terminal name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead. $ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive $ ! Note: it's case sensitive
$ define term "vt320" $ define term "vt320"
Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
keyboard mappings. They should work perfect as they are, including arrows, keyboard mappings. They should work perfectly as they are, including arrows,
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
.gvimrc: > .gvimrc: >
@ -465,8 +462,8 @@ your .vimrc file: >
set ttyfast " set fast terminal set ttyfast " set fast terminal
Note: if you're using Vim on remote host or through very slow connection, it's Note: if you're using Vim on remote host or through a very slow connection, it's
recommended to avoid fast terminal option with: > recommended to avoid the fast terminal option with: >
set nottyfast " set terminal to slow mode set nottyfast " set terminal to slow mode
@ -483,8 +480,8 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all to DCL prompt. This feature is possible to use without any problem with all
DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc. DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
we're running into trouble if we follow the Vim documentation (see: help etc. we're running into trouble if we follow the Vim documentation (see: help
xxd). xxd).
Solution: Execute with the MC command and add the full path to the executable. Solution: Execute with the MC command and add the full path to the executable.
@ -534,7 +531,7 @@ Example: >
$define SYS$PRINT HP5ANSI $define SYS$PRINT HP5ANSI
You can print out whole buffer or just the marked area. You can print out the whole buffer or just the marked area.
More info under :help hardcopy More info under :help hardcopy
(Zoltan Arpadffy, Vim 6.0c) (Zoltan Arpadffy, Vim 6.0c)
@ -561,15 +558,15 @@ will be confused after a window-resize.
From 6.0 diff functionality has been implemented, but OpenVMS does not use From 6.0 diff functionality has been implemented, but OpenVMS does not use
GNU/Unix like diff therefore built in diff does not work. GNU/Unix like diff therefore built in diff does not work.
There is a simple solution to solve this anomaly. Install a Unix like diff There is a simple solution to solve this anomaly. Install a Unix like diff
and Vim will work perfect in diff mode too. You just have to redefine your and Vim will work perfectly in diff mode too. You just have to redefine your
diff program as: > diff program as: >
define /nolog diff <GNU_PATH>diff.exe define /nolog diff <GNU_PATH>diff.exe
Another, more sophisticated solution is described below (8.12 diff-mode) Another, more sophisticated solution is described below (8.12 diff-mode)
There are some other programs as patch, make etc that may cause same problems. There are other programs such as patch, make etc that may cause the same
At www.polarhome.com is possible to download an GNU package for Alpha and VAX problems. At www.polarhome.com is possible to download an GNU package for
boxes that is meant to solve GNU problems on OpenVMS. Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
(Zoltan Arpadffy, Vim 6.1) (Zoltan Arpadffy, Vim 6.1)
@ -657,20 +654,21 @@ C keywords since ctags version 5.1.)
8.14 VIMTUTOR for beginners 8.14 VIMTUTOR for beginners
It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
first steps with Vim on OpenVMS. Depending of binary distribution you may steps with Vim on OpenVMS. Depending of binary distribution you may start it
start it with: > with: >
@vim:vimtutor @vim:vimtutor
(Thomas.R.Wyant III, Vim 6.1) (Thomas.R.Wyant III, Vim 6.1)
8.14 Slow start in console mode issue 8.16 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administrators As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide. deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather Unfortunately, on a remote slow connections GUI/GTK executables behave rather
slow when user wants to run Vim just in the console mode - because of X environment detection timeout. slow when user wants to run Vim just in the console mode - because of X
environment detection timeout.
Luckily, there is a simple solution for that. Administrators need to deploy Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: > both GUI/GTK build and just console build executables, like below: >
@ -715,7 +713,7 @@ View of Cluster from system ID 11655 node: TOR
It is convenient to have a common VIM directory but execute different It is convenient to have a common VIM directory but execute different
executables. executables.
There are more solutions for this problem: There are several solutions for this problem:
Solution 1. All executables in the same directory with different names Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added This is easily done with the following script that can be added
@ -769,7 +767,7 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 7.3 Version 7.3
- CTAGS 5.8 included - CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX - VMS compile warnings fixed - floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename - filepath completion corrected - too many chars were escaped in filename
and shell commands and shell commands
- the following plugins are included into VMS runtime: - the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3, genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,

View File

@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.3. Last change: 2011 May 28 *os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by George Reilly VIM REFERENCE MANUAL by George Reilly
@ -316,11 +316,11 @@ A. When using :! to run an external command, you can run it with "start": >
There are two optional arguments (see the next Q): There are two optional arguments (see the next Q):
/min the window will be minimized. /min the window will be minimized.
/b" no console window will be opened /b" no console window will be opened
You can only one of these flags at a time. A second second one will be You can use only one of these flags at a time. A second one will be
treated as the start of the command. treated as the start of the command.
Q. How do I avoid getting a window for programs that I run asynchronously? Q. How do I avoid getting a window for programs that I run asynchronously?
A. You have two possible solutions depending on what exactly do you want: A. You have two possible solutions depending on what you want:
1) You may use the /min flag in order to run program in a minimized state 1) You may use the /min flag in order to run program in a minimized state
with no other changes. It will work equally for console and GUI with no other changes. It will work equally for console and GUI
applications. applications.
@ -328,7 +328,7 @@ A. You have two possible solutions depending on what exactly do you want:
console window for them (GUI applications are not affected). But you console window for them (GUI applications are not affected). But you
should use this flag only if the application you run doesn't require any should use this flag only if the application you run doesn't require any
input. Otherwise it will get an EOF error because its input stream input. Otherwise it will get an EOF error because its input stream
(stdin) would be redirected to \\.\NUL (stdoud and stderr too). (stdin) would be redirected to \\.\NUL (stdout and stderr too).
Example for a console application, run Exuberant ctags: > Example for a console application, run Exuberant ctags: >
:!start /min ctags -R . :!start /min ctags -R .

View File

@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.3. Last change: 2011 May 25 *pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Apr 02 *pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14
---------------- ----------------
Vimball Archiver Vimball Archiver
@ -16,6 +16,7 @@ Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
1. Contents *vba* *vimball* *vimball-contents* 1. Contents *vba* *vimball* *vimball-contents*
1. Contents......................................: |vimball-contents| 1. Contents......................................: |vimball-contents|
2. Vimball Introduction..........................: |vimball-intro|
3. Vimball Manual................................: |vimball-manual| 3. Vimball Manual................................: |vimball-manual|
MkVimball.....................................: |:MkVimball| MkVimball.....................................: |:MkVimball|
UseVimball....................................: |:UseVimball| UseVimball....................................: |:UseVimball|

View File

@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2011 May 24 *pi_zip.txt* For Vim version 7.3. Last change: 2011 Aug 14
+====================+ +====================+
| Zip File Interface | | Zip File Interface |
@ -69,7 +69,6 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
let g:loaded_zipPlugin= 1 let g:loaded_zipPlugin= 1
let g:loaded_zip = 1 let g:loaded_zip = 1
< <
<
============================================================================== ==============================================================================
3. Additional Extensions *zip-extension* 3. Additional Extensions *zip-extension*

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18 *starting.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -424,12 +424,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
"-d con:30/10/600/150". But you can also use it to start "-d con:30/10/600/150". But you can also use it to start
editing on another device, e.g., AUX:. {not in Vi} editing on another device, e.g., AUX:. {not in Vi}
*-f* *-f*
-f Amiga: Do not restart Vim to open a new window. This -f GUI: Do not disconnect from the program that started Vim.
option should be used when Vim is started by a program that
will wait for the edit session to finish (e.g., mail or
readnews). See |amiga-window|.
GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new 'f' stands for "foreground". If omitted, the GUI forks a new
process and exits the current one. "-f" should be used when process and exits the current one. "-f" should be used when
gvim is started by a program that will wait for the edit gvim is started by a program that will wait for the edit
@ -437,8 +432,14 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
never to fork, include 'f' in 'guioptions' in your |gvimrc|. never to fork, include 'f' in 'guioptions' in your |gvimrc|.
Careful: You can use "-gf" to start the GUI in the foreground, Careful: You can use "-gf" to start the GUI in the foreground,
but "-fg" is used to specify the foreground color. |gui-fork| but "-fg" is used to specify the foreground color. |gui-fork|
Amiga: Do not restart Vim to open a new window. This
option should be used when Vim is started by a program that
will wait for the edit session to finish (e.g., mail or
readnews). See |amiga-window|.
{not in Vi} {not in Vi}
*--nofork* *--nofork*
--nofork GUI: Do not fork. Same as |-f|. --nofork GUI: Do not fork. Same as |-f|.
*-u* *E282* *-u* *E282*

View File

@ -4233,6 +4233,8 @@ E848 syntax.txt /*E848*
E849 syntax.txt /*E849* E849 syntax.txt /*E849*
E85 options.txt /*E85* E85 options.txt /*E85*
E850 change.txt /*E850* E850 change.txt /*E850*
E851 gui_x11.txt /*E851*
E852 gui_x11.txt /*E852*
E86 windows.txt /*E86* E86 windows.txt /*E86*
E87 windows.txt /*E87* E87 windows.txt /*E87*
E88 windows.txt /*E88* E88 windows.txt /*E88*
@ -4963,7 +4965,6 @@ cino-( indent.txt /*cino-(*
cino-) indent.txt /*cino-)* cino-) indent.txt /*cino-)*
cino-+ indent.txt /*cino-+* cino-+ indent.txt /*cino-+*
cino-/ indent.txt /*cino-\/* cino-/ indent.txt /*cino-\/*
cino-2 indent.txt /*cino-2*
cino-: indent.txt /*cino-:* cino-: indent.txt /*cino-:*
cino-= indent.txt /*cino-=* cino-= indent.txt /*cino-=*
cino-> indent.txt /*cino->* cino-> indent.txt /*cino->*
@ -4990,6 +4991,7 @@ cino-p indent.txt /*cino-p*
cino-star indent.txt /*cino-star* cino-star indent.txt /*cino-star*
cino-t indent.txt /*cino-t* cino-t indent.txt /*cino-t*
cino-u indent.txt /*cino-u* cino-u indent.txt /*cino-u*
cino-w indent.txt /*cino-w*
cino-{ indent.txt /*cino-{* cino-{ indent.txt /*cino-{*
cino-} indent.txt /*cino-}* cino-} indent.txt /*cino-}*
cinoptions-values indent.txt /*cinoptions-values* cinoptions-values indent.txt /*cinoptions-values*
@ -5690,6 +5692,7 @@ ft-ptcap-syntax syntax.txt /*ft-ptcap-syntax*
ft-python-indent indent.txt /*ft-python-indent* ft-python-indent indent.txt /*ft-python-indent*
ft-python-syntax syntax.txt /*ft-python-syntax* ft-python-syntax syntax.txt /*ft-python-syntax*
ft-quake-syntax syntax.txt /*ft-quake-syntax* ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
ft-readline-syntax syntax.txt /*ft-readline-syntax* ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax* ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni* ft-ruby-omni insert.txt /*ft-ruby-omni*
@ -6022,6 +6025,7 @@ gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gu change.txt /*gu* gu change.txt /*gu*
gugu change.txt /*gugu* gugu change.txt /*gugu*
gui gui.txt /*gui* gui gui.txt /*gui*
gui-IME gui.txt /*gui-IME*
gui-clipboard gui_w32.txt /*gui-clipboard* gui-clipboard gui_w32.txt /*gui-clipboard*
gui-colors syntax.txt /*gui-colors* gui-colors syntax.txt /*gui-colors*
gui-extras gui.txt /*gui-extras* gui-extras gui.txt /*gui-extras*
@ -6230,6 +6234,7 @@ i) motion.txt /*i)*
i< motion.txt /*i<* i< motion.txt /*i<*
i> motion.txt /*i>* i> motion.txt /*i>*
iB motion.txt /*iB* iB motion.txt /*iB*
iBus gui.txt /*iBus*
iW motion.txt /*iW* iW motion.txt /*iW*
i[ motion.txt /*i[* i[ motion.txt /*i[*
i] motion.txt /*i]* i] motion.txt /*i]*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2011 Jul 15 *todo.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -34,21 +34,40 @@ not be repeated below, unless there is extra information.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Patch to start GTK only after forking. (Tim Starling, 2011 Sep 12)
Patch for Lua debug(). (Rob Hoelz, 2011 Sep 12)
Go through more coverity reports. Go through more coverity reports.
Using "." to repeat a Visual delete counts bytes, not characters. Can this be
fixed? (Connor Lane Smith, 2011 Sep 1)
Patch to allow getchar() in expression mapping.
Why was typeahead saved and restored? (James Vega, 2011 Aug 31)
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22) Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Patch to fail if configure can't find an interface, such as Python.
(Shlomi Fish, 2011 Jul 11)
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1) Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
Needs more work. Needs more work.
With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
register. (Michael Seiwald, 2011 Jun 28) one)
The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2) Patch for: (Christian Brabandt, 2011 Aug 22)
Compare with how old Vi works and with posix spec. terminal is 80 x 24, - Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
'scroll' option set to 11. below/above).
Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
'cursorline' is displayed too short when there are concealed characters and 'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser) 'list' is set. (Dennis Preiser)
@ -63,29 +82,12 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14) 21, Ben Fritz, 2010 Sep 14)
When opening file from windows explorer, characters inside [] cause Need to escape $HOME on Windows? (ZyX, 2011 Jul 21)
problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Use function to set paste option and restore it, use CTRL-R+ to paste.
Help file foldexpr (ZyX)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20) Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
Patch to automatically get version number into NSIS. (Guopeng Wen, 2011 May With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
27) register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
Patch to add more command completions (Dominique Pelle, 2011 Jun 25)
Patch to have GvimExt not use "edit with existing Vim" entries.
(Jerome Vuarand, 2011 Jun 22)
Patch to make character classes work with multi-byte characters.
(Dominique Pelle, 2011 May 31, update July 11)
In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes: Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes:
@ -102,19 +104,9 @@ The error was 'RenderBadPicture (invalid Picture parameter)'.
backtrace from your debugger if you break on the gdk_x_error() function.) backtrace from your debugger if you break on the gdk_x_error() function.)
Check that number of pixels doesn't go above 65535? Check that number of pixels doesn't go above 65535?
8 Add an event like CursorHold that is triggered repeatedly, not just once
after typing something.
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
function that resets did_cursorhold.
Patch by Christian Brabandt, 2011 May 6.
popup completion menu closes quickly when there is a fold in the buffer. (Jan popup completion menu closes quickly when there is a fold in the buffer. (Jan
Christoph Ebersbach, 2011 Jul 3) Christoph Ebersbach, 2011 Jul 3)
CursorHold repeats typed key when it's the start of a mapping.
(Will Gray, 2011 Mar 23)
Christian Brabandt: problem is that OP_PENDING isn't set.
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26) Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
This line hangs Vim, because of syntax HL: This line hangs Vim, because of syntax HL:
@ -135,6 +127,8 @@ Using ":break" or something else that stops executing commands inside a
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3) Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the 64 bits value. Change all number options to use nropt_T and define it to the
right type. right type.
@ -142,18 +136,17 @@ right type.
string() can't parse back "inf" and "nan". Fix documentation or fix code? string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23) (ZyX, 2010 Aug 23)
Make 'formatprg' global-local. (Sung Pae)
When doing "redir => s:foo" in a script and then "redir END" somewhere else When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo. (e.g. in a function) it can't find s:foo.
7 Make "ga" show the digraph for a character, if it exists.
Patch from Christian Brabandt, 2011 Aug 19.
maparg() does not show the <script> flag. When temporarily changing a maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID? mapping, how to restore the script ID?
Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
Bug in try/catch: return with invalid compare throws error that isn't caught. Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26) (ZyX, 2011 Jan 26)
@ -171,10 +164,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22) "0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
Deleting a linewise selection that includes the last line of the file leaves
an empty line. (Ben Schmidt, 2011 Mar 17)
Patch by Christian Brabandt, 2011 Mar 19.
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30) 30)
@ -194,6 +183,29 @@ With a filler line in diff mode, it isn't displayed in the column with line
number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5) number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5)
Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems. Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems.
8 Add a command to jump to the next character highlighted with "Error".
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
8 Add an event like CursorHold that is triggered repeatedly, not just once
after typing something.
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
function that resets did_cursorhold.
Patch by Christian Brabandt, 2011 May 6.
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
Patch by Christian Brabandt, 2011 Jul 27.
Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)
9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
avoid matching something up to a time 11:22:33.
Patch by Christian Brabandt, 2011 Jul 27.
Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
In the sandbox it's not allowed to do many things, but it's possible to change In the sandbox it's not allowed to do many things, but it's possible to change
or set variables. Add a way to prevent variables from being changed in the or set variables. Add a way to prevent variables from being changed in the
sandbox? E.g.: ":protect g:restore_settings". sandbox? E.g.: ":protect g:restore_settings".
@ -223,9 +235,6 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle, "L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
2011 Feb 27) 2011 Feb 27)
Patch to fail if configure can't find an interface, such as Python.
(Shlomi Fish, 2011 Jul 11)
Copy/paste between Vim and Google chrome doesn't work well for multi-byte Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17) characters. (Ben Haskell, 2010 Sep 17)
When putting text in the cut buffer (when exiting) and conversion doesn't work When putting text in the cut buffer (when exiting) and conversion doesn't work
@ -309,26 +318,20 @@ Echo starts in the wrong column:
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7) Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
GvimExt sets $LANG in the wrong way. Patch by Yasuhiro Matsumoto, 2011 Jun
15. This will fix issue no 11.
When writing a file > 2Gbyte, the reported number of bytes is negative. When writing a file > 2Gbyte, the reported number of bytes is negative.
(Antonio Colombo, 2010 Dec 18) (Antonio Colombo, 2010 Dec 18)
Patch: Let rare word highlighting overrule good word highlighting. Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2) (Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10) instead of one. (Constantin Pan, 2010 Sep 10)
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18) Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
Patch to handle resizing when tab is opened, when at full size. (Yukihiro Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Nakadaira, 2010 Jan 6) Winckler, 2011 May 11)
Requires a map mode for Insert mode started from blockwise Visual mode.
Writing nested List and Dict in viminfo gives error message and can't be read Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13) back. (Yukihiro Nakadaira, 2010 Nov 13)
@ -426,10 +429,6 @@ echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
Cannot use getchar() inside :normal and using an expression mapping. Is this Cannot use getchar() inside :normal and using an expression mapping. Is this
supposed to work? (XyX, 2010 Sep 22) supposed to work? (XyX, 2010 Sep 22)
When using an expression mapping with a multi-byte character each byte is
converted to a utf-8 character. (ZyX, 2011 Jan 4)
Patch for possible solution. (Yukihiro Nakadaira, 2011 Jan 5)
When a:base in 'completefunc' starts with a number it's passed as a number, When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value. string value.
@ -756,11 +755,6 @@ an alternate solution, also for src/ex_getln.c.
This also fails when the file or directory name contains "%". (Thoml, 2008 This also fails when the file or directory name contains "%". (Thoml, 2008
July 7) July 7)
The str2special() function doesn't handle multi-byte characters properly.
Patch from Vladimir Vichniakov, 2007 Apr 24.
Should clean up the whole function. Also allow modifiers like <S-Char-32>?
find_special_key() also has this problem.
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull, Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
2008 May 14) 2008 May 14)
@ -836,8 +830,6 @@ try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25) try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
Recognize and ignore BOM in error file. (Aleksey Baibarin)
":tab help" always opens a new tab, while ":help" re-uses an existing window. ":tab help" always opens a new tab, while ":help" re-uses an existing window.
Would be more consistent when an existing tab is re-used. (Tony Mechelynck) Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
@ -871,9 +863,6 @@ Can't easily close the help window, like ":pc" closes the preview window and
":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal) ":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
Patch for :helpclose, Christian Brabandt, 2010 Sep 6. Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
Patch for :lmake not updating the quickfix window title. (Lech Lorens, 2011
Mar 26)
When 'diffopt' has "context:0" a single deleted line causes two folds to merge When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31) and mess up syncing. (Austin Jennings, 2008 Jan 31)
@ -934,9 +923,6 @@ popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu. size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker. Other solution by A.Politz, 2007 Aug 22. This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
When the popup menu is close to the edge of the window it is truncated. Patch
to anchor the popup menu in a different way. (James Vega, 2008 Jul 30)
Windows 98: pasting from the clipboard with text from another application has Windows 98: pasting from the clipboard with text from another application has
a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
isn't right? isn't right?
@ -1075,9 +1061,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
Feature request: Command to go to previous tab, like what CTRL-W p does for Feature request: Command to go to previous tab, like what CTRL-W p does for
windows. (Adam George) windows. (Adam George)
When using input() in a loop and then ":echo" the display column isn't right.
(Benjamin Fritz, 2008 Aug 28) Patch by Ben Schmidt, 2008 Sep 2.
F1 - F4 in an xterm produce a different escape sequence when used with a F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2) K_ZHOME? (Dickey, 2007 Dec 2)
@ -2662,7 +2645,6 @@ Folding:
8 Add "z/" and "z?" for searching in not folded text only. 8 Add "z/" and "z?" for searching in not folded text only.
9 Add search pattern item to only match in closed or open fold and/or fold 9 Add search pattern item to only match in closed or open fold and/or fold
with certain level. Allows doing ":g/pat/cmd" to work on closed folds. with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
8 When a closed fold is displayed open because of 'foldminlines', the 8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the behavior of commands is still like the fold is closed. How to make the
user aware of this? user aware of this?
@ -2842,7 +2824,6 @@ Syntax highlighting:
8 Highlight the text between two matching parens (e.g., with a grey 8 Highlight the text between two matching parens (e.g., with a grey
background) when on one of the parens or in between them. background) when on one of the parens or in between them.
Option for the matchparen plugin? Option for the matchparen plugin?
8 Add a command to jump to the next character highlighted with "Error".
8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop 8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
sequences. Add remark in docs that :if 'term' == "term-name" should be sequences. Add remark in docs that :if 'term' == "term-name" should be
used. used.
@ -4479,11 +4460,8 @@ Marks:
Digraphs: Digraphs:
7 Make "ga" show the digraph for a character, if it exists. 7 Make "ga" show the keymap for a character, if it exists.
Also the keymap?
Also show the code of the character after conversion to 'filenecoding'. Also show the code of the character after conversion to 'filenecoding'.
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
below/above).
- Use digraph table to tell Vim about the collating sequence of special - Use digraph table to tell Vim about the collating sequence of special
characters? characters?
8 Add command to remove one or more (all) digraphs. (Brown) 8 Add command to remove one or more (all) digraphs. (Brown)
@ -4601,8 +4579,6 @@ Debug mode:
Various improvements: Various improvements:
9 Python: be able to define a Python function that can be called directly 9 Python: be able to define a Python function that can be called directly
from Vim script. Requires converting the arguments and return value. from Vim script. Requires converting the arguments and return value.
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on 7 Add plugins for formatting? Should be able to make a choice depending on
the language of a file (English/Korean/Japanese/etc.). the language of a file (English/Korean/Japanese/etc.).
Setting the 'langformat' option to "chinese" would load the Setting the 'langformat' option to "chinese" would load the
@ -4620,8 +4596,6 @@ Various improvements:
7 Instead of filtering errors with a shell script it should be possible to 7 Instead of filtering errors with a shell script it should be possible to
do this with Vim script. A function that filters the raw text that comes do this with Vim script. A function that filters the raw text that comes
from the 'makeprg'? from the 'makeprg'?
9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
avoid matching something up to a time 11:22:33.
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh - Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar) Govindachar)
7 Add a command that goes back to the position from before jumping to the 7 Add a command that goes back to the position from before jumping to the

View File

@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.3. Last change: 2010 Dec 19 *undo.txt* For Vim version 7.3. Last change: 2011 Aug 02
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -35,8 +35,10 @@ CTRL-R Redo [count] changes which were undone. {Vi: redraw
:red[o] Redo one change which was undone. {Vi: no redo} :red[o] Redo one change which was undone. {Vi: no redo}
*U* *U*
U Undo all latest changes on one line. {Vi: while not U Undo all latest changes on one line, the line where
moved off of it} the latest change was made. |U| itself also counts as
a change, and thus |U| undoes a previous |U|.
{Vi: while not moved off of the last modified line}
The last changes are remembered. You can use the undo and redo commands above The last changes are remembered. You can use the undo and redo commands above
to revert the text to how it was before each change. You can also apply the to revert the text to how it was before each change. You can also apply the

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Oct 11 *vi_diff.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -88,8 +88,8 @@ Maximum display width Unix and Win32: 1024 characters, otherwise 255
characters characters
Maximum lhs of a mapping 50 characters. Maximum lhs of a mapping 50 characters.
Number of different highlighting types: over 30000 Number of different highlighting types: over 30000
Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit Range of a Number variable: -2147483648 to 2147483647 (might be more on 64
systems) bit systems)
Maximum length of a line in a tags file: 512 bytes. Maximum length of a line in a tags file: 512 bytes.
Information for undo and text in registers is kept in memory, thus when making Information for undo and text in registers is kept in memory, thus when making

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.3. Last change: 2010 Aug 15 *windows.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -246,7 +246,7 @@ window will appear.
These command modifiers can be combined to make a vertically split window These command modifiers can be combined to make a vertically split window
occupy the full height. Example: > occupy the full height. Example: >
:vertical topleft edit tags :vertical topleft split tags
Opens a vertically split, full-height window on the "tags" file at the far Opens a vertically split, full-height window on the "tags" file at the far
left of the Vim window. left of the Vim window.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 Jul 17 " Last Change: 2011 Sep 07
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@ -922,7 +922,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript " JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript
" Java Server Pages " Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp au BufNewFile,BufRead *.jsp setf jsp
@ -2345,6 +2345,9 @@ endfunc
" Yaml " Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml au BufNewFile,BufRead *.yaml,*.yml setf yaml
" yum conf (close enough to dosini)
au BufNewFile,BufRead */etc/yum.conf setf dosini
" Zope " Zope
" dtml (zope dynamic template markup language), pt (zope page template), " dtml (zope dynamic template markup language), pt (zope page template),
" cpt (zope form controller page template) " cpt (zope form controller page template)
@ -2515,6 +2518,9 @@ au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf " Xinetd conf
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd') au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
" yum conf (close enough to dosini)
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
" Z-Shell script " Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 Sep 25 " Last Change: 2011 Aug 04
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@ -36,7 +36,7 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and " When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments. " braces in comments.
let b:match_words = &matchpairs let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character' let b:match_skip = 's:comment\|string\|character'
" Win32 can filter files in the browse dialog " Win32 can filter files in the browse dialog

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: man " Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Nov 29 " Last Change: 2011 Jul 25
" To make the ":Man" command available before editing a manual page, source " To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file. " this script from your startup vimrc file.
@ -17,7 +17,9 @@ if &filetype == "man"
" Ensure Vim is not recursively invoked (man-db does this) " Ensure Vim is not recursively invoked (man-db does this)
" when doing ctrl-[ on a man page reference. " when doing ctrl-[ on a man page reference.
if exists("$MANPAGER")
let $MANPAGER = "" let $MANPAGER = ""
endif
" allow dot and dash in manual page name. " allow dot and dash in manual page name.
setlocal iskeyword+=\.,- setlocal iskeyword+=\.,-

View File

@ -23,6 +23,7 @@
" 26-04-2002 Got initial version working reasonably well " 26-04-2002 Got initial version working reasonably well
" 29-04-2002 Fixed problems in function headers and max line width " 29-04-2002 Fixed problems in function headers and max line width
" Added support for two-line if's without curly braces " Added support for two-line if's without curly braces
" Fixed hang: 2011 Aug 31
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@ -118,7 +119,7 @@ function! GetAwkIndent()
" Case 1 " Case 1
if prev_data =~ ')' && brace_balance < 0 if prev_data =~ ')' && brace_balance < 0
while brace_balance != 0 while brace_balance != 0 && prev_lineno > 0
let prev_lineno = s:Get_prev_line( prev_lineno ) let prev_lineno = s:Get_prev_line( prev_lineno )
let prev_data = getline( prev_lineno ) let prev_data = getline( prev_lineno )
let brace_balance=brace_balance+s:Get_brace_balance(prev_data,'(',')' ) let brace_balance=brace_balance+s:Get_brace_balance(prev_data,'(',')' )

482
runtime/indent/r.vim Normal file
View File

@ -0,0 +1,482 @@
" Vim indent file
" Language: R
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Last Change: Wed Aug 31, 2011 12:24AM
" Only load this indent file when no other was loaded.
if exists("b:did_r_indent")
finish
endif
let b:did_r_indent = 1
setlocal indentkeys=0{,0},:,!^F,o,O,e
setlocal indentexpr=GetRIndent()
" Only define the function once.
if exists("*GetRIndent")
finish
endif
" Options to make the indentation more similar to Emacs/ESS:
if !exists("g:r_indent_align_args")
let g:r_indent_align_args = 1
endif
if !exists("g:r_indent_ess_comments")
let g:r_indent_ess_comments = 0
endif
if !exists("g:r_indent_comment_column")
let g:r_indent_comment_column = 40
endif
if ! exists("g:r_indent_ess_compatible")
let g:r_indent_ess_compatible = 0
endif
function s:RDelete_quotes(line)
let i = 0
let j = 0
let line1 = ""
let llen = strlen(a:line)
while i < llen
if a:line[i] == '"'
let i += 1
let line1 = line1 . 's'
while !(a:line[i] == '"' && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
let i += 1
endwhile
if a:line[i] == '"'
let i += 1
endif
else
if a:line[i] == "'"
let i += 1
let line1 = line1 . 's'
while !(a:line[i] == "'" && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
let i += 1
endwhile
if a:line[i] == "'"
let i += 1
endif
else
if a:line[i] == "`"
let i += 1
let line1 = line1 . 's'
while a:line[i] != "`" && i < llen
let i += 1
endwhile
if a:line[i] == "`"
let i += 1
endif
endif
endif
endif
if i == llen
break
endif
let line1 = line1 . a:line[i]
let j += 1
let i += 1
endwhile
return line1
endfunction
" Convert foo(bar()) int foo()
function s:RDelete_parens(line)
if s:Get_paren_balance(a:line, "(", ")") != 0
return a:line
endif
let i = 0
let j = 0
let line1 = ""
let llen = strlen(a:line)
while i < llen
let line1 = line1 . a:line[i]
if a:line[i] == '('
let nop = 1
while nop > 0 && i < llen
let i += 1
if a:line[i] == ')'
let nop -= 1
else
if a:line[i] == '('
let nop += 1
endif
endif
endwhile
let line1 = line1 . a:line[i]
endif
let i += 1
endwhile
return line1
endfunction
function! s:Get_paren_balance(line, o, c)
let line2 = substitute(a:line, a:o, "", "g")
let openp = strlen(a:line) - strlen(line2)
let line3 = substitute(line2, a:c, "", "g")
let closep = strlen(line2) - strlen(line3)
return openp - closep
endfunction
function! s:Get_matching_brace(linenr, o, c, delbrace)
let line = SanitizeRLine(getline(a:linenr))
if a:delbrace == 1
let line = substitute(line, '{$', "", "")
endif
let pb = s:Get_paren_balance(line, a:o, a:c)
let i = a:linenr
while pb != 0 && i > 1
let i -= 1
let pb += s:Get_paren_balance(SanitizeRLine(getline(i)), a:o, a:c)
endwhile
return i
endfunction
" This function is buggy because there 'if's without 'else'
" It must be rewritten relying more on indentation
function! s:Get_matching_if(linenr, delif)
" let filenm = expand("%")
" call writefile([filenm], "/tmp/matching_if_" . a:linenr)
let line = SanitizeRLine(getline(a:linenr))
if a:delif
let line = substitute(line, "if", "", "g")
endif
let elsenr = 0
let i = a:linenr
let ifhere = 0
while i > 0
let line2 = substitute(line, '\<else\>', "xxx", "g")
let elsenr += strlen(line) - strlen(line2)
if line =~ '.*\s*if\s*()' || line =~ '.*\s*if\s*()'
let elsenr -= 1
if elsenr == 0
let ifhere = i
break
endif
endif
let i -= 1
let line = SanitizeRLine(getline(i))
endwhile
if ifhere
return ifhere
else
return a:linenr
endif
endfunction
function! s:Get_last_paren_idx(line, o, c, pb)
let blc = a:pb
let line = substitute(a:line, '\t', s:curtabstop, "g")
let theidx = -1
let llen = strlen(line)
let idx = 0
while idx < llen
if line[idx] == a:o
let blc -= 1
if blc == 0
let theidx = idx
endif
else
if line[idx] == a:c
let blc += 1
endif
endif
let idx += 1
endwhile
return theidx + 1
endfunction
" Get previous relevant line. Search back until getting a line that isn't
" comment or blank
function s:Get_prev_line(lineno)
let lnum = a:lineno - 1
let data = getline( lnum )
while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$')
let lnum = lnum - 1
let data = getline( lnum )
endwhile
return lnum
endfunction
" This function is also used by r-plugin/common_global.vim
" Delete from '#' to the end of the line, unless the '#' is inside a string.
function SanitizeRLine(line)
let newline = s:RDelete_quotes(a:line)
let newline = s:RDelete_parens(newline)
let newline = substitute(newline, '#.*', "", "")
let newline = substitute(newline, '\s*$', "", "")
return newline
endfunction
function GetRIndent()
let clnum = line(".") " current line
let cline = getline(clnum)
if cline =~ '^\s*#'
if g:r_indent_ess_comments == 1
if cline =~ '^\s*###'
return 0
endif
if cline !~ '^\s*##'
return g:r_indent_comment_column
endif
endif
endif
let cline = SanitizeRLine(cline)
if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
let indline = s:Get_matching_brace(clnum, '{', '}', 1)
if indline > 0 && indline != clnum
let iline = SanitizeRLine(getline(indline))
if s:Get_paren_balance(iline, "(", ")") == 0 || iline =~ '(\s*{$'
return indent(indline)
else
let indline = s:Get_matching_brace(indline, '(', ')', 1)
return indent(indline)
endif
endif
endif
" Find the first non blank line above the current line
let lnum = s:Get_prev_line(clnum)
" Hit the start of the file, use zero indent.
if lnum == 0
return 0
endif
let line = SanitizeRLine(getline(lnum))
if &filetype == "rhelp"
if cline =~ '^\\dontshow{' || cline =~ '^\\dontrun{' || cline =~ '^\\donttest{' || cline =~ '^\\testonly{'
return 0
endif
if line =~ '^\\examples{' || line =~ '^\\usage{' || line =~ '^\\dontshow{' || line =~ '^\\dontrun{' || line =~ '^\\donttest{' || line =~ '^\\testonly{'
return 0
endif
if line =~ '^\\method{.*}{.*}(.*'
let line = substitute(line, '^\\method{\(.*\)}{.*}', '\1', "")
endif
endif
if cline =~ '^\s*{'
if g:r_indent_ess_compatible && line =~ ')$'
let nlnum = lnum
let nline = line
while s:Get_paren_balance(nline, '(', ')') < 0
let nlnum = s:Get_prev_line(nlnum)
let nline = SanitizeRLine(getline(nlnum)) . nline
endwhile
if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
return 0
endif
endif
if s:Get_paren_balance(line, "(", ")") == 0
return indent(lnum)
endif
endif
" line is an incomplete command:
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$'
return indent(lnum) + &sw
endif
" Deal with () and []
let pb = s:Get_paren_balance(line, '(', ')')
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
return indent(lnum) + &sw
endif
let bb = s:Get_paren_balance(line, '[', ']')
let s:curtabstop = repeat(' ', &tabstop)
if g:r_indent_align_args == 1
if pb == 0 && bb == 0 && (line =~ '.*[,&|\-\*+<>]$' || cline =~ '^\s*[,&|\-\*+<>]')
return indent(lnum)
endif
if pb > 0
if &filetype == "rhelp"
let ind = s:Get_last_paren_idx(line, '(', ')', pb)
else
let ind = s:Get_last_paren_idx(getline(lnum), '(', ')', pb)
endif
return ind
endif
if pb < 0 && line =~ '.*[,&|\-\*+<>]$'
let lnum = s:Get_prev_line(lnum)
while pb < 1 && lnum > 0
let line = SanitizeRLine(getline(lnum))
let line = substitute(line, '\t', s:curtabstop, "g")
let ind = strlen(line)
while ind > 0
if line[ind] == ')'
let pb -= 1
else
if line[ind] == '('
let pb += 1
endif
endif
if pb == 1
return ind + 1
endif
let ind -= 1
endwhile
let lnum -= 1
endwhile
return 0
endif
if bb > 0
let ind = s:Get_last_paren_idx(getline(lnum), '[', ']', bb)
return ind
endif
endif
let post_block = 0
if line =~ '}$'
let lnum = s:Get_matching_brace(lnum, '{', '}', 0)
let line = SanitizeRLine(getline(lnum))
if lnum > 0 && line =~ '^\s*{'
let lnum = s:Get_prev_line(lnum)
let line = SanitizeRLine(getline(lnum))
endif
let pb = s:Get_paren_balance(line, '(', ')')
let post_block = 1
endif
let post_fun = 0
if pb < 0 && line !~ ')\s*[,&|\-\*+<>]$'
let post_fun = 1
while pb < 0 && lnum > 0
let lnum -= 1
let linepiece = SanitizeRLine(getline(lnum))
let pb += s:Get_paren_balance(linepiece, "(", ")")
let line = linepiece . line
endwhile
if line =~ '{$' && post_block == 0
return indent(lnum) + &sw
endif
" Now we can do some tests again
if cline =~ '^\s*{'
return indent(lnum)
endif
if post_block == 0
let newl = SanitizeRLine(line)
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
return indent(lnum) + &sw
endif
endif
endif
if cline =~ '^\s*else'
if line =~ '<-\s*if\s*()'
return indent(lnum) + &sw
else
if line =~ '\<if\s*()'
return indent(lnum)
else
return indent(lnum) - &sw
endif
endif
endif
if bb < 0 && line =~ '.*]'
while bb < 0 && lnum > 0
let lnum -= 1
let linepiece = SanitizeRLine(getline(lnum))
let bb += s:Get_paren_balance(linepiece, "[", "]")
let line = linepiece . line
endwhile
let line = s:RDelete_parens(line)
endif
let plnum = s:Get_prev_line(lnum)
let ppost_else = 0
if plnum > 0
let pline = SanitizeRLine(getline(plnum))
let ppost_block = 0
if pline =~ '}$'
let ppost_block = 1
let plnum = s:Get_matching_brace(plnum, '{', '}', 0)
let pline = SanitizeRLine(getline(plnum))
if pline =~ '^\s*{$' && plnum > 0
let plnum = s:Get_prev_line(plnum)
let pline = SanitizeRLine(getline(plnum))
endif
endif
if pline =~ 'else$'
let ppost_else = 1
let plnum = s:Get_matching_if(plnum, 0)
let pline = SanitizeRLine(getline(plnum))
endif
if pline =~ '^\s*else\s*if\s*('
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
while ppline =~ '^\s*else\s*if\s*(' || ppline =~ '^\s*if\s*()\s*\S$'
let plnum = pplnum
let pline = ppline
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
endwhile
while ppline =~ '\<\(if\|while\|for\|function\)\s*()$' || ppline =~ '\<else$' || ppline =~ '<-$'
let plnum = pplnum
let pline = ppline
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
endwhile
endif
let ppb = s:Get_paren_balance(pline, '(', ')')
if ppb < 0 && (pline =~ ')\s*{$' || pline =~ ')$')
while ppb < 0 && plnum > 0
let plnum -= 1
let linepiece = SanitizeRLine(getline(plnum))
let ppb += s:Get_paren_balance(linepiece, "(", ")")
let pline = linepiece . pline
endwhile
let pline = s:RDelete_parens(pline)
endif
endif
let ind = indent(lnum)
let pind = indent(plnum)
if g:r_indent_align_args == 0 && pb != 0
let ind += pb * &sw
return ind
endif
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
return ind
endif
while pind < ind && plnum > 0 && ppb == 0
let ind = pind
let plnum = s:Get_prev_line(plnum)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
while pline =~ '^\s*else'
let plnum = s:Get_matching_if(plnum, 1)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
endwhile
let pind = indent(plnum)
if ind == (pind + &sw) && pline =~ '{$'
return ind
endif
endwhile
return ind
endfunction
" vim: sw=4

View File

@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: reStructuredText Documentation Format " Language: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20 " Latest Revision: 2011-08-03
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@ -16,6 +16,9 @@ if exists("*GetRSTIndent")
finish finish
endif endif
let s:itemization_pattern = '^\s*[-*+]\s'
let s:enumeration_pattern = '^\s*\%(\d\+\|#\)\.\s\+'
function GetRSTIndent() function GetRSTIndent()
let lnum = prevnonblank(v:lnum - 1) let lnum = prevnonblank(v:lnum - 1)
if lnum == 0 if lnum == 0
@ -25,27 +28,30 @@ function GetRSTIndent()
let ind = indent(lnum) let ind = indent(lnum)
let line = getline(lnum) let line = getline(lnum)
if line =~ '^\s*[-*+]\s' if line =~ s:itemization_pattern
let ind = ind + 2 let ind += 2
elseif line =~ '^\s*\d\+.\s' elseif line =~ s:enumeration_pattern
let ind = ind + matchend(substitute(line, '^\s*', '', ''), '\d\+.\s\+') let ind += matchend(line, s:enumeration_pattern)
endif endif
let line = getline(v:lnum - 1) let line = getline(v:lnum - 1)
" Indent :FIELD: lines. Dont match if there is no text after the field or
" if the text ends with a sent-ender.
if line =~ '^:.\+:\s\{-1,\}\S.\+[^.!?:]$'
return matchend(line, '^:.\{-1,}:\s\+')
endif
if line =~ '^\s*$' if line =~ '^\s*$'
execute lnum execute lnum
call search('^\s*\%([-*+]\s\|\d\+.\s\|\.\.\|$\)', 'bW') call search('^\s*\%([-*+]\s\|\%(\d\+\|#\)\.\s\|\.\.\|$\)', 'bW')
let line = getline('.') let line = getline('.')
if line =~ '^\s*[-*+]' if line =~ s:itemization_pattern
let ind = ind - 2 let ind -= 2
elseif line =~ '^\s*\d\+\.\s' elseif line =~ s:enumeration_pattern
let ind = ind - matchend(substitute(line, '^\s*', '', ''), let ind -= matchend(line, s:enumeration_pattern)
\ '\d\+\.\s\+')
elseif line =~ '^\s*\.\.' elseif line =~ '^\s*\.\.'
let ind = ind - 3 let ind -= 3
else
let ind = ind
endif endif
endif endif

View File

@ -1,6 +1,6 @@
" Vim plugin for showing matching parens " Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Nov 16 " Last Change: 2011 Aug 27
" Exit quickly when: " Exit quickly when:
" - this plugin was already loaded (or disabled) " - this plugin was already loaded (or disabled)
@ -82,7 +82,7 @@ function! s:Highlight_Matching_Pair()
endif endif
" When not in a string or comment ignore matches inside them. " When not in a string or comment ignore matches inside them.
" We match "escape" for special items, such as listpEscapeSpecial. " We match "escape" for special items, such as lispEscapeSpecial.
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' . let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "string\\|character\\|singlequote\\|escape\\|comment"' \ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
execute 'if' s_skip '| let s_skip = 0 | endif' execute 'if' s_skip '| let s_skip = 0 | endif'

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 May 2 " Last Change: 2011 Sep 07
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -273,18 +273,18 @@ endif
" Accept %: for # (C99) " Accept %: for # (C99)
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\|elif\)\>" syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0") if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold") if !exists("c_no_if0_fold")
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold
else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
endif endif
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold") if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold

View File

@ -1,10 +1,10 @@
" Vim syntax file " Vim syntax file
" Language: Configuration File (ini file) for MSDOS/MS Windows " Language: Configuration File (ini file) for MSDOS/MS Windows
" Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12 " Version: 2.0
" Author: Sean M. McKee <mckee@misslink.net> " Original Author: Sean M. McKee <mckee@misslink.net>
" Maintainer: Nima Talebi <nima@it.net.au> " Previous Maintainer: Nima Talebi <nima@it.net.au>
" Updated By: Hong Xu " Current Maintainer: Hong Xu <xuhdev@gmail.com>
" Last Change: 2011 Jul 16 " Last Change: 2011 Jul 21
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
@ -18,8 +18,12 @@ endif
" shut case off " shut case off
syn case ignore syn case ignore
syn match dosiniBool "\<\(yes\|no\|y\|n\|true\|false\)\>"
syn match dosiniNumber "\<\d\+\>"
syn match dosiniNumber "\<\d*\.\d\+\>"
syn match dosiniNumber "\<\d\+e[+-]\=\d\+\>"
syn match dosiniLabel "^.\{-}=" syn match dosiniLabel "^.\{-}="
syn region dosiniHeader start="^\[" end="\]" syn region dosiniHeader start="^\s*\[" end="\]"
syn match dosiniComment "^[#;].*$" syn match dosiniComment "^[#;].*$"
" Define the default highlighting. " Define the default highlighting.
@ -33,6 +37,8 @@ if version >= 508 || !exists("did_dosini_syntax_inits")
command -nargs=+ HiLink hi def link <args> command -nargs=+ HiLink hi def link <args>
endif endif
HiLink dosiniBool Boolean
HiLink dosiniNumber Number
HiLink dosiniHeader Special HiLink dosiniHeader Special
HiLink dosiniComment Comment HiLink dosiniComment Comment
HiLink dosiniLabel Type HiLink dosiniLabel Type
@ -42,4 +48,4 @@ endif
let b:current_syntax = "dosini" let b:current_syntax = "dosini"
" vim:ts=8 " vim: sts=2 sw=2 et

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: pam(8) configuration file " Language: pam(8) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19 " Latest Revision: 2011-08-03
if exists("b:current_syntax") if exists("b:current_syntax")
@ -33,7 +33,7 @@ syn match pamconfTypeLineCont contained '\\$'
\ pamconfTypeLineCont skipwhite skipnl \ pamconfTypeLineCont skipwhite skipnl
syn keyword pamconfControl contained requisite required sufficient syn keyword pamconfControl contained requisite required sufficient
\ optional \ optional include substack
\ nextgroup=pamconfMPath, \ nextgroup=pamconfMPath,
\ pamconfControlLineContH skipwhite \ pamconfControlLineContH skipwhite
@ -57,7 +57,9 @@ syn keyword pamconfControlValues contained success open_err symbol_err
\ bad_item and default \ bad_item and default
\ nextgroup=pamconfControlValueEq \ nextgroup=pamconfControlValueEq
syn match pamconfControlValueEq contained '=' nextgroup=pamconfControlAction syn match pamconfControlValueEq contained '='
\ nextgroup=pamconfControlActionN,
\ pamconfControlAction
syn match pamconfControlActionN contained '\d\+\>' syn match pamconfControlActionN contained '\d\+\>'
\ nextgroup=pamconfControlValues, \ nextgroup=pamconfControlValues,

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: php PHP 3/4/5 " Language: php PHP 3/4/5
" Maintainer: Jason Woofenden <jason@jasonwoof.com> " Maintainer: Jason Woofenden <jason@jasonwoof.com>
" Last Change: April 28, 2011 " Last Change: July 29, 2011
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim " URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com> " Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> " Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@ -54,14 +54,6 @@
" the string would be highlighted as an error, what is incorrect. " the string would be highlighted as an error, what is incorrect.
" ii) Same problem if you are setting php_folding = 2 with a closing " ii) Same problem if you are setting php_folding = 2 with a closing
" } inside an string on the first line of this string. " } inside an string on the first line of this string.
"
" - A double-quoted string like this:
" "$foo->someVar->someOtherVar->bar"
" will highight '->someOtherVar->bar' as though they will be parsed
" as object member variables, but PHP only recognizes the first
" object member variable ($foo->someVar).
"
"
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -131,7 +123,7 @@ syn keyword phpCoreConstant PHP_VERSION PHP_OS DEFAULT_INCLUDE_PATH PEAR_INSTALL
syn case ignore syn case ignore
syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ contained syn keyword phpConstant __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__ __DIR__ __NAMESPACE__ contained
" Function and Methods ripped from php_manual_de.tar.gz Jan 2003 " Function and Methods ripped from php_manual_de.tar.gz Jan 2003
@ -273,7 +265,7 @@ syn keyword phpRepeat as do endfor endforeach endwhile for foreach while contai
syn keyword phpLabel case default switch contained syn keyword phpLabel case default switch contained
" Statement " Statement
syn keyword phpStatement return break continue exit contained syn keyword phpStatement return break continue exit goto contained
" Keyword " Keyword
syn keyword phpKeyword var const contained syn keyword phpKeyword var const contained
@ -282,7 +274,7 @@ syn keyword phpKeyword var const contained
syn keyword phpType bool[ean] int[eger] real double float string array object NULL contained syn keyword phpType bool[ean] int[eger] real double float string array object NULL contained
" Structure " Structure
syn keyword phpStructure extends implements instanceof parent self contained syn keyword phpStructure namespace extends implements instanceof parent self contained
" Operator " Operator
syn match phpOperator "[-=+%^&|*!.~?:]" contained display syn match phpOperator "[-=+%^&|*!.~?:]" contained display
@ -302,11 +294,41 @@ syn match phpIdentifierSimply "${\h\w*}" contains=phpOperator,phpParent contai
syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend syn region phpIdentifierComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend
syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained
" Interpolated indentifiers (inside strings)
syn match phpBrackets "[][}{]" contained display
" errors
syn match phpInterpSimpleError "\[[^]]*\]" contained display " fallback (if nothing else matches)
syn match phpInterpSimpleError "->[^a-zA-Z_]" contained display
" make sure these stay above the correct DollarCurlies so they don't take priority
syn match phpInterpBogusDollarCurley "${[^}]*}" contained display " fallback (if nothing else matches)
syn match phpinterpSimpleBracketsInner "\w\+" contained
syn match phpInterpSimpleBrackets "\[\h\w*]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
syn match phpInterpSimpleBrackets "\[\d\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
syn match phpInterpSimpleBrackets "\[0[xX]\x\+]" contained contains=phpBrackets,phpInterpSimpleBracketsInner
syn match phpInterpSimple "\$\h\w*\(\[[^]]*\]\|->\h\w*\)\?" contained contains=phpInterpSimpleBrackets,phpIdentifier,phpInterpSimpleError,phpMethods,phpMemberSelector display
syn match phpInterpVarname "\h\w*" contained
syn match phpInterpMethodName "\h\w*" contained " default color
syn match phpInterpSimpleCurly "\${\h\w*}" contains=phpInterpVarname contained extend
syn region phpInterpDollarCurley1Helper matchgroup=phpParent start="{" end="\[" contains=phpInterpVarname contained
syn region phpInterpDollarCurly1 matchgroup=phpParent start="\${\h\w*\["rs=s+1 end="]}" contains=phpInterpDollarCurley1Helper,@phpClConst contained extend
syn match phpInterpDollarCurley2Helper "{\h\w*->" contains=phpBrackets,phpInterpVarname,phpMemberSelector contained
syn region phpInterpDollarCurly2 matchgroup=phpParent start="\${\h\w*->"rs=s+1 end="}" contains=phpInterpDollarCurley2Helper,phpInterpMethodName contained
syn match phpInterpBogusDollarCurley "${\h\w*->}" contained display
syn match phpInterpBogusDollarCurley "${\h\w*\[]}" contained display
syn region phpInterpComplex matchgroup=phpParent start="{\$"rs=e-1 end="}" contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend
syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained
" define a cluster to get all interpolation syntaxes for double-quoted strings
syn cluster phpInterpDouble contains=phpInterpSimple,phpInterpSimpleCurly,phpInterpDollarCurly1,phpInterpDollarCurly2,phpInterpBogusDollarCurley,phpInterpComplex
" Methoden " Methoden
syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display
" Include " Include
syn keyword phpInclude include require include_once require_once contained syn keyword phpInclude include require include_once require_once use contained
" Peter Hodge - added 'clone' keyword " Peter Hodge - added 'clone' keyword
" Define " Define
@ -322,12 +344,18 @@ syn match phpNumber "\<0x\x\{1,8}\>" contained display
" Float " Float
syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display
" SpecialChar " Backslash escapes
syn match phpSpecialChar "\\[abcfnrtyv\\]" contained display syn case match
syn match phpSpecialChar "\\\d\{3}" contained contains=phpOctalError display " for double quotes and heredoc
syn match phpSpecialChar "\\x\x\{2}" contained display syn match phpBackslashSequences "\\[fnrtv\\\"$]" contained display
syn match phpDoubleSpecialChar "\\\"" contained display syn match phpBackslashSequences "\\\d\{1,3}" contained contains=phpOctalError display
syn match phpSingleSpecialChar "\\[\\']" contained display syn match phpBackslashSequences "\\x\x\{1,2}" contained display
" additional sequence for double quotes only
syn match phpBackslashDoubleQuote "\\[\"]" contained display
" for single quotes only
syn match phpBackslashSingleQuote "\\[\\']" contained display
syn case ignore
" Error " Error
syn match phpOctalError "[89]" contained display syn match phpOctalError "[89]" contained display
@ -356,23 +384,32 @@ endif
" String " String
if exists("php_parent_error_open") if exists("php_parent_error_open")
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained keepend syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained keepend
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend
else else
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained extend keepend syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained extend keepend
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend extend syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend extend
endif endif
" HereDoc " HereDoc and NowDoc
if version >= 600 if version >= 600
syn case match syn case match
syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
" HereDoc
syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\I\i*\)\2$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
" including HTML,JavaScript,SQL even if not enabled via options " including HTML,JavaScript,SQL even if not enabled via options
syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\(\"\=\)\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)\2$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpBackslashSequences,phpMethodsVar keepend extend
" NowDoc
syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\I\i*\)'$" end="^\z1\(;\=$\)\@=" contained keepend extend
" including HTML,JavaScript,SQL even if not enabled via options
syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop keepend extend
syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop keepend extend
syn region phpNowDoc matchgroup=Delimiter start="\(<<<\)\@<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript keepend extend
syn case ignore syn case ignore
endif endif
@ -389,7 +426,7 @@ else
endif endif
syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException syn cluster phpClConst contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException
syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc,phpNowDoc
syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass
syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch syn cluster phpClTop contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch
@ -452,17 +489,14 @@ else
syn keyword phpStorageClass final global private protected public static contained syn keyword phpStorageClass final global private protected public static contained
endif endif
" TODO: fold on "trait". For now just make sure it gets colored:
syn keyword phpStructure trait
" ================================================================ " ================================================================
" Peter Hodge - June 9, 2006 " Peter Hodge - June 9, 2006
" Some of these changes (highlighting isset/unset/echo etc) are not so " Some of these changes (highlighting isset/unset/echo etc) are not so
" critical, but they make things more colourful. :-) " critical, but they make things more colourful. :-)
" corrected highlighting for an escaped '\$' inside a double-quoted string
syn match phpSpecialChar "\\\$" contained display
" highlight object variables inside strings
syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display containedin=phpStringDouble
" highlight constant E_STRICT " highlight constant E_STRICT
syntax case match syntax case match
syntax keyword phpCoreConstant E_STRICT contained syntax keyword phpCoreConstant E_STRICT contained
@ -613,13 +647,21 @@ if version >= 508 || !exists("did_php_syn_inits")
HiLink phpType Type HiLink phpType Type
HiLink phpInclude Include HiLink phpInclude Include
HiLink phpDefine Define HiLink phpDefine Define
HiLink phpSpecialChar SpecialChar HiLink phpBackslashSequences SpecialChar
HiLink phpDoubleSpecialChar SpecialChar HiLink phpBackslashDoubleQuote SpecialChar
HiLink phpSingleSpecialChar SpecialChar HiLink phpBackslashSingleQuote SpecialChar
HiLink phpParent Delimiter HiLink phpParent Delimiter
HiLink phpBrackets Delimiter
HiLink phpIdentifierConst Delimiter HiLink phpIdentifierConst Delimiter
HiLink phpParentError Error HiLink phpParentError Error
HiLink phpOctalError Error HiLink phpOctalError Error
HiLink phpInterpSimpleError Error
HiLink phpInterpBogusDollarCurley Error
HiLink phpInterpDollarCurly1 Error
HiLink phpInterpDollarCurly2 Error
HiLink phpInterpSimpleBracketsInner String
HiLink phpInterpSimpleCurly Delimiter
HiLink phpInterpVarname Identifier
HiLink phpTodo Todo HiLink phpTodo Todo
HiLink phpMemberSelector Structure HiLink phpMemberSelector Structure
if exists("php_oldStyle") if exists("php_oldStyle")

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: Verilog " Language: Verilog
" Maintainer: Mun Johl <Mun.Johl@emulex.com> " Maintainer: Mun Johl <Mun.Johl@emulex.com>
" Last Update: Fri Oct 13 11:44:32 PDT 2006 " Last Update: Wed Jul 20 16:04:19 PDT 2011
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -11,11 +11,13 @@ elseif exists("b:current_syntax")
finish finish
endif endif
" Set the local value of the 'iskeyword' option " Set the local value of the 'iskeyword' option.
" NOTE: '?' was added so that verilogNumber would be processed correctly when
" '?' is the last character of the number.
if version >= 600 if version >= 600
setlocal iskeyword=@,48-57,_,192-255 setlocal iskeyword=@,48-57,63,_,192-255
else else
set iskeyword=@,48-57,_,192-255 set iskeyword=@,48-57,63,_,192-255
endif endif
" A bunch of useful Verilog keywords " A bunch of useful Verilog keywords
@ -48,7 +50,7 @@ syn keyword verilogLabel begin end fork join
syn keyword verilogConditional if else case casex casez default endcase syn keyword verilogConditional if else case casex casez default endcase
syn keyword verilogRepeat forever repeat while for syn keyword verilogRepeat forever repeat while for
syn keyword verilogTodo contained TODO syn keyword verilogTodo contained TODO FIXME
syn match verilogOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]" syn match verilogOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"