Compare commits

...

25 Commits

Author SHA1 Message Date
Bram Moolenaar
7da9c37a17 updated for version 7.3.511
Problem:    Using a FileReadCmd autocommand that does ":e! {file}" may cause a
            crash. (Christian Brabandt)
Solution:   Properly restore curwin->w_s.
2012-04-30 17:04:52 +02:00
Bram Moolenaar
9a7224b5a0 Fixed compatible mode in most runtime files. 2012-04-30 15:56:52 +02:00
Bram Moolenaar
e8938e507e updated for version 7.3.510
Problem:    Test 77 fails on Solaris 7. (Michael Soyka)
Solution:   Replace any tabs with spaces.
2012-04-30 11:34:28 +02:00
Bram Moolenaar
ddbb5550b4 Updated runtime files, include fixes for line continuation. 2012-04-26 20:17:03 +02:00
Bram Moolenaar
d38b055ab8 Updated runtime files. 2012-04-25 19:07:41 +02:00
Bram Moolenaar
7f51a82c1b updated for version 7.3.509
Problem:    ":vimgrep" fails when 'autochdir' is set.
Solution:   A more generic solution for changing directory. (Ben Fritz)
2012-04-25 18:57:21 +02:00
Bram Moolenaar
b429cdeb6e updated for version 7.3.508
Problem:    Default for v:register is not set.
Solution:   Init v:register in eval_init(). Correct for 'clipboard' before the
            main loop. (Ingo Karkat)
2012-04-25 18:24:29 +02:00
Bram Moolenaar
8218f60b61 updated for version 7.3.507
Problem:    When exiting with unsaved changes, selecting an existing file in
            the file dialog, there is no dialog to ask whether the existing
            file should be overwritten. (Felipe G. Nievinski)
Solution:   Call check_overwrite() before writing. (Christian Brabandt)
2012-04-25 17:32:18 +02:00
Bram Moolenaar
68fb5dcd13 updated for version 7.3.506
Problem:    GTK gives an error when selecting a non-existent file.
Solution:   Add a handler to avoid the error. (Christian Brabandt)
2012-04-25 17:10:16 +02:00
Bram Moolenaar
68a33fc704 updated for version 7.3.505
Problem:    Test 11 fails on MS-Windows in some versions.
Solution:   Fix #ifdefs for whether filtering through a pipe is possible. Move
            setting b_no_eol_lnum back to where it was before patch 7.3.124.
            (David Pope)
2012-04-25 16:50:48 +02:00
Bram Moolenaar
720ce53af0 updated for version 7.3.504
Problem:    Commands in help files are not highlighted.
Solution:   Allow for commands in backticks.  Adjust CTRL-] to remove the
            backticks.
2012-04-25 12:57:28 +02:00
Bram Moolenaar
6217cdcec3 updated for version 7.3.503
Problem:    Warning for unused argument.
Solution:   Add UNUSED.
2012-04-25 12:28:09 +02:00
Bram Moolenaar
e436528e04 updated for version 7.3.502
Problem:    Netbeans insert halfway a line actually appends to the line.
Solution:   Insert halfway the line. (Brian Victor)
2012-04-20 19:47:05 +02:00
Bram Moolenaar
35df7d2d99 updated for version 7.3.501
Problem:    Error for "flush" not being defined when using Ruby command.
Solution:   Defined "flush" as a no-op method. (Kent Sibilev)
2012-04-20 18:05:47 +02:00
Bram Moolenaar
a6cdc99152 updated for version 7.3.500
Problem:    Ming makefile unconditionally sets WINVER.
Solution:   Only defined when not already defined. (Yasuhiro Matsumoto)
2012-04-20 16:13:25 +02:00
Bram Moolenaar
6be120e7f5 updated for version 7.3.499
Problem:    When using any interface language when Vim is waiting for a child
            process it gets confused by a child process started through the
            interface.
Solution:   Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
2012-04-20 15:55:16 +02:00
Bram Moolenaar
84298db3a4 updated for version 7.3.498
Problem:    The behavior of the "- register changes depending on value of
            the 'clipboard' option. (Szamotulski)
Solution:   Also set the "- register when the register is "*" or "+".
            (Christian Brabandt)
2012-04-20 13:46:08 +02:00
Bram Moolenaar
b830f0c7df updated for version 7.3.497
Problem:    Crash when doing ":python print" and compiled with gcc and
            the optimizer enabled.
Solution:   Avoid the crash, doesn't really fix the problem. (Christian
            Brabandt)
2012-04-20 13:31:21 +02:00
Bram Moolenaar
53bfca22f1 Updated runtime files. 2012-04-13 23:04:47 +02:00
Bram Moolenaar
09210ac93c updated for version 7.3.496
Problem:    MS-DOS: When "diff" trips over difference in line separators some
            tests fail.
Solution:   Make some .ok files use unix line separators. (David Pope)
2012-04-13 19:11:20 +02:00
Bram Moolenaar
b345d49e06 updated for version 7.3.495
Problem:    Compiler warnings.
Solution:   Add function declaration.  Remove "offset" argument.
2012-04-09 20:42:26 +02:00
Bram Moolenaar
bd2f3c3ec6 updated for version 7.3.494
Problem:    Can't compile with Lua 9.1 or dynamic Lua.
Solution:   Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho)
2012-04-06 14:31:00 +02:00
Bram Moolenaar
b0d7a15d3a updated for version 7.3.493
Problem:    Two unused variables.
Solution:   Remove them. (Hong Xu)
2012-04-06 13:56:04 +02:00
Bram Moolenaar
5b435d671e Updated runtime files. 2012-04-05 17:33:26 +02:00
Bram Moolenaar
3675fa09a7 updated for version 7.3.492
Problem:    Can't indent conditions separately from function arguments.
Solution:   Add the 'k' flag in 'cino. (Lech Lorens)
2012-04-05 17:17:42 +02:00
93 changed files with 1928 additions and 1502 deletions

View File

@@ -29,6 +29,8 @@
if version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Section: Constants {{{1
"
@@ -619,6 +621,9 @@ lockvar g:ada#Comment
lockvar! g:ada#Keywords
lockvar! g:ada#Ctags_Kinds
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: Sep 30, 2008
" Version: 10
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Date: Mar 14, 2012
" Version: 11a
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -20,7 +20,7 @@
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v10"
let g:loaded_netrwFileHandlers= "v11a"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
@@ -64,7 +64,7 @@ fun! netrwFileHandlers#Invoke(exten,fname)
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
return 0
endfun
@@ -356,6 +356,7 @@ fun! s:NFH_obj(obj)
endfun
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@@ -2,12 +2,14 @@
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2011 Apr 21
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "cs"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
CompilerSet makeprg=csc\ %
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -15,6 +15,9 @@
" Help Page: compiler-decada
"------------------------------------------------------------------------------
let s:keepcpo= &cpo
set cpo&vim
if (exists("current_compiler") &&
\ current_compiler == "decada") ||
\ version < 700
@@ -44,6 +47,9 @@ endif
execute "CompilerSet makeprg=" . escape (g:decada.Make_Command, ' ')
execute "CompilerSet errorformat=" . escape (g:decada.Error_Format, ' ')
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
" Compiler: G95
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 2011 Apr 01
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
" https://bitbucket.org/xuhdev/compiler-g95.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'g95'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -21,3 +23,6 @@ CompilerSet errorformat=
\%-Z%trror:\ %m,
\%-Z%tarning\ (%n):\ %m,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,7 +1,7 @@
" Compiler: GNU Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 19 March 2011
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3496
" https://bitbucket.org/xuhdev/compiler-gfortran.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'gfortran'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=
\%-Z%trror:\ %m,
\%-Z%tarning:\ %m,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -17,11 +17,11 @@
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
if (exists("current_compiler") &&
\ current_compiler == "gnat") ||
\ version < 700
if (exists("current_compiler")&& current_compiler == "gnat") || version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let current_compiler = "gnat"
@@ -62,6 +62,9 @@ endif
execute "CompilerSet makeprg=" . escape (g:gnat.Get_Command('Make'), ' ')
execute "CompilerSet errorformat=" . escape (g:gnat.Error_Format, ' ')
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -2,7 +2,7 @@
" Compiler: HP aCC
" Maintainer: Matthias Ulrich <matthias-ulrich@web.de>
" URL: http://www.subhome.de/vim/hp_acc.vim
" Last Change: 2005 Nov 19
" Last Change: 2012 Apr 30
"
" aCC --version says: "HP ANSI C++ B3910B A.03.13"
" This compiler has been tested on:
@@ -19,6 +19,8 @@ if exists("current_compiler")
finish
endif
let current_compiler = "hp_acc"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -30,4 +32,7 @@ CompilerSet errorformat=%A%trror\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m,
\%Z\ \ \ \ %p^%.%#,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:ts=8:sw=4:cindent

View File

@@ -1,7 +1,7 @@
" Compiler: Intel Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.1
" Last Change: 19 March 2011
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3497
" https://bitbucket.org/xuhdev/compiler-ifort.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'ifort'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=
\%A%f(%l):\ %tarning\ \#%n:\ %m,
\%-Z%p^,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: Intel C++ 7.1
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 May 16
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "intel"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%E%f(%l):\ error:\ %m,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 5.3 cc
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "irix5_c"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=\%Ecfe:\ Error:\ %f\\,\ line\ %l:\ %m,
\%-Z\ %p^,
\-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 5.3 CC or NCC
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "irix5_cpp"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%E\"%f\"\\,\ line\ %l:\ error(%n):\ ,
\%-Z\ \ %p%^,
\%+C\ %\\{10}%.%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPS C (cc)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mips_c"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPSPro C (c89)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mipspro_c89"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%+C\ \ %m,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPSPro C++ (CC)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mipspro_cpp"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,11 +1,13 @@
" Vim compiler file
" Compiler: TeX
" Maintainer: Artem Chuprina <ran@ran.pp.ru>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -30,9 +32,6 @@ else
let current_compiler = 'make'
endif
let s:cpo_save = &cpo
set cpo-=C
" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
" addition from Srinath Avadhanula <srinath@fastmail.fm>
CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
@@ -64,5 +63,5 @@ CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
\%+Q%*[^()])%r,
\%+Q[%\\d%*[^()])%r
let &cpo = s:cpo_save
unlet s:cpo_save
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2012 Jan 04
*change.txt* For Vim version 7.3. Last change: 2012 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -80,8 +80,8 @@ For inserting text see |insert.txt|.
(default: current line |cmdline-ranges|) [into
register x].
These commands delete text. You can repeat them with the "." command
(except ":d") and undo them. Use Visual mode to delete blocks of text. See
These commands delete text. You can repeat them with the `.` command
(except `:d`) and undo them. Use Visual mode to delete blocks of text. See
|registers| for an explanation of registers.
An exception for the d{motion} command: If the motion is not linewise, the
@@ -132,7 +132,7 @@ gJ Join [count] lines, with a minimum of two lines.
See |ex-flags| for [flags].
These commands delete the <EOL> between lines. This has the effect of joining
multiple lines into one line. You can repeat these commands (except ":j") and
multiple lines into one line. You can repeat these commands (except `:j`) and
undo them.
These commands, except "gJ", insert one space in place of the <EOL> unless
@@ -465,9 +465,9 @@ much as possible to make the indent. You can use ">><<" to replace an indent
made out of spaces with the same indent made out of <Tab>s (and a few spaces
if necessary). If the 'expandtab' option is on, Vim uses only spaces. Then
you can use ">><<" to replace <Tab>s in the indent by spaces (or use
":retab!").
`:retab!`).
To move a line several 'shiftwidth's, use Visual mode or the ":" commands.
To move a line several 'shiftwidth's, use Visual mode or the `:` commands.
For example: >
Vjj4> move three lines 4 indents to the right
:<<< move current line 3 indents to the left
@@ -487,7 +487,7 @@ Examples of filters are "sort", which sorts lines alphabetically, and
works like a filter; not all versions do). The 'shell' option specifies the
shell Vim uses to execute the filter command (See also the 'shelltype'
option). You can repeat filter commands with ".". Vim does not recognize a
comment (starting with '"') after the ":!" command.
comment (starting with '"') after the `:!` command.
*!*
!{motion}{filter} Filter {motion} text lines through the external
@@ -574,34 +574,34 @@ For other systems the tmpnam() library function is used.
Repeat last :substitute with same search pattern and
substitute string, but without the same flags. You
may add [flags], see |:s_flags|.
Note that after ":substitute" the '&' flag can't be
Note that after `:substitute` the '&' flag can't be
used, it's recognized as a pattern separator.
The space between ":substitute" and the 'c', 'g' and
The space between `:substitute` and the 'c', 'g' and
'r' flags isn't required, but in scripts it's a good
idea to keep it to avoid confusion.
:[range]~[&][flags] [count] *:~*
Repeat last substitute with same substitute string
but with last used search pattern. This is like
":&r". See |:s_flags| for [flags].
`:&r`. See |:s_flags| for [flags].
*&*
& Synonym for ":s" (repeat last substitute). Note
& Synonym for `:s` (repeat last substitute). Note
that the flags are not remembered, thus it might
actually work differently. You can use ":&&" to keep
actually work differently. You can use `:&&` to keep
the flags.
*g&*
g& Synonym for ":%s//~/&" (repeat last substitute on all
g& Synonym for `:%s//~/&` (repeat last substitute on all
lines with the same flags).
Mnemonic: global substitute. {not in Vi}
*:snomagic* *:sno*
:[range]sno[magic] ... Same as ":substitute", but always use 'nomagic'.
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
{not in Vi}
*:smagic* *:sm*
:[range]sm[agic] ... Same as ":substitute", but always use 'magic'.
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
{not in Vi}
*:s_flags*
@@ -611,7 +611,7 @@ The flags that you can use for the substitute commands:
command. Examples: >
:&&
:s/this/that/&
< Note that ":s" and ":&" don't keep the flags.
< Note that `:s` and `:&` don't keep the flags.
{not in Vi}
[c] Confirm each substitution. Vim highlights the matching string (with
@@ -667,14 +667,14 @@ The flags that you can use for the substitute commands:
[l] Like [p] but print the text like |:list|.
[r] Only useful in combination with ":&" or ":s" without arguments. ":&r"
works the same way as ":~": When the search pattern is empty, use the
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
works the same way as `:~`: When the search pattern is empty, use the
previously used search pattern instead of the search pattern from the
last substitute or ":global". If the last command that did a search
was a substitute or ":global", there is no effect. If the last
last substitute or `:global`. If the last command that did a search
was a substitute or `:global`, there is no effect. If the last
command was a search command such as "/", use the pattern from that
command.
For ":s" with an argument this already happens: >
For `:s` with an argument this already happens: >
:s/blue/red/
/green
:s//red/ or :~ or :&r
@@ -691,9 +691,9 @@ reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
pattern from the last substitute or ":global" command. If there is none, but
pattern from the last substitute or `:global` command. If there is none, but
there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command uses the pattern from the last substitute, `:global`, or search
command.
If the {string} is omitted the substitute is done as if it's empty. Thus the
@@ -848,7 +848,7 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
4.4 Changing tabs *change-tabs*
*:ret* *:retab*
*:ret* *:retab* *:retab!*
:[range]ret[ab][!] [new_tabstop]
Replace all sequences of white-space containing a
<Tab> with new strings of white-space using the new
@@ -867,7 +867,7 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
Careful: This command modifies any <Tab> characters
inside of strings in a C program. Use "\t" to avoid
this (that's a good habit anyway).
":retab!" may also change a sequence of spaces by
`:retab!` may also change a sequence of spaces by
<Tab> characters, which can mess up a printf().
{not in Vi}
Not available when |+ex_extra| feature was disabled at
@@ -977,8 +977,12 @@ inside of strings can change! Also see 'softtabstop' option. >
current line). This always works |linewise|, thus
this command can be used to put a yanked block as new
lines.
The cursor is left on the first non-blank in the last
new line.
If no register is specified, it depends on the 'cb'
option: If 'cb' contains "unnamedplus", paste from the
+ register |quoteplus|. Otherwise, if 'cb' contains
"unnamed", paste from the * register |quotestar|.
Otherwise, paste from the unnamed register
|quote_quote|.
The register can also be '=' followed by an optional
expression. The expression continues until the end of
the command. You need to escape the '|' and '"'
@@ -1183,7 +1187,7 @@ nothing is returned. {not in Vi}
9. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with ":let", you can change it to have 'hlsearch' highlight
It is writable with `:let`, you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register. The search direction is available in |v:searchforward|.
Note that the valued is restored when returning from a function
@@ -1191,12 +1195,12 @@ Note that the valued is restored when returning from a function
{not in Vi}
*@/*
You can write to a register with a ":let" command |:let-@|. Example: >
You can write to a register with a `:let` command |:let-@|. Example: >
:let @/ = "the"
If you use a put command without specifying a register, Vim uses the register
that was last filled (this is also the contents of the unnamed register). If
you are confused, use the ":dis" command to find out what Vim will put (this
you are confused, use the `:dis` command to find out what Vim will put (this
command displays all named and numbered registers; the unnamed register is
labelled '"').
@@ -1555,7 +1559,7 @@ Some examples:
:set fo=tcrq
<
Automatic formatting *auto-format*
Automatic formatting *auto-format* *autoformat*
When the 'a' flag is present in 'formatoptions' text is formatted
automatically when inserting text or deleting text. This works nice for
@@ -1664,7 +1668,7 @@ found here: |sort()|.
last search pattern is used. This allows trying out
a pattern first.
Note that using ":sort" with ":global" doesn't sort the matching lines, it's
Note that using `:sort` with `:global` doesn't sort the matching lines, it's
quite useless.
The details about sorting depend on the library function used. There is no

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2012 Mar 23
*editing.txt* For Vim version 7.3. Last change: 2012 Apr 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1641,6 +1641,6 @@ There are three different types of searching:
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
currently work with 'path' items that contain a url or use the double star
(/usr/**2) or upward search (;) notations. >
with depth limiter (/usr/**2) or upward search (;) notations.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2012 Mar 28
*eval.txt* For Vim version 7.3. Last change: 2012 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1544,15 +1544,18 @@ v:profiling Normally zero. Set to one after using ":profile start".
*v:progname* *progname-variable*
v:progname Contains the name (with path removed) with which Vim was
invoked. Allows you to do special initialisations for "view",
"evim" etc., or any other name you might symlink to Vim.
invoked. Allows you to do special initialisations for |view|,
|evim| etc., or any other name you might symlink to Vim.
Read-only.
*v:register* *register-variable*
v:register The name of the register in effect for the current normal mode
command. If none is supplied it is the default register '"',
unless 'clipboard' contains "unnamed" or "unnamedplus", then
it is '*' or '+'.
command (regardless of whether that command actually used a
register). Or for the currently executing normal mode mapping
(use this in custom commands that take a register).
If none is supplied it is the default register '"', unless
'clipboard' contains "unnamed" or "unnamedplus", then it is
'*' or '+'.
Also see |getreg()| and |setreg()|
*v:scrollstart* *scrollstart-variable*
@@ -1844,6 +1847,7 @@ lispindent( {lnum}) Number Lisp indent for line {lnum}
localtime() Number current time
log( {expr}) Float natural logarithm (base e) of {expr}
log10( {expr}) Float logarithm of Float {expr} to base 10
luaeval( {expr}[, {expr}]) any evaluate |Lua| expression
map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
String or Dict
@@ -3229,7 +3233,8 @@ getcmdpos() *getcmdpos()*
Return the position of the cursor in the command line as a
byte count. The first column is 1.
Only works when editing the command line, thus requires use of
|c_CTRL-\_e| or |c_CTRL-R_=|. Returns 0 otherwise.
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
Returns 0 otherwise.
Also see |getcmdtype()|, |setcmdpos()| and |getcmdline()|.
getcmdtype() *getcmdtype()*
@@ -3242,8 +3247,8 @@ getcmdtype() *getcmdtype()*
@ |input()| command
- |:insert| or |:append| command
Only works when editing the command line, thus requires use of
|c_CTRL-\_e| or |c_CTRL-R_=|. Returns an empty string
otherwise.
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
Returns an empty string otherwise.
Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|.
*getcwd()*
@@ -3996,6 +4001,20 @@ log10({expr}) *log10()*
< -2.0
{only available when compiled with the |+float| feature}
luaeval({expr}[, {expr}]) *luaeval()*
Evaluate Lua expression {expr} and return its result converted
to Vim data structures. Second {expr} may hold additional
argument accessible as _A inside first {expr}.
Strings are returned as they are.
Boolean objects are converted to numbers.
Numbers are converted to |Float| values if vim was compiled
with |+float| and to numbers otherwise.
Dictionaries and lists obtained by vim.eval() are returned
as-is.
Other objects are returned as zero without any errors.
See |lua-luaeval| for more details.
{only available when compiled with the |+lua| feature}
map({expr}, {string}) *map()*
{expr} must be a |List| or a |Dictionary|.
Replace each item in {expr} with the result of evaluating
@@ -4320,7 +4339,7 @@ mode([expr]) Return a string that indicates the current mode.
mzeval({expr}) *mzeval()*
Evaluate MzScheme expression {expr} and return its result
convert to Vim data structures.
converted to Vim data structures.
Numbers and strings are returned as they are.
Pairs (including lists and improper lists) and vectors are
returned as Vim |Lists|.
@@ -5091,7 +5110,7 @@ setline({lnum}, {text}) *setline()*
will be set to the items in the list. Example: >
:call setline(5, ['aaa', 'bbb', 'ccc'])
< This is equivalent to: >
:for [n, l] in [[5, 6, 7], ['aaa', 'bbb', 'ccc']]
:for [n, l] in [[5, 'aaa'], [6, 'bbb'], [7, 'ccc']]
: call setline(n, l)
:endfor
< Note: The '[ and '] marks are not set.

View File

@@ -59,13 +59,14 @@ Example:
<
*:luado*
:[range]luado {body} Execute Lua function "function (line) {body} end" for
each line in the [range], with the function argument
being set to the text of each line in turn, without a
trailing <EOL>. If the value returned by the function
is a string it becomes the text of the line in the
current turn. The default for [range] is the whole
file: "1,$". {not in Vi}
:[range]luado {body} Execute Lua function "function (line, linenr) {body}
end" for each line in the [range], with the function
argument being set to the text of each line in turn,
without a trailing <EOL>, and the current line number.
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
{not in Vi}
Examples:
>

View File

@@ -459,6 +459,22 @@ The examples below assume a 'shiftwidth' of 4.
argument); argument);
a_short_line(argument, a_short_line(argument,
argument); argument);
<
*cino-k*
kN When in unclosed parentheses which follow "if", "for" or
"while" and N is non-zero, overrides the behaviour defined by
"(N": causes the indent to be N characters relative to the outer
context (i.e. the line where "if", "for" or "while" is). Has
no effect on deeper levels of nesting. Affects flags like "wN"
only for the "if", "for" and "while" conditions. If 0, defaults
to behaviour defined by the "(N" flag. (default: 0).
cino=(0 cino=(0,ks >
if (condition1 if (condition1
&& condition2) && condition2)
action(); action();
function(argument1 function(argument1
&& argument2); && argument2);
<
*cino-m*
mN When N is non-zero, line up a line starting with a closing
@@ -530,14 +546,14 @@ The examples below assume a 'shiftwidth' of 4.
*cino-#*
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognizes '#' comments. Note
'#'. Default N is zero: don't recognize '#' comments. Note
that lines starting with # will still be seen as preprocessor
lines.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2012 Jan 26
*insert.txt* For Vim version 7.3. Last change: 2012 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -383,8 +383,11 @@ will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
beware of the cursor possibly being beyond the end of the line.
The CTRL-O command takes you to Normal mode. If you then use a command enter
Insert mode again it doesn't nest. Thus when typing "a<C-O>a" and then <Esc>
takes you back to Normal mode, you do not need to type <Esc> twice.
Insert mode again it normally doesn't nest. Thus when typing "a<C-O>a" and
then <Esc> takes you back to Normal mode, you do not need to type <Esc> twice.
An exception is when not typing the command, e.g. when executing a mapping or
sourcing a script. This makes mappings work that briefly switch to Insert
mode.
The shifted cursor keys are not available on all terminals.
@@ -398,7 +401,12 @@ An example for using CTRL-G u: >
This redefines the backspace key to start a new undo sequence. You can now
undo the effect of the backspace key, without changing what you typed before
that, with CTRL-O u.
that, with CTRL-O u. Another example: >
:inoremap <CR> <C-]><C-G>u<CR>
This breaks undo at each line break. It also expands abbreviations before
this.
Using CTRL-O splits undo: the text typed before and after it is undone
separately. If you want to avoid this (e.g., in a mapping) you might be able

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2012 Feb 02
*map.txt* For Vim version 7.3. Last change: 2012 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1188,7 +1188,7 @@ reported if any are supplied). However, it is possible to specify that the
command can take arguments, using the -nargs attribute. Valid cases are:
-nargs=0 No arguments are allowed (the default)
-nargs=1 Exactly one argument is require, it includes spaces
-nargs=1 Exactly one argument is required, it includes spaces
-nargs=* Any number of arguments are allowed (0, 1, or many),
separated by white space
-nargs=? 0 or 1 arguments are allowed

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2012 Mar 28
*options.txt* For Vim version 7.3. Last change: 2012 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7119,8 +7119,8 @@ A jump table for the options with a short description can be found at |Q_op|.
the file should contain words with similar meaning, separated by
non-keyword characters (white space is preferred). Maximum line
length is 510 bytes.
To obtain a file to be used here, check out the wordlist FAQ at
http://www.hyphenologist.co.uk .
To obtain a file to be used here, check out this ftp site:
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2012 Mar 28
*syntax.txt* For Vim version 7.3. Last change: 2012 Apr 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2721,7 +2721,14 @@ Some folks like to include things like source code in comments and so would
prefer that spell checking be disabled in comments in LaTeX files. To do
this, put the following in your <.vimrc>: >
let g:tex_comment_nospell= 1
<
The comment lines >
% nospell{
...
% nospell}
will suppress spell checking between them. These comment lines spelling
control are known to be fragile; for example, don't include any of the section
commands (\part, \chapter, \section, \paragraph, etc) inside nospell blocks
or interleave environments (such as math) across nospell blocks.
*tex-verb*
Tex: Want Spell Checking in Verbatim Zones?~
@@ -2828,6 +2835,7 @@ You may selectively use conceal mode by setting g:tex_conceal in your
following sets of characters: >
a = accents/ligatures
b = bold and italic
d = delimiters
m = math symbols
g = Greek
@@ -2836,6 +2844,18 @@ following sets of characters: >
By leaving one or more of these out, the associated conceal-character
substitution will not be made.
*g:tex_isk*
Tex: Controlling What's In A Keyword~
(La)Tex keywords normally use the characters 0-9,a-z,A-Z,192-255 only
but the "_" is the only one that causes problems. So, by default,
syntax/tex.vim overrides the usual |'iskeyword'| setting (using |:setlocal|)
with one that works for LaTeX.
However, one may override this iskeyword re-setting by setting the
variable, g:tex_isk, in one's .vimrc to whatever one wishes and
it will be used instead.
TF *tf.vim* *ft-tf-syntax*

View File

@@ -2617,6 +2617,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:resize windows.txt /*:resize*
:ret change.txt /*:ret*
:retab change.txt /*:retab*
:retab! change.txt /*:retab!*
:retu eval.txt /*:retu*
:return eval.txt /*:return*
:rew editing.txt /*:rew*
@@ -3630,9 +3631,6 @@ E287 mbyte.txt /*E287*
E288 mbyte.txt /*E288*
E289 mbyte.txt /*E289*
E29 change.txt /*E29*
E290 mbyte.txt /*E290*
E291 mbyte.txt /*E291*
E292 mbyte.txt /*E292*
E293 message.txt /*E293*
E294 message.txt /*E294*
E295 message.txt /*E295*
@@ -4748,6 +4746,7 @@ autocmds-kept version5.txt /*autocmds-kept*
autocommand autocmd.txt /*autocommand*
autocommand-events autocmd.txt /*autocommand-events*
autocommand-pattern autocmd.txt /*autocommand-pattern*
autoformat change.txt /*autoformat*
autoload eval.txt /*autoload*
autoload-functions eval.txt /*autoload-functions*
avoid-hit-enter version5.txt /*avoid-hit-enter*
@@ -4995,6 +4994,7 @@ cino-g indent.txt /*cino-g*
cino-h indent.txt /*cino-h*
cino-i indent.txt /*cino-i*
cino-j indent.txt /*cino-j*
cino-k indent.txt /*cino-k*
cino-l indent.txt /*cino-l*
cino-m indent.txt /*cino-m*
cino-n indent.txt /*cino-n*
@@ -5829,6 +5829,7 @@ g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
g:netrw_dirhistmax pi_netrw.txt /*g:netrw_dirhistmax*
g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
@@ -5836,6 +5837,7 @@ g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
g:netrw_ftp_cmd pi_netrw.txt /*g:netrw_ftp_cmd*
g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd*
g:netrw_ftp_options pi_netrw.txt /*g:netrw_ftp_options*
g:netrw_ftp_sizelist_cmd pi_netrw.txt /*g:netrw_ftp_sizelist_cmd*
g:netrw_ftp_timelist_cmd pi_netrw.txt /*g:netrw_ftp_timelist_cmd*
g:netrw_ftpextracmd pi_netrw.txt /*g:netrw_ftpextracmd*
@@ -5850,10 +5852,10 @@ g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
g:netrw_local_mkdir pi_netrw.txt /*g:netrw_local_mkdir*
g:netrw_local_rmdir pi_netrw.txt /*g:netrw_local_rmdir*
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
@@ -5902,6 +5904,7 @@ g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
g:tar_secure pi_tar.txt /*g:tar_secure*
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
g:tex_conceal syntax.txt /*g:tex_conceal*
g:tex_isk syntax.txt /*g:tex_isk*
g:var eval.txt /*g:var*
g:vimball_home pi_vimball.txt /*g:vimball_home*
g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir*
@@ -6183,6 +6186,7 @@ hl-Cursor syntax.txt /*hl-Cursor*
hl-CursorColumn syntax.txt /*hl-CursorColumn*
hl-CursorIM syntax.txt /*hl-CursorIM*
hl-CursorLine syntax.txt /*hl-CursorLine*
hl-CursorLineNr syntax.txt /*hl-CursorLineNr*
hl-DiffAdd syntax.txt /*hl-DiffAdd*
hl-DiffChange syntax.txt /*hl-DiffChange*
hl-DiffDelete syntax.txt /*hl-DiffDelete*
@@ -6559,9 +6563,13 @@ lpc.vim syntax.txt /*lpc.vim*
lua if_lua.txt /*lua*
lua-buffer if_lua.txt /*lua-buffer*
lua-commands if_lua.txt /*lua-commands*
lua-dict if_lua.txt /*lua-dict*
lua-list if_lua.txt /*lua-list*
lua-luaeval if_lua.txt /*lua-luaeval*
lua-vim if_lua.txt /*lua-vim*
lua-window if_lua.txt /*lua-window*
lua.vim syntax.txt /*lua.vim*
luaeval() eval.txt /*luaeval()*
m motion.txt /*m*
m' motion.txt /*m'*
m[ motion.txt /*m[*
@@ -6935,8 +6943,11 @@ netrw-updir pi_netrw.txt /*netrw-updir*
netrw-urls pi_netrw.txt /*netrw-urls*
netrw-userpass pi_netrw.txt /*netrw-userpass*
netrw-v pi_netrw.txt /*netrw-v*
netrw-var pi_netrw.txt /*netrw-var*
netrw-variables pi_netrw.txt /*netrw-variables*
netrw-vexplore pi_netrw.txt /*netrw-vexplore*
netrw-windows-netrc pi_netrw.txt /*netrw-windows-netrc*
netrw-windows-s pi_netrw.txt /*netrw-windows-s*
netrw-write pi_netrw.txt /*netrw-write*
netrw-x pi_netrw.txt /*netrw-x*
netrw-xfer pi_netrw.txt /*netrw-xfer*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2012 Mar 28
*todo.txt* For Vim version 7.3. Last change: 2012 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,8 +34,6 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Go through list of maintainers that didn't respond. (Thilo Six, Mar 19)
Go through more coverity reports.
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
@@ -49,12 +47,21 @@ check.vim. Use a function to run both with 'cp' and 'nocp'.
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro
Matsumoto, 2012 Apr 18) Asked for another version of the patch.
Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5)
Patch for crash involving curwin->w_s. (Christian Brabandt, 2012 Apr 20)
What is the cause? Leaks memory? Other solution?
More debug info Apr 26. Patch with proper fix Apr 26. Update 28 Apr.
Issue 54: document behavior of -complete, also expands arg.
Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30)
Syntax update problem in one buffer opened in two windows, bottom window is
not correctly updated. (Paul Harris, 2012 Feb 27)
@@ -74,25 +81,7 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
When exiting with unsaved changes, selecting an existing file in the file
dialog, there is no dialog to ask whether the existing file should be
overwritten. (Felipe G. Nievinski, 2011 Dec 22)
Using Ctrl-] in a mapping does not expand abbreviations. Patch by Christian
Brabandt, 2012 Mar 2.
Patch to fix member confusion in Lua interface. (Taro Muraoka, 2012 Jan 8)
Update Jan 9.
Carvalho merged the patch: New version 2012 Jan 19.
Patch for option in 'cino' to specify more indent for continued conditions.
(Lech Lorens, 2011 Nov 27)
Isn't this already possible? Update 2012 Feb 15.
Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
Patch for: vimgrep fails when 'autochdir' is set. (Ben Fritz, 2012 Feb 4)
Patch for undofile(). (Christian Brabandt, 2012 Apr 27)
Patch for: (Christian Brabandt, 2011 Aug 22)
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
@@ -102,6 +91,9 @@ 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.
Patch for auto copy selecting to + register. (by Christian Brabant, in email
from Sergey Vakulenko, 2012 Apr 27)
Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
Another for CompleteFuncOk. (Florian Klein, 2012 Jan 31)
Name it "CompleteFuncDone".
@@ -112,7 +104,11 @@ Matsumoto, 2012 Jan 30)
Patch to add completion for :history command. (Dominique Pelle, 2012 Feb 26)
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
2012 Mar 21)
2012 Mar 21, update Mar 31)
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Use a count before "v" and "V" to select that many characters or lines?
(Kikyous)
@@ -123,6 +119,9 @@ Patch Sep 18.
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
And one for gui_x11.txt.
Patch for Python: add pyeval()(zyx, 2012 Apr 15, update Apr 16)
Also changes for Lua. Update Apr 19. Update Apr 22.
":cd" doesn't work when current directory path contains "**".
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
Requires a rewrite of the file_file_in_path code.
@@ -139,6 +138,8 @@ Patch to pass list to or(), and() and xor(). (Yasuhiro Matsumoto, 2012 Feb 8)
Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011
Nov 20)
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
`[ moves to character after insert, instead of the last inserted character.
(Yukihiro Nakadaira, 2011 Dec 9)
@@ -166,6 +167,12 @@ Needs more work. Pinged 2012 Jan 4.
Patch 7.3.116 was the wrong solution.
Christian Brabandt has another incomplete patch. (2011 Jul 13)
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
2012 Apr 2.
'cursorline' works on a text line only. Add 'cursorscreenline' for
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
With concealed text mouse click doesn't put the cursor in the right position.
(Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly,
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.
@@ -277,6 +284,10 @@ When setting a local option value from the global value, add a script ID that
indicates this, so that ":verbose set" can give a hint. Check with options in
the help file.
Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26)
Patch for configure (Stephen Bovy, 2012 Apr 28)
Updates later.
After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
Also for another example (ZyX, 2011 Jan 24)
@@ -363,6 +374,7 @@ When putting text in the cut buffer (when exiting) and conversion doesn't work
properly, Prepend "ENC==={value of 'enc'}:" to the text and don't convert?
Then it should at least work from Vim to Vim and in other applications it's
clear why it doesn't work.
Experimental patch by Christian Brabandt, 2012 Apr 19.
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.3. Last change: 2011 Aug 14
*windows.txt* For Vim version 7.3. Last change: 2012 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -174,7 +174,8 @@ CTRL-W CTRL_N *CTRL-W_CTRL-N*
2. WinEnter for the new window
3. BufLeave for the current buffer
4. BufEnter for the new buffer
This behaves like a ":split" first, and then a ":e" command.
This behaves like a ":split" first, and then an ":enew"
command.
:[N]vne[w] [++opt] [+cmd] [file] *:vne* *:vnew*
Like |:new|, but split vertically. If 'equalalways' is set
@@ -183,7 +184,8 @@ CTRL-W CTRL_N *CTRL-W_CTRL-N*
:[N]new [++opt] [+cmd] {file}
:[N]sp[lit] [++opt] [+cmd] {file} *:split_f*
Create a new window and start editing file {file} in it.
Create a new window and start editing file {file} in it. This
behaves like a ":split" first, and then an ":e" command.
If [+cmd] is given, execute the command when the file has been
loaded |+cmd|.
Also see |++opt|.

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Mar 28
" Last Change: 2012 Apr 18
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -17,7 +17,7 @@ augroup filetypedetect
" Ignored extensions
if exists("*fnameescape")
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.rpmsave,?\+.rpmnew
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r"))
au BufNewFile,BufRead *~
\ let s:name = expand("<afile>") |
@@ -239,8 +239,8 @@ func! s:FTVB(alt)
endif
endfunc
" Visual Basic Script (close to Visual Basic)
au BufNewFile,BufRead *.vbs,*.dsm,*.ctl setf vb
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
" IBasic file (similar to QBasic)
au BufNewFile,BufRead *.iba,*.ibi setf ibasic
@@ -735,9 +735,11 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
au BufNewFile,BufRead git-rebase-todo setf gitrebase
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
au BufNewFile,BufRead git-rebase-todo setf gitrebase
au BufNewFile,BufRead .msg.[0-9]*
\ if getline(1) =~ '^From.*# This line is ignored.$' |
\ setf gitsendemail |
@@ -1265,7 +1267,7 @@ endfunc
au BufNewFile,BufRead *.nqc setf nqc
" NSIS
au BufNewFile,BufRead *.nsi setf nsis
au BufNewFile,BufRead *.nsi,*.nsh setf nsis
" OCAML
au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit setf ocaml
@@ -2142,6 +2144,9 @@ au BufNewFile,BufReadPost *.tssop setf tssop
" TSS - Command Line (temporary)
au BufNewFile,BufReadPost *.tsscl setf tsscl
" TWIG files
au BufNewFile,BufReadPost *.twig setf twig
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org>
" Last Change: 2012 Mar 11
" Last Change: 2012 Apr 30
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif
@@ -51,7 +51,7 @@ if has("gui_win32") && !exists("b:browsefilter")
\ "Abaqus Results (*.dat)\t*.dat\n" .
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= "|unlet b:browsefilter"
let b:undo_ftplugin .= "|unlet! b:browsefilter"
endif
" Define patterns for the matchit plugin
@@ -62,7 +62,7 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ '\*assembly:\*end\s*assembly,' .
\ '\*instance:\*end\s*instance,' .
\ '\*step:\*end\s*step'
let b:undo_ftplugin .= "|unlet b:match_ignorecase b:match_words"
let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words"
endif
" Define keys used to move [count] keywords backward or forward.
@@ -85,6 +85,13 @@ endfunction
let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
\ . "|unmap <buffer> <LocalLeader><LocalLeader>"
" Undo must be done in nocompatible mode for <LocalLeader>.
let b:undo_ftplugin = "let s:cpo_save = &cpoptions|"
\ . "set cpoptions&vim|"
\ . b:undo_ftplugin
\ . "|let &cpoptions = s:cpo_save"
\ . "|unlet s:cpo_save"
" Restore saved compatibility options
let &cpoptions = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: DocBook
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
" Latest Revision: 2012-04-25
if exists('b:did_ftplugin')
finish
@@ -20,3 +20,5 @@ if b:docbk_type == 'sgml'
else
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
endif
let b:undo_ftplugin = "unlet! b:docbk_type"

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 27th May 2009
" Last Change: 24th April 2012
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -19,3 +19,5 @@ setlocal formatoptions-=t formatoptions+=rol
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setlocal comments< formatoptions< | unlet! b:browsefiler"

View File

@@ -1,11 +1,12 @@
" Vim settings file
" Language: Fortran90 (and Fortran95, Fortran77, F and elf90)
" Version: 0.47
" Last Change: 2011 December 28
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
" Version: 0.48
" Last Change: 2012 Apr. 18
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
" Usage: Do :help fortran-plugin from Vim
" Credits:
" Useful suggestions were made by Stefano Zacchiroli and Hendrik Merx.
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
" Fritz.
" Only do these settings when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -28,7 +29,7 @@ if !exists("b:fortran_fixed_source")
" User guarantees fixed source form
let b:fortran_fixed_source = 1
else
" f90 and f95 allow both fixed and free source form
" Modern Fortran allows both fixed and free source form
" assume fixed source form unless signs of free source form
" are detected in the first five columns of the first s:lmax lines
" Detection becomes more accurate and time-consuming if more lines
@@ -79,7 +80,7 @@ endif
setlocal fo+=tcql
setlocal include=^\\c#\\=\\s*include\\s\\+
setlocal suffixesadd+=.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
" Define patterns for the matchit plugin
if !exists("b:match_words")
@@ -89,6 +90,7 @@ if !exists("b:match_words")
let s:notprocedure = '\%(\s\+procedure\>\)\@!'
let b:match_ignorecase = 1
let b:match_words =
\ '(:),' .
\ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
\ s:notelse . '\<if\s*(.\+)\s*then\>:' .
\ '\<else\s*\%(if\s*(.\+)\s*then\)\=\>:\<end\s*if\>,'.
@@ -96,6 +98,9 @@ if !exists("b:match_words")
\ s:notend . '\<do\>:\<end\s*do\>,'.
\ s:notelse . '\<where\>:\<elsewhere\>:\<end\s*where\>,'.
\ s:notend . '\<type\s*[^(]:\<end\s*type\>,'.
\ s:notend . '\<forall\>:\<end\s*forall\>,'.
\ s:notend . '\<associate\>:\<end\s*associate\>,'.
\ s:notend . '\<enum\>:\<end\s*enum\>,'.
\ s:notend . '\<interface\>:\<end\s*interface\>,'.
\ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
\ s:notend . '\<function\>:\<end\s*function\>,'.
@@ -105,7 +110,7 @@ endif
" File filters for :browse e
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Fortran Files (*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn)\t*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn\n" .
let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" .
\ "All Files (*.*)\t*.*\n"
endif

View File

@@ -1,7 +1,6 @@
" Vim filetype plugin
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -10,7 +9,9 @@ endif
let b:did_ftplugin = 1
if !exists('b:git_dir')
if expand('%:p') =~# '\.git\>'
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]'
" Stay out of the way
elseif expand('%:p') =~# '\.git\>'
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
elseif $GIT_DIR != ''
let b:git_dir = $GIT_DIR

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
" Last Change: 2012 April 7
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -11,13 +11,14 @@ endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1
setlocal nomodeline
let b:undo_ftplugin = 'setl modeline<'
if &textwidth == 0
" make sure that log messages play nice with git-log on standard terminals
setlocal textwidth=72
if !exists("b:undo_ftplugin")
let b:undo_ftplugin = ""
endif
let b:undo_ftplugin = b:undo_ftplugin . "|setl tw<"
let b:undo_ftplugin .= "|setl tw<"
endif
if exists("g:no_gitcommit_commands") || v:version < 700
@@ -28,8 +29,6 @@ if !exists("b:git_dir")
let b:git_dir = expand("%:p:h")
endif
" Automatically diffing can be done with:
" autocmd FileType gitcommit DiffGitCached | wincmd p
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
function! s:diffcomplete(A,L,P)
@@ -58,11 +57,11 @@ function! s:gitdiffcached(bang,gitdir,...)
else
let extra = "-p --stat=".&columns
endif
call system(git." diff --cached --no-color ".extra." > ".(exists("*shellescape") ? shellescape(name) : name))
call system(git." diff --cached --no-color --no-ext-diff ".extra." > ".(exists("*shellescape") ? shellescape(name) : name))
exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name)
wincmd P
let b:git_dir = a:gitdir
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
nnoremap <silent> q :q<CR>
nnoremap <buffer> <silent> q :q<CR>
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
endfunction

View File

@@ -8,8 +8,8 @@ if exists("b:did_ftplugin") | finish | endif
" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:save_cpo = &cpo
set cpo-=C
let s:keepcpo= &cpo
set cpo&vim
" Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = ""
@@ -79,5 +79,5 @@ let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" .
\ s:undo_ftplugin
" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: PostScript
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 16th January 2012
" Last Change: 24th April 2012
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -31,5 +31,8 @@ if has("gui_win32") && !exists("b:browsefilter")
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setlocal comments< formatoptions<"
\ . "| unlet! b:browsefiler b:match_ignorecase b:match_words"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -5,6 +5,8 @@
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
let s:keepcpo= &cpo
set cpo&vim
setlocal cinkeys-=0#
setlocal indentkeys-=0#
@@ -41,3 +43,6 @@ if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
\ "All Files (*.*)\t*.*\n"
endif
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -28,6 +28,8 @@
if exists("b:did_indent") || version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let b:did_indent = 45
@@ -292,6 +294,9 @@ function GetAdaIndent()
return ind
endfunction GetAdaIndent
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
" Last Change: 2012 April 7
if exists("b:did_indent")
finish
@@ -12,6 +12,8 @@ setlocal autoindent
setlocal indentexpr=GetGitconfigIndent()
setlocal indentkeys=o,O,*<Return>,0[,],0;,0#,=,!^F
let b:undo_indent = 'setl ai< inde< indk<'
" Only define the function once.
if exists("*GetGitconfigIndent")
finish

View File

@@ -2,13 +2,15 @@
" Language: Python
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Original Author: David Bustos <bustos@caltech.edu>
" Last Change: 2006 Jun 18
" Last Change: 2012 Apr 30
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
let s:keepcpo= &cpo
set cpo&vim
" Some preliminary settings
setlocal nolisp " Make sure lisp indenting doesn't supersede us
@@ -190,4 +192,7 @@ function GetPythonIndent(lnum)
endfunction
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:sw=2

View File

@@ -1,12 +1,14 @@
" Menu Translations: Afrikaas
" Maintainer: Danie Roux <droux@tuks.co.za>
" Last Change: 2003 Mar 30
" Last Change: 2012 Apr 30
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
" The translations below are in latin1, but they work for cp1252 and
" iso-8859-15 without conversion as well.
@@ -150,3 +152,6 @@ menutrans o&ff\ (this\ file) &Af\ (die\ le
menutrans Co&lor\ test Toets\ die\ &kleure
menutrans &Highlight\ test Toets\ die\ verligting
menutrans &Convert\ to\ HTML Verwissel\ na\ HTML
let s:keepcpo= &cpo
set cpo&vim

View File

@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v143"
let g:loaded_netrwPlugin = "v145"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish

View File

@@ -32,6 +32,8 @@
if exists("b:current_syntax") || version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let b:current_syntax = "ada"
@@ -352,6 +354,9 @@ endif
" this speeds things up greatly.
syntax sync minlines=1 maxlines=1
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
" Maintainer: Erik Wognsen <erik.wognsen@gmail.com>
" Previous maintainer:
" Kevin Dahlhausen <kdahlhaus@yahoo.com>
" Last Change: 2012 Jan 5
" Last Change: 2012 Apr 09
" Thanks to Ori Avtalion for feedback on the comment markers!
@@ -56,6 +56,11 @@ syn keyword asmTodo contained TODO
" GAS supports one type of multi line comments:
syn region asmComment start="/\*" end="\*/" contains=asmTodo
" GAS (undocumentedly?) supports C++ style comments. Unlike in C/C++ however,
" a backslash ending a C++ style comment does not extend the comment to the
" next line (hence the syntax region does not define 'skip="\\$"')
syn region asmComment start="//" end="$" keepend contains=asmTodo
" Line comment characters depend on the target architecture and command line
" options and some comments may double as logical line number directives or
" preprocessor commands. This situation is described at

View File

@@ -6,6 +6,15 @@
" Script URL: http://www.vim.org/scripts/script.php?script_id=1239
" ChangeLog: Please visit the script URL for detailed change information
" Quit when a syntax file was already loaded.
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let b:current_syntax = "autoit"
" AutoIt is not case dependent
syn case ignore
@@ -1108,4 +1117,8 @@ hi def link autoitOption Type
hi def link autoitStyle Type
hi def link autoitConst Type
hi def link autoitSend Type
syn sync minlines=50
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -18,6 +18,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn case ignore
syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
@@ -78,4 +80,7 @@ endif
let b:current_syntax = "cmake"
let &cpo = s:keepcpo
unlet s:keepcpo
"EOF"

View File

@@ -2,11 +2,13 @@
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.feature
" Last Change: 2010 May 21
" Last Change: 2012 Apr 30
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn case match
syn sync minlines=20
@@ -123,4 +125,7 @@ hi def link cucumberThen Type
let b:current_syntax = "cucumber"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:set sts=2 sw=2:

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Datascript
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
" Last Change: 2010-08-01
" Last Change: 2012 Apr 30
"
" DataScript is a formal language for modelling binary datatypes,
" bitstreams or file formats. For more information, see:
@@ -12,6 +12,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn keyword dsPackage import package
syn keyword dsType bit string
@@ -88,3 +90,6 @@ hi def link cCommentL dsComment
hi def link dsComment Comment
let b:current_syntax = "datascript"
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: dircolors(1) input file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-06-23
" Latest Revision: 2012-04-25
if exists("b:current_syntax")
finish
@@ -17,6 +17,8 @@ syn region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
syn keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
syn keyword dircolorsKeyword NORMAL NORM FILE DIR LNK LINK SYMLINK ORPHAN
\ RESET MULTIHARDLINK CAPABILITY SETUID SETGID
\ STICKY STICKY_OTHER_WRITABLE OTHER_WRITABLE
\ MISSING FIFO PIPE SOCK BLK BLOCK CHR CHAR
\ DOOR EXEC
\ nextgroup=@dircolorsColors skipwhite

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Django template
" Maintainer: Dave Hodder <dmh@dmh.org.uk>
" Last Change: 2010 May 19
" Last Change: 2012 Apr 09
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -21,7 +21,7 @@ syn match djangoError "%}\|}}\|#}"
syn keyword djangoStatement contained autoescape csrf_token empty
" FIXME ==, !=, <, >, <=, and >= should be djangoStatements:
" syn keyword djangoStatement contained == != < > <= >=
syn keyword djangoStatement contained and as block endblock by cycle debug else
syn keyword djangoStatement contained and as block endblock by cycle debug else elif
syn keyword djangoStatement contained extends filter endfilter firstof for
syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
syn keyword djangoStatement contained ifequal endifequal ifnotequal
@@ -45,7 +45,7 @@ syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
syn keyword djangoFilter contained lower make_list phone2numeric pluralize
syn keyword djangoFilter contained pprint random removetags rjust slice slugify
syn keyword djangoFilter contained safe safeseq stringformat striptags
syn keyword djangoFilter contained time timesince timeuntil title
syn keyword djangoFilter contained time timesince timeuntil title truncatechars
syn keyword djangoFilter contained truncatewords truncatewords_html unordered_list upper urlencode
syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno

View File

@@ -12,6 +12,8 @@
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Fvwm configuration files are case insensitive
syn case ignore
@@ -635,3 +637,6 @@ hi def link fvwmShortcutKey SpecialChar
hi def link fvwmModuleName Function
let b:current_syntax = "fvwm"
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -2,7 +2,7 @@
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2010 May 21
" Last Change: 2012 April 7
if exists("b:current_syntax")
finish
@@ -16,7 +16,7 @@ if has("spell")
endif
syn include @gitcommitDiff syntax/diff.vim
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|#\)\@=/ fold contains=@gitcommitDiff
syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl
syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
@@ -26,7 +26,7 @@ syn match gitcommitComment "^#.*"
syn match gitcommitHead "^\%(# .*\n\)\+#$" contained transparent
syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitOnBranch "\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitBranch "[^ \t']\+" contained
syn match gitcommitBranch "[^ ']\+" contained
syn match gitcommitNoBranch "\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment
syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment
syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^# \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
@@ -35,7 +35,7 @@ syn match gitcommitNoChanges "\%(^# \)\@<=No changes$" contained containedin=g
syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
syn match gitcommitUntrackedFile "\t\@<=.*" contained
syn region gitcommitDiscarded start=/^# Changed but not updated:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitDiscarded start=/^# Change\%(s not staged for commit\|d but not updated\):/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
syn region gitcommitUnmerged start=/^# Unmerged paths:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold

View File

@@ -2,7 +2,7 @@
" Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: git-rebase-todo
" Last Change: 2010 May 21
" Last Change: 2012 April 7
if exists("b:current_syntax")
finish
@@ -17,7 +17,9 @@ syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
syn match gitrebaseCommand ".*" contained
syn match gitrebaseComment "^#.*" contains=gitrebaseHash
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite
@@ -28,6 +30,7 @@ hi def link gitrebaseReword Number
hi def link gitrebaseEdit PreProc
hi def link gitrebaseSquash Type
hi def link gitrebaseFixup Special
hi def link gitrebaseExec Function
hi def link gitrebaseSummary String
hi def link gitrebaseComment Comment
hi def link gitrebaseSquashError Error

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2012 Jan 08
" Last Change: 2012 Apr 25
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -38,6 +38,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"
syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
if has("conceal")
@@ -155,6 +156,7 @@ hi def link helpHeadline Statement
hi def link helpHeader PreProc
hi def link helpSectionDelim PreProc
hi def link helpVim Identifier
hi def link helpCommand Comment
hi def link helpExample Comment
hi def link helpOption Type
hi def link helpNotVi Special

View File

@@ -1,12 +1,14 @@
" Vim syntax file
" Language: Linden Scripting Language
" Maintainer: Timo Frenay <timo@frenay.net>
" Last Change: 2008 Mar 29
" Last Change: 2012 Apr 30
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Initializations
syn case match
@@ -269,4 +271,7 @@ hi def link lslComment Comment
let b:current_syntax = "lsl"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: ts=8

View File

@@ -3,7 +3,7 @@
" Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@nifty.com>
" Ex-maintainer: Anthony Hodsdon <ahodsdon@fastmail.fm>
" First Author: Valentino Kyriakides <1kyriaki@informatik.uni-hamburg.de>
" Last Change: 2007 Feb 21
" Last Change: 2012 Apr 30
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -12,6 +12,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
if &filetype != 'objcpp'
" Read the C syntax to start with
@@ -107,4 +109,7 @@ endif
let b:current_syntax = "objc"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: ts=8

View File

@@ -2,7 +2,7 @@
" Language: Perl 6
" Maintainer: Andy Lester <andy@petdance.com>
" Homepage: http://github.com/petdance/vim-perl/tree/master
" Last Change: 2009-07-04
" Last Change: 2012 Apr 30
" Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
" Moritz Lenz <moritz@faui2k3.org>
@@ -67,6 +67,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" identifiers
syn match p6Normal display "\K\%(\k\|[-']\K\@=\)*"
@@ -2246,4 +2248,7 @@ setlocal foldmethod=syntax
let b:current_syntax = "perl6"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:ts=8:sts=4:sw=4:expandtab:ft=vim

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: po (gettext)
" Maintainer: Dwayne Bailey <dwayne@translate.org.za>
" Last Change: 2010 Sep 21
" Last Change: 2012 Apr 30
" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
" Leonardo Fontenelle (Spell checking)
" Nam SungHyun <namsh@kldp.org> (Original maintainer)
@@ -13,6 +13,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn sync minlines=10
@@ -132,4 +134,7 @@ endif
let b:current_syntax = "po"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:set ts=8 sts=2 sw=2 noet:

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-05-02
" Latest Revision: 2012-04-25
" readline_has_bash - if defined add support for bash specific
" settings/functions
@@ -256,7 +256,7 @@ syn keyword readlineFunction contained
\ possible-completions
\ insert-completions
\ menu-complete
\ menu-complete-or-backward
\ menu-complete-backward
\ delete-char-or-list
\
\ start-kbd-macro

View File

@@ -1,7 +1,9 @@
" Vim syntax file
" Language: SAS
" Maintainer: James Kidd <james.kidd@covance.com>
" Last Change: 18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com>
" Last Change: 2012 Apr 20
" Corrected bug causing some keywords to appear as strings instead
" 18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com>
" Fixed comments with * taking multiple lines.
" Fixed highlighting of macro keywords.
" Added words to cases that didn't fit anywhere.
@@ -211,16 +213,7 @@ syn keyword sasTodo TODO TBD FIXME contained
" These don't fit anywhere else (Bob Heckel).
" Added others that were missing.
syn match sasUnderscore "_ALL_"
syn match sasUnderscore "_AUTOMATIC_"
syn match sasUnderscore "_CHARACTER_"
syn match sasUnderscore "_INFILE_"
syn match sasUnderscore "_N_"
syn match sasUnderscore "_NAME_"
syn match sasUnderscore "_NULL_"
syn match sasUnderscore "_NUMERIC_"
syn match sasUnderscore "_USER_"
syn match sasUnderscore "_WEBOUT_"
syn keyword sasUnderscore _ALL_ _AUTOMATIC_ _CHARACTER_ _INFILE_ _N_ _NAME_ _NULL_ _NUMERIC_ _USER_ _WEBOUT_
" End of SAS Functions

View File

@@ -12,6 +12,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn case ignore
@@ -76,4 +78,8 @@ if version >= 508 || !exists("did_sgmldecl_syntax_init")
endif
let b:current_syntax = "sgmldecl"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:set tw=78 ts=4:

View File

@@ -2,13 +2,14 @@
" Language: Subversion (svn) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
" Last Change: 2012-02-11
" Last Change: 2012-04-15
" Filenames: svn-commit*.tmp
" Version: 1.7
" Version: 1.8
" Contributors:
" Stefano Zacchiroli
" A. S. Budden
" Myk Taylor
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
@@ -20,9 +21,10 @@ endif
syn region svnRegion start="^--.*--$" end="\%$" contains=ALL contains=@NoSpell
syn match svnRemoved "^D .*$" contained
syn match svnAdded "^A[ M] .*$" contained
syn match svnModified "^M[ M] .*$" contained
syn match svnProperty "^_M .*$" contained
syn match svnRenamed "^R[ M][ U][ +] .*$" contained
syn match svnAdded "^A[ M][ U][ +] .*$" contained
syn match svnModified "^M[ M][ U] .*$" contained
syn match svnProperty "^_M[ U] .*$" contained
" Synchronization.
syn sync clear
@@ -44,6 +46,7 @@ if version >= 508 || !exists("did_svn_syn_inits")
HiLink svnAdded Identifier
HiLink svnModified Special
HiLink svnProperty Special
HiLink svnRenamed Special
delcommand HiLink
endif

View File

@@ -11,6 +11,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Key Names for values.
syn keyword taskdataKey description due end entry imask mask parent
@@ -40,4 +42,7 @@ hi def link taskdataUndo Type
let b:current_syntax = "taskdata"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:noexpandtab

View File

@@ -11,6 +11,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn match taskeditHeading "^\s*#\s*Name\s\+Editable details\s*$" contained
syn match taskeditHeading "^\s*#\s*-\+\s\+-\+\s*$" contained
@@ -32,4 +34,7 @@ hi def link taskeditString String
let b:current_syntax = "taskedit"
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:noexpandtab

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Jan 10, 2012
" Version: 72
" Last Change: Apr 24, 2012
" Version: 73
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -59,7 +59,7 @@ endif
" let user determine which classes of concealment will be supported
" a=accents/ligatures d=delimiters m=math symbols g=Greek s=superscripts/subscripts
if !exists("g:tex_conceal")
let s:tex_conceal= 'admgs'
let s:tex_conceal= 'abdmgs'
else
let s:tex_conceal= g:tex_conceal
endif
@@ -109,12 +109,14 @@ endif
" Clusters: {{{1
" --------
syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSectionMarker,texSectionName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
if !exists("g:tex_no_error")
syn cluster texCmdGroup add=texMathError
endif
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texNoSpell
syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell
syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
if !exists("g:tex_nospell") || !g:tex_nospell
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
@@ -122,6 +124,7 @@ else
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
endif
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
if !exists("tex_no_math")
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
@@ -170,7 +173,6 @@ if !exists("tex_no_math")
syn match texMathError "}" contained
endif
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
" syn region texMathMatcher matchgroup=Unique start="[^\\]\zs{" skip="\\\\\|\\[{}]" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
endif
" TeX/LaTeX keywords: {{{1
@@ -191,7 +193,7 @@ syn match texDelimiter "\\\\"
syn match texDelimiter "[{}]"
" Tex/Latex Options: {{{1
syn match texOption "[^\\]\zs#\d\+\|^#\d\+"
syn match texOption "[^\\]\zs#\d\+\|^#\d\+"
" texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1
if b:tex_stylish
@@ -207,17 +209,17 @@ syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
" \begin{}/\end{} section markers: {{{1
syn match texSectionMarker "\\begin\>\|\\end\>" nextgroup=texSectionName
syn region texSectionName matchgroup=Delimiter start="{" end="}" contained nextgroup=texSectionModifier contains=texComment
syn region texSectionModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
" \documentclass, \documentstyle, \usepackage: {{{1
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texSectionName,texDocTypeArgs
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texSectionName contains=texComment
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
" Preamble syntax-based folding support: {{{1
if g:tex_fold_enabled && has("folding")
syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texMatchGroup
syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texPreambleMatchGroup
endif
" TeX input: {{{1
@@ -238,8 +240,10 @@ syn match texTypeStyle "\\sc\>"
syn match texTypeStyle "\\tt\>"
" Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1
syn match texTypeStyle "\\textbf\>"
syn match texTypeStyle "\\textit\>"
if s:tex_conceal !~ 'b'
syn match texTypeStyle "\\textbf\>"
syn match texTypeStyle "\\textit\>"
endif
syn match texTypeStyle "\\textmd\>"
syn match texTypeStyle "\\textrm\>"
syn match texTypeStyle "\\textsc\>"
@@ -339,6 +343,14 @@ else
endif
endif
" particular support for bold and italic {{{1
if s:tex_conceal =~ 'b'
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
endif
" Bad Math (mismatched): {{{1
if !exists("tex_no_math")
syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
@@ -499,10 +511,12 @@ else
if g:tex_fold_enabled
" allows syntax-folding of 2 or more contiguous comment lines
" single-line comments are not folded
syn match texComment "%.*$" contains=@texCommentGroup
syn match texComment "%.*$" contains=@texCommentGroup
syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
syn region texNoSpell contained fold matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
else
syn match texComment "%.*$" contains=@texCommentGroup
syn match texComment "%.*$" contains=@texCommentGroup
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
endif
endif
@@ -513,10 +527,6 @@ if exists("g:tex_verbspell") && g:tex_verbspell
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
" listings package:
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
" moreverb package:
syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" contains=@Spell
syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" contains=@Spell
syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" contains=@Spell
if version < 600
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" contains=@Spell
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" contains=@Spell
@@ -529,12 +539,6 @@ if exists("g:tex_verbspell") && g:tex_verbspell
endif
else
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>"
" listings package:
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>"
" moreverb package:
syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>"
syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>"
syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>"
if version < 600
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>"
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>"
@@ -1188,6 +1192,10 @@ if did_tex_syntax_inits == 1
HiLink texError Error
endif
hi texBoldStyle gui=bold cterm=bold
hi texItalStyle gui=italic cterm=italic
hi texBoldItalStyle gui=bold,italic cterm=bold,italic
hi texItalBoldStyle gui=bold,italic cterm=bold,italic
HiLink texCite texRefZone
HiLink texDefCmd texDef
HiLink texDefName texDef
@@ -1215,8 +1223,8 @@ if did_tex_syntax_inits == 1
HiLink texMathZoneV texMath
HiLink texMathZoneZ texMath
endif
HiLink texSectionMarker texCmdName
HiLink texSectionName texSection
HiLink texBeginEnd texCmdName
HiLink texBeginEndName texSection
HiLink texSpaceCode texStatement
HiLink texStyleStatement texStatement
HiLink texTypeSize texType

View File

@@ -2,7 +2,7 @@
" Language: Valgrind Memory Debugger Output
" Maintainer: Roger Luethi <rl@hellgate.ch>
" Program URL: http://devel-home.kde.org/~sewardj/
" Last Change: 2002 Apr 07
" Last Change: 2012 Apr 30
"
" Notes: mostly based on strace.vim and xml.vim
@@ -10,6 +10,8 @@
if exists("b:current_syntax")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
syn case match
syn sync minlines=50
@@ -97,3 +99,6 @@ hi def link valgrindBin Comment
hi def link valgrindSrc Statement
let b:current_syntax = "valgrind"
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -51,7 +51,9 @@ POSTSCRIPT=no
# set to yes to enable OLE support
OLE=no
# Set the default $(WINVER) to make it work with pre-Win2k
ifndef WINVER
WINVER = 0x0400
endif
# Set to yes to enable Cscope support
CSCOPE=yes
# Set to yes to enable Netbeans support

View File

@@ -880,6 +880,7 @@ eval_init()
hash_add(&compat_hashtab, p->vv_di.di_key);
}
set_vim_var_nr(VV_SEARCHFORWARD, 1L);
set_reg_var(0); /* default for v:register is not 0 but '"' */
#ifdef EBCDIC
/*
@@ -12090,7 +12091,7 @@ f_has(argvars, rettv)
#ifdef FEAT_SEARCHPATH
"file_in_path",
#endif
#if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
#ifdef FEAT_FILTERPIPE
"filterpipe",
#endif
#ifdef FEAT_FIND_ID

View File

@@ -25,7 +25,6 @@ static int viminfo_encoding __ARGS((vir_T *virp));
static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing));
#endif
static int check_overwrite __ARGS((exarg_T *eap, buf_T *buf, char_u *fname, char_u *ffname, int other));
static int check_readonly __ARGS((int *forceit, buf_T *buf));
#ifdef FEAT_AUTOCMD
static void delbuf_msg __ARGS((char_u *name));
@@ -1113,7 +1112,7 @@ do_filter(line1, line2, eap, cmd, do_in, do_out)
if (do_out)
shell_flags |= SHELL_DOOUT;
#if (!defined(USE_SYSTEM) && defined(UNIX)) || defined(WIN3264)
#ifdef FEAT_FILTERPIPE
if (!do_in && do_out && !p_stmp)
{
/* Use a pipe to fetch stdout of the command, do not use a temp file. */
@@ -2722,7 +2721,7 @@ theend:
* May set eap->forceit if a dialog says it's OK to overwrite.
* Return OK if it's OK, FAIL if it is not.
*/
static int
int
check_overwrite(eap, buf, fname, ffname, other)
exarg_T *eap;
buf_T *buf;
@@ -3421,7 +3420,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
* and re-attach to buffer, perhaps.
*/
if (curwin->w_s == &(curwin->w_buffer->b_s))
curwin->w_s = &(buf->b_s);
curwin->w_s = &(buf->b_s);
#endif
curwin->w_buffer = buf;
curbuf = buf;
@@ -5965,6 +5964,29 @@ find_help_tags(arg, num_matches, matches, keep_lang)
break;
}
*d = NUL;
if (*IObuff == '`')
{
if (d > IObuff + 2 && d[-1] == '`')
{
/* remove the backticks from `command` */
mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
d[-2] = NUL;
}
else if (d > IObuff + 3 && d[-2] == '`' && d[-1] == ',')
{
/* remove the backticks and comma from `command`, */
mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
d[-3] = NUL;
}
else if (d > IObuff + 4 && d[-3] == '`'
&& d[-2] == '\\' && d[-1] == '.')
{
/* remove the backticks and dot from `command`\. */
mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
d[-4] = NUL;
}
}
}
}

View File

@@ -1489,6 +1489,7 @@ dialog_changed(buf, checkall)
char_u buff[DIALOG_MSG_SIZE];
int ret;
buf_T *buf2;
exarg_T ea;
dialog_msg(buff, _("Save changes to \"%s\"?"),
(buf->b_fname != NULL) ?
@@ -1498,13 +1499,19 @@ dialog_changed(buf, checkall)
else
ret = vim_dialog_yesnocancel(VIM_QUESTION, NULL, buff, 1);
/* Init ea pseudo-structure, this is needed for the check_overwrite()
* function. */
ea.append = ea.forceit = FALSE;
if (ret == VIM_YES)
{
#ifdef FEAT_BROWSE
/* May get file name, when there is none */
browse_save_fname(buf);
#endif
if (buf->b_fname != NULL) /* didn't hit Cancel */
if (buf->b_fname != NULL && check_overwrite(&ea, buf,
buf->b_fname, buf->b_ffname, FALSE) == OK)
/* didn't hit Cancel */
(void)buf_write_all(buf, FALSE);
}
else if (ret == VIM_NO)
@@ -1532,7 +1539,9 @@ dialog_changed(buf, checkall)
/* May get file name, when there is none */
browse_save_fname(buf2);
#endif
if (buf2->b_fname != NULL) /* didn't hit Cancel */
if (buf2->b_fname != NULL && check_overwrite(&ea, buf2,
buf2->b_fname, buf2->b_ffname, FALSE) == OK)
/* didn't hit Cancel */
(void)buf_write_all(buf2, FALSE);
#ifdef FEAT_AUTOCMD
/* an autocommand may have deleted the buffer */

View File

@@ -1316,3 +1316,11 @@
#ifdef FEAT_NORMAL
# define FEAT_PERSISTENT_UNDO
#endif
/*
* +filterpipe
*/
#if (defined(UNIX) && !defined(USE_SYSTEM)) \
|| (defined(WIN3264) && defined(FEAT_GUI_W32))
# define FEAT_FILTERPIPE
#endif

View File

@@ -2655,10 +2655,6 @@ failed:
}
#endif
/* Reset now, following writes should not omit the EOL. Also, the line
* number will become invalid because of edits. */
curbuf->b_no_eol_lnum = 0;
if (recoverymode && error)
return FAIL;
return OK;
@@ -5098,6 +5094,8 @@ nofail:
{
aco_save_T aco;
curbuf->b_no_eol_lnum = 0; /* in case it was set by the previous read */
/*
* Apply POST autocommands.
* Careful: The autocommands may call buf_write() recursively!
@@ -8984,6 +8982,10 @@ win_found:
&& buf_valid(aco->new_curbuf)
&& aco->new_curbuf->b_ml.ml_mfp != NULL)
{
# if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
if (curwin->w_s == &curbuf->b_s)
curwin->w_s = &aco->new_curbuf->b_s;
# endif
--curbuf->b_nwindows;
curbuf = aco->new_curbuf;
curwin->w_buffer = curbuf;

View File

@@ -90,6 +90,11 @@ typedef int GtkWidget;
static void entry_activate_cb(GtkWidget *widget, gpointer data);
static void entry_changed_cb(GtkWidget *entry, GtkWidget *dialog);
static void find_replace_cb(GtkWidget *widget, gpointer data);
static void recent_func_log_func(
const gchar *log_domain,
GLogLevelFlags log_level,
const gchar *message,
gpointer user_data);
#if defined(FEAT_TOOLBAR)
/*
@@ -839,6 +844,8 @@ gui_mch_browse(int saving UNUSED,
GtkWidget *fc;
#endif
char_u dirbuf[MAXPATHL];
guint log_handler;
const gchar *domain = "Gtk";
title = CONVERT_TO_UTF8(title);
@@ -853,6 +860,11 @@ gui_mch_browse(int saving UNUSED,
/* If our pointer is currently hidden, then we should show it. */
gui_mch_mousehide(FALSE);
/* Hack: The GTK file dialog warns when it can't access a new file, this
* makes it shut up. http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
log_handler = g_log_set_handler(domain, G_LOG_LEVEL_WARNING,
recent_func_log_func, NULL);
#ifdef USE_FILE_CHOOSER
/* We create the dialog each time, so that the button text can be "Open"
* or "Save" according to the action. */
@@ -916,6 +928,7 @@ gui_mch_browse(int saving UNUSED,
gtk_widget_show(gui.filedlg);
gtk_main();
#endif
g_log_remove_handler(domain, log_handler);
CONVERT_TO_UTF8_FREE(title);
if (gui.browse_fname == NULL)
@@ -1882,3 +1895,14 @@ ex_helpfind(eap)
* backwards compatibility anyway. */
do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
}
static void
recent_func_log_func(const gchar *log_domain UNUSED,
GLogLevelFlags log_level UNUSED,
const gchar *message UNUSED,
gpointer user_data UNUSED)
{
/* We just want to suppress the warnings. */
/* http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
}

View File

@@ -95,6 +95,7 @@ static luaV_Dict *luaV_pushdict (lua_State *L, dict_T *dic);
#define luaL_loadbufferx dll_luaL_loadbufferx
#define luaL_argerror dll_luaL_argerror
#endif
#define luaL_checkany dll_luaL_checkany
#define luaL_checklstring dll_luaL_checklstring
#define luaL_checkinteger dll_luaL_checkinteger
#define luaL_optinteger dll_luaL_optinteger
@@ -117,8 +118,8 @@ static luaV_Dict *luaV_pushdict (lua_State *L, dict_T *dic);
#define lua_pcallk dll_lua_pcallk
#define lua_getglobal dll_lua_getglobal
#define lua_setglobal dll_lua_setglobal
#define lua_typename dll_lua_typename
#endif
#define lua_typename dll_lua_typename
#define lua_close dll_lua_close
#define lua_gettop dll_lua_gettop
#define lua_settop dll_lua_settop
@@ -151,6 +152,7 @@ static luaV_Dict *luaV_pushdict (lua_State *L, dict_T *dic);
#define lua_rawset dll_lua_rawset
#define lua_rawseti dll_lua_rawseti
#define lua_setmetatable dll_lua_setmetatable
#define lua_next dll_lua_next
/* libs */
#define luaopen_base dll_luaopen_base
#define luaopen_table dll_luaopen_table
@@ -177,6 +179,7 @@ int (*dll_luaL_loadfilex) (lua_State *L, const char *filename, const char *mode)
int (*dll_luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, const char *name, const char *mode);
int (*dll_luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
#endif
void (*dll_luaL_checkany) (lua_State *L, int narg);
const char *(*dll_luaL_checklstring) (lua_State *L, int numArg, size_t *l);
lua_Integer (*dll_luaL_checkinteger) (lua_State *L, int numArg);
lua_Integer (*dll_luaL_optinteger) (lua_State *L, int nArg, lua_Integer def);
@@ -201,8 +204,8 @@ int (*dll_lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
int ctx, lua_CFunction k);
void (*dll_lua_getglobal) (lua_State *L, const char *var);
void (*dll_lua_setglobal) (lua_State *L, const char *var);
const char *(*dll_lua_typename) (lua_State *L, int tp);
#endif
const char *(*dll_lua_typename) (lua_State *L, int tp);
void (*dll_lua_close) (lua_State *L);
int (*dll_lua_gettop) (lua_State *L);
void (*dll_lua_settop) (lua_State *L, int idx);
@@ -235,6 +238,7 @@ void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
void (*dll_lua_rawset) (lua_State *L, int idx);
void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
int (*dll_lua_setmetatable) (lua_State *L, int objindex);
int (*dll_lua_next) (lua_State *L, int idx);
/* libs */
int (*dll_luaopen_base) (lua_State *L);
int (*dll_luaopen_table) (lua_State *L);
@@ -268,6 +272,7 @@ static const luaV_Reg luaV_dll[] = {
{"luaL_loadbufferx", (luaV_function) &dll_luaL_loadbufferx},
{"luaL_argerror", (luaV_function) &dll_luaL_argerror},
#endif
{"luaL_checkany", (luaV_function) &dll_luaL_checkany},
{"luaL_checklstring", (luaV_function) &dll_luaL_checklstring},
{"luaL_checkinteger", (luaV_function) &dll_luaL_checkinteger},
{"luaL_optinteger", (luaV_function) &dll_luaL_optinteger},
@@ -290,8 +295,8 @@ static const luaV_Reg luaV_dll[] = {
{"lua_pcallk", (luaV_function) &dll_lua_pcallk},
{"lua_getglobal", (luaV_function) &dll_lua_getglobal},
{"lua_setglobal", (luaV_function) &dll_lua_setglobal},
{"lua_typename", (luaV_function) &dll_lua_typename},
#endif
{"lua_typename", (luaV_function) &dll_lua_typename},
{"lua_close", (luaV_function) &dll_lua_close},
{"lua_gettop", (luaV_function) &dll_lua_gettop},
{"lua_settop", (luaV_function) &dll_lua_settop},
@@ -324,6 +329,7 @@ static const luaV_Reg luaV_dll[] = {
{"lua_rawset", (luaV_function) &dll_lua_rawset},
{"lua_rawseti", (luaV_function) &dll_lua_rawseti},
{"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
{"lua_next", (luaV_function) &dll_lua_next},
/* libs */
{"luaopen_base", (luaV_function) &dll_luaopen_base},
{"luaopen_table", (luaV_function) &dll_luaopen_table},
@@ -1828,7 +1834,7 @@ ex_luado(exarg_T *eap)
}
luaV_setrange(L, eap->line1, eap->line2);
luaL_buffinit(L, &b);
luaL_addlstring(&b, "return function(line) ", 22); /* header */
luaL_addlstring(&b, "return function(line, linenr) ", 30); /* header */
luaL_addlstring(&b, s, strlen(s));
luaL_addlstring(&b, " end", 4); /* footer */
luaL_pushresult(&b);
@@ -1845,7 +1851,8 @@ ex_luado(exarg_T *eap)
{
lua_pushvalue(L, -1); /* function */
luaV_pushline(L, curbuf, l); /* current line as arg */
if (lua_pcall(L, 1, 1, 0))
lua_pushinteger(L, l); /* current line number as arg */
if (lua_pcall(L, 2, 1, 0))
{
luaV_emsg(L);
break;

View File

@@ -77,6 +77,11 @@ OutputWrite(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
return NULL;
/* TODO: This works around a gcc optimizer problem and avoids Vim
* from crashing. Should find a real solution. */
if (str == NULL)
return NULL;
Py_BEGIN_ALLOW_THREADS
Python_Lock_Vim();
writer((writefn)(error ? emsg : msg), (char_u *)str, len);

View File

@@ -1238,6 +1238,11 @@ static VALUE window_set_cursor(VALUE self, VALUE pos)
return Qnil;
}
static VALUE f_nop(VALUE self UNUSED)
{
return Qnil;
}
static VALUE f_p(int argc, VALUE *argv, VALUE self UNUSED)
{
int i;
@@ -1259,6 +1264,7 @@ static void ruby_io_init(void)
rb_stdout = rb_obj_alloc(rb_cObject);
rb_define_singleton_method(rb_stdout, "write", vim_message, 1);
rb_define_singleton_method(rb_stdout, "flush", f_nop, 0);
rb_define_global_function("p", f_p, -1);
}

View File

@@ -928,6 +928,18 @@ int vim_main2(int argc, char **argv)
TIME_MSG("VimEnter autocommands");
#endif
#if defined(FEAT_EVAL) && defined(FEAT_CLIPBOARD)
/* Adjust default register name for "unnamed" in 'clipboard'. Can only be
* done after the clipboard is available and all initial commands that may
* modify the 'clipboard' setting have run; i.e. just before entering the
* main loop. */
{
int default_regname = 0;
adjust_clip_reg(&default_regname);
set_reg_var(default_regname);
}
#endif
#if defined(FEAT_DIFF) && defined(FEAT_SCROLLBIND)
/* When a startup script or session file setup for diff'ing and
* scrollbind, sync the scrollbind now. */
@@ -1357,7 +1369,7 @@ getout(exitval)
{
apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname,
buf->b_fname, FALSE, buf);
buf->b_changedtick = -1; /* note that we did it already */
buf->b_changedtick = -1; /* note that we did it already */
/* start all over, autocommands may mess up the lists */
next_tp = first_tabpage;
break;

View File

@@ -4972,6 +4972,7 @@ static int cin_isif __ARGS((char_u *));
static int cin_iselse __ARGS((char_u *));
static int cin_isdo __ARGS((char_u *));
static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
static int cin_isbreak __ARGS((char_u *));
static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
@@ -5770,6 +5771,52 @@ cin_iswhileofdo(p, lnum, ind_maxparen) /* XXX */
return retval;
}
/*
* Check whether in "p" there is an "if", "for" or "while" before "*poffset".
* Return 0 if there is none.
* Otherwise return !0 and update "*poffset" to point to the place where the
* string was found.
*/
static int
cin_is_if_for_while_before_offset(line, poffset)
char_u *line;
int *poffset;
{
int offset = *poffset;
if (offset-- < 2)
return 0;
while (offset > 2 && vim_iswhite(line[offset]))
--offset;
offset -= 1;
if (!STRNCMP(line + offset, "if", 2))
goto probablyFound;
if (offset >= 1)
{
offset -= 1;
if (!STRNCMP(line + offset, "for", 3))
goto probablyFound;
if (offset >= 2)
{
offset -= 2;
if (!STRNCMP(line + offset, "while", 5))
goto probablyFound;
}
}
return 0;
probablyFound:
if (!offset || !vim_isIDc(line[offset - 1]))
{
*poffset = offset;
return 1;
}
return 0;
}
/*
* Return TRUE if we are at the end of a do-while.
* do
@@ -6124,7 +6171,7 @@ find_start_brace(ind_maxcomment) /* XXX */
/*
* Find the matching '(', failing if it is in a comment.
* Return NULL of no match found.
* Return NULL if no match found.
*/
static pos_T *
find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */
@@ -6393,6 +6440,12 @@ get_c_indent()
*/
int ind_cpp_namespace = 0;
/*
* handle continuation lines containing conditions of if(), for() and
* while()
*/
int ind_if_for_while = 0;
pos_T cur_curpos;
int amount;
int scope_amount;
@@ -6509,6 +6562,7 @@ get_c_indent()
case 'l': ind_keep_case_label = n; break;
case '#': ind_hash_comment = n; break;
case 'N': ind_cpp_namespace = n; break;
case 'k': ind_if_for_while = n; break;
}
if (*options == ',')
++options;
@@ -6812,6 +6866,33 @@ get_c_indent()
if (amount == -1)
{
int ignore_paren_col = 0;
int is_if_for_while = 0;
if (ind_if_for_while)
{
/* Look for the outermost opening parenthesis on this line
* and check whether it belongs to an "if", "for" or "while". */
pos_T cursor_save = curwin->w_cursor;
pos_T outermost;
char_u *line;
trypos = &our_paren_pos;
do {
outermost = *trypos;
curwin->w_cursor.lnum = outermost.lnum;
curwin->w_cursor.col = outermost.col;
trypos = find_match_paren(ind_maxparen, ind_maxcomment);
} while (trypos && trypos->lnum == outermost.lnum);
curwin->w_cursor = cursor_save;
line = ml_get(outermost.lnum);
is_if_for_while =
cin_is_if_for_while_before_offset(line, &outermost.col);
}
amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
look = skipwhite(look);
@@ -6836,7 +6917,7 @@ get_c_indent()
curwin->w_cursor.lnum = save_lnum;
look = ml_get(our_paren_pos.lnum) + look_col;
}
if (theline[0] == ')' || ind_unclosed == 0
if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0)
|| (!ind_unclosed_noignore && *look == '('
&& ignore_paren_col == 0))
{
@@ -6907,7 +6988,8 @@ get_c_indent()
{
/* Line up with the start of the matching paren line. */
}
else if (ind_unclosed == 0 || (!ind_unclosed_noignore
else if ((ind_unclosed == 0 && is_if_for_while == 0)
|| (!ind_unclosed_noignore
&& *look == '(' && ignore_paren_col == 0))
{
if (cur_amount != MAXCOL)
@@ -6943,7 +7025,12 @@ get_c_indent()
if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
amount += ind_unclosed2;
else
amount += ind_unclosed;
{
if (is_if_for_while)
amount += ind_if_for_while;
else
amount += ind_unclosed;
}
}
/*
* For a line starting with ')' use the minimum of the two

View File

@@ -1812,14 +1812,15 @@ nb_do_cmd(
char_u *oldline = ml_get(lnum);
char_u *newline;
/* Insert halfway a line. For simplicity we assume we
* need to append to the line. */
/* Insert halfway a line. */
newline = alloc_check(
(unsigned)(STRLEN(oldline) + len + 1));
if (newline != NULL)
{
STRCPY(newline, oldline);
mch_memmove(newline, oldline, (size_t)pos->col);
newline[pos->col] = NUL;
STRCAT(newline, args);
STRCAT(newline, oldline + pos->col);
ml_replace(lnum, newline, FALSE);
}
}

View File

@@ -1720,9 +1720,14 @@ op_delete(oap)
did_yank = TRUE;
}
/* Yank into small delete register when no register specified and the
* delete is within one line. */
if (oap->regname == 0 && oap->motion_type != MLINE
/* Yank into small delete register when no named register specified
* and the delete is within one line. */
if ((
#ifdef FEAT_CLIPBOARD
((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
#endif
oap->regname == 0) && oap->motion_type != MLINE
&& oap->line_count == 1)
{
oap->regname = '-';

View File

@@ -3734,24 +3734,21 @@ wait4pid(child, status)
while (wait_pid != child)
{
# ifdef _THREAD_SAFE
/* Ugly hack: when compiled with Python threads are probably
* used, in which case wait() sometimes hangs for no obvious
* reason. Use waitpid() instead and loop (like the GUI). */
# ifdef __NeXT__
/* When compiled with Python threads are probably used, in which case
* wait() sometimes hangs for no obvious reason. Use waitpid()
* instead and loop (like the GUI). Also needed for other interfaces,
* they might call system(). */
# ifdef __NeXT__
wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
# else
# else
wait_pid = waitpid(child, status, WNOHANG);
# endif
# endif
if (wait_pid == 0)
{
/* Wait for 1/100 sec before trying again. */
mch_delay(10L, TRUE);
continue;
}
# else
wait_pid = wait(status);
# endif
if (wait_pid <= 0
# ifdef ECHILD
&& errno == ECHILD

View File

@@ -241,9 +241,8 @@ msgstr " 文件名补全 (^F^N^P)"
msgid " Tag completion (^]^N^P)"
msgstr " Tag 补全 (^]^N^P)"
#, fuzzy
#~ msgid " Path pattern completion (^N^P)"
#~ msgstr " 路径模式补全 (^N^P)"
msgid " Path pattern completion (^N^P)"
msgstr " 头文件模式补全 (^N^P)"
msgid " Definition completion (^D^N^P)"
msgstr " 定义补全 (^D^N^P)"
@@ -5284,7 +5283,7 @@ msgstr "Vim: 读错误,退出中...\n"
#. must display the prompt
msgid "No undo possible; continue anyway"
msgstr "无法撤销;继续"
msgstr "无法撤销;仍然继续"
msgid "Already at oldest change"
msgstr "已位于最旧的改变"
@@ -5601,13 +5600,13 @@ msgid "type :help cp-default<Enter> for info on this"
msgstr "输入 :help cp-default<Enter> 查看相关说明 "
msgid "menu Help->Orphans for information "
msgstr "菜单 Help->Orphans 查看说明 "
msgstr "菜单 帮助->孤儿 查看说明 "
msgid "Running modeless, typed text is inserted"
msgstr "无模式运行,输入文字即插入"
msgid "menu Edit->Global Settings->Toggle Insert Mode "
msgstr "菜单 Edit->Global Settings->Toggle Insert Mode "
msgstr "菜单 编辑->全局设定->开/关插入模式 "
#, fuzzy
#~ msgid " for two modes "

View File

@@ -23,6 +23,7 @@ void ex_file __ARGS((exarg_T *eap));
void ex_update __ARGS((exarg_T *eap));
void ex_write __ARGS((exarg_T *eap));
int do_write __ARGS((exarg_T *eap));
int check_overwrite __ARGS((exarg_T *eap, buf_T *buf, char_u *fname, char_u *ffname, int other));
void ex_wnext __ARGS((exarg_T *eap));
void do_wqall __ARGS((exarg_T *eap));
int not_writing __ARGS((void));

View File

@@ -130,9 +130,10 @@ static void qf_set_title __ARGS((qf_info_T *qi));
static void qf_fill_buffer __ARGS((qf_info_T *qi));
#endif
static char_u *get_mef_name __ARGS((void));
static buf_T *load_dummy_buffer __ARGS((char_u *fname));
static void wipe_dummy_buffer __ARGS((buf_T *buf));
static void unload_dummy_buffer __ARGS((buf_T *buf));
static void restore_start_dir __ARGS((char_u *dirname_start));
static buf_T *load_dummy_buffer __ARGS((char_u *fname, char_u *dirname_start, char_u *resulting_dir));
static void wipe_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
static void unload_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
static qf_info_T *ll_get_or_alloc_list __ARGS((win_T *));
/* Quickfix window check helper macro */
@@ -3237,19 +3238,7 @@ ex_vimgrep(eap)
/* Load file into a buffer, so that 'fileencoding' is detected,
* autocommands applied, etc. */
buf = load_dummy_buffer(fname);
/* When autocommands changed directory: go back. We assume it was
* ":lcd %:p:h". */
mch_dirname(dirname_now, MAXPATHL);
if (STRCMP(dirname_start, dirname_now) != 0)
{
exarg_T ea;
ea.arg = dirname_start;
ea.cmdidx = CMD_lcd;
ex_cd(&ea);
}
buf = load_dummy_buffer(fname, dirname_start, dirname_now);
p_mls = save_mls;
#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
@@ -3320,7 +3309,7 @@ ex_vimgrep(eap)
{
/* Never keep a dummy buffer if there is another buffer
* with the same name. */
wipe_dummy_buffer(buf);
wipe_dummy_buffer(buf, dirname_start);
buf = NULL;
}
else if (!cmdmod.hide
@@ -3336,12 +3325,12 @@ ex_vimgrep(eap)
* many swap files. */
if (!found_match)
{
wipe_dummy_buffer(buf);
wipe_dummy_buffer(buf, dirname_start);
buf = NULL;
}
else if (buf != first_match_buf || (flags & VGR_NOJUMP))
{
unload_dummy_buffer(buf);
unload_dummy_buffer(buf, dirname_start);
buf = NULL;
}
}
@@ -3487,13 +3476,48 @@ skip_vimgrep_pat(p, s, flags)
}
/*
* Load file "fname" into a dummy buffer and return the buffer pointer.
* Restore current working directory to "dirname_start" if they differ, taking
* into account whether it is set locally or globally.
*/
static void
restore_start_dir(dirname_start)
char_u *dirname_start;
{
char_u *dirname_now = alloc(MAXPATHL);
if (NULL != dirname_now)
{
mch_dirname(dirname_now, MAXPATHL);
if (STRCMP(dirname_start, dirname_now) != 0)
{
/* If the directory has changed, change it back by building up an
* appropriate ex command and executing it. */
exarg_T ea;
ea.arg = dirname_start;
ea.cmdidx = (curwin->w_localdir == NULL) ? CMD_cd : CMD_lcd;
ex_cd(&ea);
}
}
}
/*
* Load file "fname" into a dummy buffer and return the buffer pointer,
* placing the directory resulting from the buffer load into the
* "resulting_dir" pointer. "resulting_dir" must be allocated by the caller
* prior to calling this function. Restores directory to "dirname_start" prior
* to returning, if autocmds or the 'autochdir' option have changed it.
*
* If creating the dummy buffer does not fail, must call unload_dummy_buffer()
* or wipe_dummy_buffer() later!
*
* Returns NULL if it fails.
* Must call unload_dummy_buffer() or wipe_dummy_buffer() later!
*/
static buf_T *
load_dummy_buffer(fname)
load_dummy_buffer(fname, dirname_start, resulting_dir)
char_u *fname;
char_u *dirname_start; /* in: old directory */
char_u *resulting_dir; /* out: new directory */
{
buf_T *newbuf;
buf_T *newbuf_to_wipe = NULL;
@@ -3548,22 +3572,33 @@ load_dummy_buffer(fname)
wipe_buffer(newbuf_to_wipe, FALSE);
}
/*
* When autocommands/'autochdir' option changed directory: go back.
* Let the caller know what the resulting dir was first, in case it is
* important.
*/
mch_dirname(resulting_dir, MAXPATHL);
restore_start_dir(dirname_start);
if (!buf_valid(newbuf))
return NULL;
if (failed)
{
wipe_dummy_buffer(newbuf);
wipe_dummy_buffer(newbuf, dirname_start);
return NULL;
}
return newbuf;
}
/*
* Wipe out the dummy buffer that load_dummy_buffer() created.
* Wipe out the dummy buffer that load_dummy_buffer() created. Restores
* directory to "dirname_start" prior to returning, if autocmds or the
* 'autochdir' option have changed it.
*/
static void
wipe_dummy_buffer(buf)
wipe_dummy_buffer(buf, dirname_start)
buf_T *buf;
char_u *dirname_start;
{
if (curbuf != buf) /* safety check */
{
@@ -3583,18 +3618,28 @@ wipe_dummy_buffer(buf)
* new aborting error, interrupt, or uncaught exception. */
leave_cleanup(&cs);
#endif
/* When autocommands/'autochdir' option changed directory: go back. */
restore_start_dir(dirname_start);
}
}
/*
* Unload the dummy buffer that load_dummy_buffer() created.
* Unload the dummy buffer that load_dummy_buffer() created. Restores
* directory to "dirname_start" prior to returning, if autocmds or the
* 'autochdir' option have changed it.
*/
static void
unload_dummy_buffer(buf)
unload_dummy_buffer(buf, dirname_start)
buf_T *buf;
char_u *dirname_start;
{
if (curbuf != buf) /* safety check */
{
close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
/* When autocommands/'autochdir' option changed directory: go back. */
restore_start_dir(dirname_start);
}
}
#if defined(FEAT_EVAL) || defined(PROTO)

View File

@@ -52,7 +52,8 @@ win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
fixff:
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q dotest.in
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q \
dotest.in test60.ok test71.ok test74.ok
clean:
-del *.out

View File

@@ -75,6 +75,8 @@ win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
fixff:
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q \
dotest.in test60.ok test71.ok test74.ok
clean:
-$(DEL) *.out

View File

@@ -1573,6 +1573,220 @@ void func(void)
for (int i = 0; i < 10; ++i)
if (i & 1) {
foo(1);
} else
foo(0);
baz();
}
STARTTEST
:set cino=k2s,(0
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
STARTTEST
:set cino=k2s,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
STARTTEST
:set cino=k2s,(s,U1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
c = c1 &&
(
c2 ||
c3
) && c4;
}
STARTTEST
:set cino=k2s,(0,W4
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
if ( c1
&& ( c2
|| c3))
foo;
a_long_line(
argument,
argument);
a_short_line(argument,
argument);
}
STARTTEST
:set cino=k2s,u2
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
}
STARTTEST
:set cino=k2s,(0,w1
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
STARTTEST
:set cino=k2,(s
2kdd3j=][
ENDTEST
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}

View File

@@ -1411,6 +1411,192 @@ void func(void)
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
c = c1 &&
(
c2 ||
c3
) && c4;
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
if ( c1
&& ( c2
|| c3))
foo;
a_long_line(
argument,
argument);
a_short_line(argument,
argument);
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
if (c123456789
&& (c22345
|| c3))
printf("foo\n");
if ( c1
&& ( c2
|| c3))
foo;
func( c1
&& ( c2
|| c3))
foo;
}
void func(void)
{
if (condition1
&& condition2)
action();
function(argument1
&& argument2);
if (c1 && (c2 ||
c3))
foo;
if (c1 &&
(c2 || c3))
{
}
}
NAMESPACESTART
/* valid namespaces with normal indent */
namespace

View File

@@ -21,7 +21,9 @@ ggdG
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest
:!cksum Xtest > test.out
:r !cksum Xtest
:s/\s/ /g
:.w! test.out
:qa!
ENDTEST

View File

@@ -714,6 +714,46 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
511,
/**/
510,
/**/
509,
/**/
508,
/**/
507,
/**/
506,
/**/
505,
/**/
504,
/**/
503,
/**/
502,
/**/
501,
/**/
500,
/**/
499,
/**/
498,
/**/
497,
/**/
496,
/**/
495,
/**/
494,
/**/
493,
/**/
492,
/**/
491,
/**/