Compare commits

..

212 Commits

Author SHA1 Message Date
Bram Moolenaar
5897e0c470 updated for version 7.3.183
Problem:    When Exuberant ctags binary is exuberant-ctags it's not found.
Solution:   Add configure check for exuberant-ctags.
2011-05-10 15:42:03 +02:00
Bram Moolenaar
05da428462 updated for version 7.3.182
Problem:    Compiler warning for uninitialized variable.
Solution:   Add dummy initializer.
2011-05-10 14:44:11 +02:00
Bram Moolenaar
9c520cb544 updated for version 7.3.181
Problem:    When repeating the insert of CTRL-V or a digraph the display may
            not be updated correctly.
Solution:   Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
2011-05-10 14:22:16 +02:00
Bram Moolenaar
a4271d598b updated for version 7.3.180
Problem:    When both a middle part of 'comments' matches and an end part, the
            middle part was used errornously.
Solution:   After finding the middle part match continue looking for a better
            end part match. (partly by Lech Lorens)
2011-05-10 13:38:27 +02:00
Bram Moolenaar
aede6ceba3 updated for version 7.3.179
Problem:    C-indent doesn't handle colon in string correctly.
Solution:   Skip the string. (Lech Lorens)
2011-05-10 11:56:30 +02:00
Bram Moolenaar
4ae06c1fa5 updated for version 7.3.178
Problem:    C-indent doesn't handle code right after { correctly.
Solution:   Fix detecting unterminated line. (Lech Lorens)
2011-05-10 11:39:19 +02:00
Bram Moolenaar
3c9c99cb2c updated for version 7.3.177
Problem:    MS-Windows: mkdir() doesn't work properly when 'encoding' is
            "utf-8".
Solution:   Convert to utf-16. (Yukihiro Nakadaira)
2011-05-05 18:31:59 +02:00
Bram Moolenaar
948733a874 updated for version 7.3.176
Problem:    Ruby linking doesn't work properly on Mac OS X.
Solution:   Fix the configure check for Ruby. (Bjorn Winckler)
2011-05-05 18:10:16 +02:00
Bram Moolenaar
1701e4069b updated for version 7.3.175
Problem:    When 'colorcolumn' is set locally to a window, ":new" opens a
            window with the same highlighting but 'colorcolumn' is empty.
            (Tyru)
Solution:   Call check_colorcolumn() after clearing and copying options.
            (Christian Brabandt)
2011-05-05 17:32:44 +02:00
Bram Moolenaar
8f4ba6942d updated for version 7.3.174
Problem:    When Exuberant ctags binary is exctags it's not found.
Solution:   Add configure check for exctags. (Hong Xu)
2011-05-05 17:24:27 +02:00
Bram Moolenaar
d236ac0d49 updated for version 7.3.173
Problem:    After using setqflist() to make the quickfix list empty ":cwindow"
            may open the window anyway.  Also after ":vimgrep".
Solution:   Correctly check whether the list is empty. (Ingo Karkat)
2011-05-05 17:14:14 +02:00
Bram Moolenaar
1c32dff7d6 updated for version 7.3.172
Problem:    MS-Windows: rename() might delete the file if the name differs but
            it's actually the same file.
Solution:   Use the file handle to check if it's the same file. (Yukihiro
            Nakadaira)
2011-05-05 16:41:24 +02:00
Bram Moolenaar
85de20665f updated for version 7.3.171
Problem:    When the clipboard isn't supported: ":yank*" gives a confusing
            error message.
Solution:   Specifically mention that the register name is invalid.
            (Jean-Rene David)
2011-05-05 14:26:41 +02:00
Bram Moolenaar
72bb0d6455 updated for version 7.3.170
Problem:    VMS Makefile for testing was not updated for test77.
Solution:   Add test77 to the Makefile.
2011-04-28 19:05:05 +02:00
Bram Moolenaar
8e5af3e531 Updated runtime files. 2011-04-28 19:02:44 +02:00
Bram Moolenaar
b453a53b59 updated for version 7.3.169
Problem:    Freeing memory already freed, warning from static code analyzer.
Solution:   Initialize pointers to NULL, correct use of "mustfree". (partly by
            Dominique Pelle)
2011-04-28 17:48:44 +02:00
Bram Moolenaar
877b97b953 updated for version 7.3.168
Problem:    When the second argument of input() contains a CR the text up to
            that is used without asking the user. (Yasuhiro Matsumoto)
Solution:   Change CR, NL and ESC in the text to a space.
2011-04-28 17:30:09 +02:00
Bram Moolenaar
d88e02def5 updated for version 7.3.167
Problem:    When using the internal grep QuickFixCmdPost is not triggered.
            (Yukihiro Nakadaira)
Solution:   Change the place where autocommands are triggered.
2011-04-28 17:27:09 +02:00
Bram Moolenaar
f844147747 updated for version 7.3.166
Problem:    Buffer on the stack may be too big
Solution:   Allocate the space.
2011-04-28 17:24:58 +02:00
Bram Moolenaar
cca92ec8cf updated for version 7.3.165
Problem:    ":find" completion does not escape spaces in a directory name.
            (Isz)
Solution:   Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
2011-04-28 17:21:53 +02:00
Bram Moolenaar
8d2d71d4bb updated for version 7.3.164
Problem:    C-indenting: a preprocessor statement confuses detection of a
            function delcaration.
Solution:   Ignore preprocessor lines. (Lech Lorens)  Also recognize the style
            to put a comma before the argument name.
2011-04-28 13:02:09 +02:00
Bram Moolenaar
f1fda2d6e5 updated for version 7.3.163
Problem:    For the default of 'shellpipe' "mksh" and "pdksh" are not
            recognized.
Solution:   Recognize these shell names.
2011-04-28 12:57:36 +02:00
Bram Moolenaar
e962388eac updated for version 7.3.162
Problem:    No error message when assigning to a list with an index out of
            range. (Yukihiro Nakadaira)
Solution:   Add the error message.
2011-04-21 14:27:28 +02:00
Bram Moolenaar
d9462e394a updated for version 7.3.161
Problem:    Items on the stack may be too big.
Solution:   Make items static or allocate them.
2011-04-11 21:35:11 +02:00
Bram Moolenaar
ef9d6aa70d updated for version 7.3.160
Problem:    Unsafe string copying.
Solution:   Use vim_strncpy() instead of strcpy().  Use vim_strcat() instead
            of strcat().
2011-04-11 16:56:35 +02:00
Bram Moolenaar
0d35e91abf updated for version 7.3.159
Problem:    Using uninitialized pointer when out of memory.
Solution:   Check for NULL return value.
2011-04-11 14:29:17 +02:00
Bram Moolenaar
4aa97427be updated for version 7.3.158
Problem:    Might use uninitialized memory in C indenting.
Solution:   Init arrays to empty.
2011-04-11 14:27:38 +02:00
Bram Moolenaar
367bec852e updated for version 7.3.157
Problem:    Superfluous assignment.
Solution:   Remove assignment.
2011-04-11 14:26:19 +02:00
Bram Moolenaar
639304ddb1 updated for version 7.3.156
Problem:    Tty names possibly left unterminated.
Solution:   Use vim_strncpy() instead of strncpy().
2011-04-11 14:24:37 +02:00
Bram Moolenaar
32f649e1fc updated for version 7.3.155
Problem:    Crash when using map(), filter() and remove() on v:. (ZyX)
            Also for extend(). (Yukihiro Nakadaira)
Solution:   Mark v: as locked.  Also correct locking error messages.
2011-04-11 13:46:13 +02:00
Bram Moolenaar
2dfb38659c updated for version 7.3.154
Problem:    Can't compile with tiny features. (Tony Mechelynck)
Solution:   Move #define outside of #ifdef.
2011-04-02 15:12:50 +02:00
Bram Moolenaar
10d77eb6ac updated for version 7.3.153
Problem:    Compiler warning for ambiguous else, missing prototype.
Solution:   Add braces. (Dominique Pelle)  Add prototype for die().
2011-04-02 14:44:55 +02:00
Bram Moolenaar
e0659a680c updated for version 7.3.152
Problem:    Xxd does not check for errors from library functions.
Solution:   Add error checks. (Florian Zumbiehl)
2011-04-01 19:14:40 +02:00
Bram Moolenaar
adc2182c40 Updated runtime files. 2011-04-01 18:03:16 +02:00
Bram Moolenaar
337ae06ff9 updated for version 7.3.151
Problem:    When "unnamedplus" is in 'clipboard' the selection is sometimes
            also copied to the star register.
Solution:   Avoid copy to the star register when undesired. (James Vega)
2011-04-01 16:28:38 +02:00
Bram Moolenaar
27b6056d85 updated for version 7.3.150
Problem:    readline() does not return the last line when the NL is missing.
            (Hong Xu)
Solution:   When at the end of the file Also check for a previous line.
2011-04-01 16:07:46 +02:00
Bram Moolenaar
96bcc5e6cd updated for version 7.3.149
Problem:    The cursor disappears after the processing of the 'setDot'
            netbeans command when vim runs in a terminal.
Solution:   Show the cursor after a screen update. (Xavier de Gaye, 2011
2011-04-01 15:33:59 +02:00
Bram Moolenaar
42431a7aa0 updated for version 7.3.148
Problem:    A syntax file with a huge number of items or clusters causes weird
            behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution:   Check running out of IDs. (partly by Ben Schmidt)
2011-04-01 14:44:59 +02:00
Bram Moolenaar
316dca03ca updated for version 7.3.147
Problem:    Can't build on HP-UX.
Solution:   Remove an unnecessary backslash. (John Marriott)
2011-04-01 13:05:45 +02:00
Bram Moolenaar
4228bec0ae updated for version 7.3.146
Problem:    It's possible to assign to a read-only member of a dict.
            It's possible to create a global variable "0". (ZyX)
            It's possible to add a v: variable with ":let v:.name = 1".
Solution:   Add check for dict item being read-only.
            Check the name of g: variables.
            Disallow adding v: variables.
2011-03-27 16:03:15 +02:00
Bram Moolenaar
30fec7bc7f updated for version 7.3.145
Problem:    Can't build with Python dynamically loading.
Solution:   Add dll_PyType_Ready.
2011-03-26 18:32:05 +01:00
Bram Moolenaar
21377c8d5f updated for version 7.3.144
Problem:    Crash with ":python help(dir)". (Kearn Holliday)
Solution:   Fix the way the type is set on objects. (Tobias Columbus)
2011-03-26 13:56:48 +01:00
Bram Moolenaar
b3c5284c5b Add missing files for patch 7.3.143. 2011-03-22 20:52:37 +01:00
Bram Moolenaar
b05b10a3c0 updated for version 7.3.143
Problem:    Memfile is not tested sufficiently.  Looking up blocks in a
            memfile is slow when there are many blocks.
Solution:   Add high level test and unittest.  Adjust the number of hash
            buckets to the number of blocks.  (Ivan Krasilnikov)
2011-03-22 18:10:45 +01:00
Bram Moolenaar
cab49dff91 Updated runtime file. Fix Italian translations. 2011-03-22 17:40:10 +01:00
Bram Moolenaar
a29a37d533 updated for version 7.3.142
Problem:    Python stdout doesn't have a flush() method, causing an import to
            fail.
Solution:   Add a dummy flush() method. (Tobias Columbus)
2011-03-22 15:47:44 +01:00
Bram Moolenaar
0b2f94db23 updated for version 7.3.141
Problem:    When a key code is not set get a confusing error message.
Solution:   Change the error message to say the key code is not set.
2011-03-22 14:35:05 +01:00
Bram Moolenaar
662db673f9 Updated runtime files. 2011-03-22 14:05:35 +01:00
Bram Moolenaar
e9d4b58dda updated for version 7.3.140
Problem:    Crash when drawing the "$" at end-of-line for list mode just after
            the window border and 'cursorline' is set.
Solution:   Don't check for 'cursorline'. (Quentin Carbonneaux)
2011-03-22 13:29:24 +01:00
Bram Moolenaar
fd30cd41dc updated for version 7.3.139
Problem:    When 'lazyredraw' is set ":ver" output can't be read.
Solution:   Don't redraw the screen when at a prompt or command line.
2011-03-22 13:07:26 +01:00
Bram Moolenaar
f63c49d4e9 updated for version 7.3.138
Problem:    ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Solution:   Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
2011-03-03 15:54:50 +01:00
Bram Moolenaar
6eb634ef1f updated for version 7.3.137
Problem:    When 'lazyredraw' is set the screen may not be updated. (Ivan
            Krasilnikov)
Solution:   Call update_screen() before waiting for input.
2011-03-03 15:04:08 +01:00
Bram Moolenaar
ec737235c7 updated for version 7.3.136
Problem:    Duplicate include of assert.h.
Solution:   Remove it.
2011-03-03 15:01:30 +01:00
Bram Moolenaar
b4b0a08c81 updated for version 7.3.135
Problem:    When there is no previous substitute pattern, the previous search
            pattern is used.  The other way around doesn't work.
Solution:   When there is no previous search pattern, use the previous
            substitute pattern if possible. (Christian Brabandt)
2011-02-25 18:38:36 +01:00
Bram Moolenaar
ba7cc9f83f updated for version 7.3.134
Problem:    Drag-n-drop doesn't work in KDE Dolphin.
Solution:   Add GDK_ACTION_MOVE flag. (Florian Degner)
2011-02-25 17:10:27 +01:00
Bram Moolenaar
4cf35c2fa4 updated for version 7.3.133
Problem:    When using encryption it's not clear what method was used.
Solution:   In the file message show "blowfish" when using blowfish.
2011-02-25 16:52:17 +01:00
Bram Moolenaar
0c1f3f4d49 updated for version 7.3.132
Problem:    C++ style comments.
Solution:   Change to C comments.
2011-02-25 15:18:50 +01:00
Bram Moolenaar
c725c0ad9b updated for version 7.3.131
Problem:    Including errno.h too often.
Solution:   Don't include errno.h in Unix header file.
2011-02-25 15:17:19 +01:00
Bram Moolenaar
ede547afcf updated for version 7.3.130
Problem:    Variable misplaced in #ifdef.
Solution:   Move clipboard_event_time outside of #ifdef.
2011-02-25 15:15:50 +01:00
Bram Moolenaar
128773b21d updated for version 7.3.129
Problem:    Using integer like a boolean.
Solution:   Nicer check for integer being non-zero.
2011-02-25 15:13:48 +01:00
Bram Moolenaar
e698addf88 updated for version 7.3.128
Problem:    Another compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 15:11:22 +01:00
Bram Moolenaar
49789dc987 updated for version 7.3.127
Problem:    Compiler complains about comma.
Solution:   Remove comma after last enum element.
2011-02-25 14:46:09 +01:00
Bram Moolenaar
2f70a34e2e updated for version 7.3.126
Problem:    Compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 14:42:45 +01:00
Bram Moolenaar
0065402f9a Runtime file updates. 2011-02-25 14:42:19 +01:00
Bram Moolenaar
c30846f525 updated for version 7.3.125
Problem:    MSVC: Problem with quotes in link argument.
Solution:   Escape backslashes and quotes. (Weasley)
2011-02-15 18:06:15 +01:00
Bram Moolenaar
cab35ad26d updated for version 7.3.124
Problem:    When writing a file in binary mode it may be missing the final EOL
            if a file previously read was missing the EOL. (Kevin Goodsell)
Solution:   Move the write_no_eol_lnum into the buffer struct.
2011-02-15 17:39:22 +01:00
Bram Moolenaar
c2b4c62d0b updated for version 7.3.123
Problem:    ml_get error when executing register being recorded into, deleting
            lines and 'conceallevel' is set. (ZyX)
Solution:   Don't redraw a line for concealing when it doesn't exist.
2011-02-15 16:29:59 +01:00
Bram Moolenaar
542512a3e5 updated for version 7.3.122
Problem:    Having auto/config.mk in the repository causes problems.
Solution:   Remove auto/config.mk from the distribution.  In the toplevel
            Makefile copy it from the "dist" file.
2011-02-15 15:28:09 +01:00
Bram Moolenaar
b75d09d42b updated for version 7.3.121
Problem:    Complicated 'statusline' causes a crash. (Christian Brabandt)
Solution:   Check that the number of items is not too big.
2011-02-15 14:24:46 +01:00
Bram Moolenaar
c41fc713ba updated for version 7.3.120
Problem:    The message for an existing swap file is too long to fit in a 25
            line terminal.
Solution:   Make the message shorter. (Chad Miller)
2011-02-15 11:57:04 +01:00
Bram Moolenaar
e627fb00fc updated for version 7.3.119
Problem:    Build problem on Mac. (Nicholas Stallard)
Solution:   Use "extern" instead of "EXTERN" for p_vfile.
2011-02-12 14:00:03 +01:00
Bram Moolenaar
b292a2a04c updated for version 7.3.118
Problem:    Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
Solution:   Ignore SIGVTALARM. (Dominique Pelle)
2011-02-09 18:47:40 +01:00
Bram Moolenaar
4e509b6369 updated for version 7.3.117
Problem:    On some systems --as-needed does not work, because the "tinfo"
            library is included indirectly from "ncurses". (Charles Campbell)
Solution:   In configure prefer using "tinfo" instead of "ncurses".
2011-02-09 17:42:57 +01:00
Bram Moolenaar
5ec3aea854 updated for version 7.3.116
Problem:    'cursorline' is displayed too short when there are concealed
            characters and 'list' is set.  (Dennis Preiser)
Solution:   Check for 'cursorline' when 'list' is set. (Christian Brabandt)
2011-02-09 17:09:30 +01:00
Bram Moolenaar
d58e929fa2 Updated runtime files and translations. 2011-02-09 17:07:58 +01:00
Bram Moolenaar
95474ca34c updated for version 7.3.115
Problem:    Vim can crash when tmpnam() returns NULL.
Solution:   Check for NULL. (Hong Xu)
2011-02-09 16:44:51 +01:00
Bram Moolenaar
ba81e4660b updated for version 7.3.114
Problem:    Potential problem in initialization when giving an error message
            early.
Solution:   Initialize 'verbosefile' empty. (Ben Schmidt)
2011-02-09 15:59:37 +01:00
Bram Moolenaar
b18919146d updated for version 7.3.113
Problem:    Windows: Fall back directory for creating temp file is wrong.
Solution:   Use "." instead of empty string. (Hong Xu)
2011-02-09 14:47:03 +01:00
Bram Moolenaar
1d87f516f2 updated for version 7.3.112
Problem:    Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
Solution:   Check for NUL after %.
2011-02-01 21:55:01 +01:00
Bram Moolenaar
6145285c90 updated for version 7.3.111
Problem:    Executing a :normal command in 'statusline' evaluation causes the
            cursor to move. (Dominique Pelle)
Solution:   When updating the cursor for 'cursorbind' allow the cursor beyond
            the end of the line.  When evaluating 'statusline' temporarily
            reset 'cursorbind'.
2011-02-01 18:01:11 +01:00
Bram Moolenaar
acf1728ef5 updated for version 7.3.110
Problem:    The "nbsp" item in 'listchars' isn't used for ":list".
Solution:   Make it work. (Christian Brabandt)
2011-02-01 17:12:25 +01:00
Bram Moolenaar
c98d5ee923 updated for version 7.3.109
Problem:    Processing new Esperanto spell file fails and crashes Vim.
            (Dominique Pelle)
Solution:   When running out of memory give an error.  Handle '?' in
            COMPOUNDRULE properly.
2011-02-01 13:59:48 +01:00
Bram Moolenaar
3c2d6534ef updated for version 7.3.108
Problem:    Useless check for NULL when calling vim_free().
Solution:   Remove the check. (Dominique Pelle)
2011-02-01 13:48:53 +01:00
Bram Moolenaar
5e3d6ca435 updated for version 7.3.107
Problem:    Year number for :undolist can be confused with month or day.
Solution:   Change "%y" to "%Y".
2011-01-22 21:25:11 +01:00
Bram Moolenaar
f3d419d719 updated for version 7.3.106
Problem:    When 'cursorbind' is set another window may scroll unexpectedly
            when 'scrollbind' is also set. (Xavier Wang)
Solution:   Don't call update_topline() if 'scrollbind' is set.
2011-01-22 21:05:07 +01:00
Bram Moolenaar
445edda2f9 updated for version 7.3.105
Problem:    Can't get the value of "b:changedtick" with getbufvar().
Solution:   Make it work. (Christian Brabandt)
2011-01-22 01:13:39 +01:00
Bram Moolenaar
4124e72373 updated for version 7.3.104
Problem:    Conceal: using Tab for cchar causes problems. (ZyX)
Solution:   Do not accept a control character for cchar.
2011-01-22 00:58:20 +01:00
Bram Moolenaar
164c60f5b1 updated for version 7.3.103
Problem:    Changing 'fileformat' and then using ":w" in an empty file sets
            the 'modified' option.
Solution:   In unchanged() don't ignore 'ff' for an empty file.
2011-01-22 00:11:50 +01:00
Bram Moolenaar
d2c340a6a6 updated for version 7.3.102
Problem:    When using ":make", typing the next command and then getting the
            "reload" prompt the next command is (partly) eaten by the reload
            prompt.
Solution:   Accept ':' as a special character at the reload prompt to accept
            the default choice and execute the command.
2011-01-17 20:08:11 +01:00
Bram Moolenaar
e279335752 updated for version 7.3.101
Problem:    ino_t defined with wrong size.
Solution:   Move including auto/config.h before other includes. (Marius
            Geminas)
2011-01-17 19:53:27 +01:00
Bram Moolenaar
48ac02c9eb updated for version 7.3.100
Problem:    When using :normal v:count isn't set.
Solution:   Call normal_cmd() with toplevel set to TRUE.
2011-01-17 19:50:06 +01:00
Bram Moolenaar
2a8a3ecb67 Updated runtime files. 2011-01-08 16:06:37 +01:00
Bram Moolenaar
13d831ff0c updated for version 7.3.099
Problem:    Crash when splitting a window with zero height. (Yukihiro
            Nakadaira)
Solution:   Don't set the fraction in a window with zero height.
2011-01-08 14:46:03 +01:00
Bram Moolenaar
fd0e75683f updated for version 7.3.098
Problem:    Function that ignores error still causes called_emsg to be set.
            E.g. when expand() fails the status line is disabled.
Solution:   Move check for emsg_not_now() up. (James Vega)
2011-01-04 19:25:50 +01:00
Bram Moolenaar
6d0efdaab5 updated for version 7.3.097
Problem:    Using ":call" inside "if 0" does not see that a function returns a
            Dict and gives error for "." as string concatenation.
Solution:   Use eval0() to skip over the expression.  (Yasuhiro Matsumoto)
2011-01-04 19:03:27 +01:00
Bram Moolenaar
870b05c4c0 updated for version 7.3.096
Problem:    "gvim -nb" is not interruptable.  Leaking file descriptor on
            netbeans connection error.
Solution:   Check for CTRL-C typed.  Free file descriptor.  (Xavier de Gaye)
2011-01-04 18:11:43 +01:00
Bram Moolenaar
d91f704b03 updated for version 7.3.095
Problem:    Win32: In Chinese tear-off menu doesn't work. (Weasley)
Solution:   Use menu_name_equal().  (Alex Jakushev)
2011-01-04 17:49:32 +01:00
Bram Moolenaar
7eb4652e74 updated for version 7.3.094
Problem:    Using abs() requires type cast to int.
Solution:   Use labs() so that the value remains long. (Hong Xu)
2010-12-30 14:57:08 +01:00
Bram Moolenaar
b0d3f878a4 updated for version 7.3.093
Problem:    New DLL dependencies in MingW with gcc 4.5.0.
Solution:   Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
2010-12-30 14:50:52 +01:00
Bram Moolenaar
9980835c68 updated for version 7.3.092
Problem:    Resizing the window when exiting.
Solution:   Don't resize when exiting.
2010-12-30 14:47:36 +01:00
Bram Moolenaar
946ffd4606 updated for version 7.3.091
Problem:    "vim -w foo" writes special key codes for removed escape
            sequences. (Josh Triplett)
Solution:   Don't write K_IGNORE codes.
2010-12-30 12:30:31 +01:00
Bram Moolenaar
657ae0bddd updated for version 7.3.090
Problem:    Wrong help text for Cscope.
Solution:   Adjust the help text for "t". (Dominique Pelle)
2010-12-30 11:41:09 +01:00
Bram Moolenaar
de1b092c77 updated for version 7.3.089
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2010-12-24 14:00:17 +01:00
Bram Moolenaar
7a8ef14c69 updated for version 7.3.088
Problem:    Ruby can't load Gems sometimes, may cause a crash.
Solution:   Undefine off_t.  Use ruby_process_options(). (Yasuhiro Matsumoto)
2010-12-24 13:39:35 +01:00
Bram Moolenaar
b57aa92d2c updated for version 7.3.087
Problem:    EINTR is not always defined.
Solution:   Include errno.h in vim.h.
2010-12-17 20:24:01 +01:00
Bram Moolenaar
f82a2d2e5f updated for version 7.3.086
Problem:    When using a mapping with an expression and there was no count,
            v:count has the value of the previous command. (ZyX)
Solution:   Also set v:count and v:count1 before getting the character that
            could be a command or a count.
2010-12-17 18:53:01 +01:00
Bram Moolenaar
9c26303293 updated for version 7.3.085
Problem:    Inconsistency with preproc symbols.  void * computation.
Solution:   Include vimio.h from vim.h.  Add type cast.
2010-12-17 18:06:06 +01:00
Bram Moolenaar
0215e8e15b updated for version 7.3.084
Problem:    When splitting the window, the new one scrolls with the cursor at
            the top.
Solution:   Compute w_fraction before setting the new height.
2010-12-17 17:35:10 +01:00
Bram Moolenaar
540fc6fbdb updated for version 7.3.083
Problem:    When a read() or write() is interrupted by a signal it fails.
Solution:   Add read_eintr() and write_eintr().
2010-12-17 16:27:16 +01:00
Bram Moolenaar
45d9d02d71 updated for version 7.3.082
Problem:    Leaking file descriptor when hostname doesn't exist.
Solution:   Remove old debugging lines.
2010-12-17 12:19:21 +01:00
Bram Moolenaar
81af9250a7 Update runtime files. 2010-12-10 20:35:50 +01:00
Bram Moolenaar
7c5676b5d6 updated for version 7.3.081
Problem:    Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution:   Use transstr(). (partly by Caio Ariede)
2010-12-08 19:56:58 +01:00
Bram Moolenaar
56f7804065 updated for version 7.3.080
Problem:    Spell doesn't work on VMS.
Solution:   Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
2010-12-08 17:09:32 +01:00
Bram Moolenaar
3d27070767 updated for version 7.3.079
Problem:    Duplicate lines in makefile.
Solution:   Remove the lines. (Hong Xu)
2010-12-08 14:55:02 +01:00
Bram Moolenaar
9c52c3a0a1 updated for version 7.3.078
Problem:    Warning for unused variable.
Solution:   Adjuste #ifdefs.
2010-12-08 14:23:15 +01:00
Bram Moolenaar
2e2e13ca14 updated for version 7.3.077
Problem:    When updating crypt of swapfile fails there is no error message.
            (Carlo Teubner)
Solution:   Add the error message.
2010-12-08 13:17:03 +01:00
Bram Moolenaar
e980d8a934 updated for version 7.3.076
Problem:    Clang warnings for dead code.
Solution:   Remove it. (Carlo Teubner)
2010-12-08 13:11:21 +01:00
Bram Moolenaar
005c3c27ee updated for version 7.3.075
Problem:    Missing part of 'wildignorecase'
Solution:   Also adjust expand()
2010-12-02 21:44:40 +01:00
Bram Moolenaar
bf9680e441 updated for version 7.3.074
Problem:    Can't use the "+ register like "* for yank and put.
Solution:   Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
2010-12-02 21:43:16 +01:00
Bram Moolenaar
863053d1d4 updated for version 7.3.073
Problem:    Double free memory when netbeans command follows DETACH.
Solution:   Only free the node when owned. (Xavier de Gaye)
2010-12-02 17:09:54 +01:00
Bram Moolenaar
94950a9ee0 updated for version 7.3.072
Problem:    Can't complete file names while ignoring case.
Solution:   Add 'wildignorecase'.
2010-12-02 16:01:29 +01:00
Bram Moolenaar
4161dccada updated for version 7.3.071
Problem:    Editing a file in a window that's in diff mode resets 'diff'
            but not cursor binding.
Solution:   Reset cursor binding in two more places.
2010-12-02 15:33:21 +01:00
Bram Moolenaar
d4ddfafc2a updated for version 7.3.070
Problem:    Can set environment variables in the sandbox, could be abused.
Solution:   Disallow it.
2010-12-02 14:48:14 +01:00
Bram Moolenaar
df6b11e955 updated for version 7.3.069
Problem:    GTK: pressing Enter in inputdialog() doesn't work like clicking OK
            as documented.
Solution:   call gtk_entry_set_activates_default(). (Britton Kerin)
2010-11-24 18:48:12 +01:00
Bram Moolenaar
f666f0e5c0 updated for version 7.3.068
Problem:    Using freed memory when doing ":saveas" and an autocommand sets
            'autochdir'. (Kevin Klement)
Solution:   Get the value of fname again after executing autocommands.
2010-11-24 17:59:32 +01:00
Bram Moolenaar
ef2f028a66 updated for version 7.3.067
Problem:    Ruby: Init_prelude is not always available.
Solution:   Remove use of Init_prelude. (Yasuhiro Matsumoto)
2010-11-24 17:03:38 +01:00
Bram Moolenaar
0785ccf995 updated for version 7.3.066
Problem:    Crash when changing to another window while in a :vimgrep command.
            (Christian Brabandt)
Solution:   When wiping out the dummy before, remove it from aucmd_win.
2010-11-24 16:32:05 +01:00
Bram Moolenaar
4dbbff57ba updated for version 7.3.065
Problem:    Can't get current line number in a source file.
Solution:   Add the <slnum> item, similar to <sfile>.
2010-11-24 15:50:59 +01:00
Bram Moolenaar
0818b87cbf updated for version 7.3.064
Problem:    Win32: ":dis +" shows nothing, but "+p does insert text.
Solution:   Display the * register, since that's what will be inserted.
            (Christian Brabandt)
2010-11-24 14:28:58 +01:00
Bram Moolenaar
96e5ceed93 updated for version 7.3.063
Problem:    Win32: Running a filter command makes Vim lose focus.
Solution:   Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
2010-11-24 12:35:21 +01:00
Bram Moolenaar
166af9bb6f Updated runtime files. 2010-11-16 20:34:40 +01:00
Bram Moolenaar
644d37b84d updated for version 7.3.062
Problem:    Python doesn't work properly when installed in another directory
            than expected.
Solution:   Figure out home directory in configure and use Py_SetPythonHome()
            at runtime. (Roland Puntaier)
2010-11-16 19:26:02 +01:00
Bram Moolenaar
00b78c17b2 updated for version 7.3.061
Problem:    Remote ":drop" does not respect 'autochdir'. (Peter Odding)
Solution:   Don't restore the directory when 'autochdir' is set. (Benjamin
            Fritz)
2010-11-16 16:25:51 +01:00
Bram Moolenaar
7ad7d01074 updated for version 7.3.060
Problem:    Netbeans: crash when socket is disconnected unexpectedly.
Solution:   Don't cleanup when a read fails, put a message in the queue and
            disconnect later. (Xavier de Gaye)
2010-11-16 15:49:02 +01:00
Bram Moolenaar
03531f79c3 updated for version 7.3.059
Problem:    Netbeans: Problem with recursively handling messages for Athena
            and Motif.
Solution:   Call netbeans_parse_messages() in the main loop, like it's done
            for GTK. (Xavier de Gaye)
2010-11-16 15:04:57 +01:00
Bram Moolenaar
3c53160348 updated for version 7.3.058
Problem:    Error "code converter not found" when loading Ruby script.
Solution:   Load Gem module. (Yasuhiro Matsumoto)
2010-11-16 14:46:19 +01:00
Bram Moolenaar
66b4bf8980 updated for version 7.3.057
Problem:    Segfault with command line abbreviation. (Randy Morris)
Solution:   Don't retrigger the abbreviation when abandoning the command line.
            Continue editing the command line after the error.
2010-11-16 14:06:08 +01:00
Bram Moolenaar
bf55e1442d updated for version 7.3.056
Problem:    "getline" argument in do_cmdline() shadows global.
Solution:   Rename the argument.
Files:      src/ex_docmd.c
2010-11-16 11:32:01 +01:00
Bram Moolenaar
67b3f99eb0 updated for version 7.3.055
Problem:    Recursively nested lists and dictionaries cause a near-endless
            loop when comparing them with a copy. (ZyX)
Solution:   Limit recursiveness in a way that non-recursive structures can
            still be nested very deep.
Files:      src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
2010-11-10 20:41:57 +01:00
Bram Moolenaar
a3e7b1f42b updated for version 7.3.054
Problem:    Can define a user command for :Print, but it doesn't work. (Aaron
            Thoma)
Solution:   Let user command :Print overrule the builtin command (Christian
            Brabandt)  Disallow :X and :Next as a user defined command.
2010-11-10 19:00:01 +01:00
Bram Moolenaar
2a8caa414e updated for version 7.3.053
Problem:    complete() function doesn't reset complete direction.  Can't use
            an empty string in the list of matches.
Solution:   Set compl_direction to FORWARD.  Add "empty" key to allow empty
            words. (Kikuchan)
2010-11-10 17:11:33 +01:00
Bram Moolenaar
37dd018cdd updated for version 7.3.052
Problem:    When 'completefunc' opens a new window all kinds of errors follow.
            (Xavier Deguillard)
Solution:   When 'completefunc' goes to another window or buffer and when it
            deletes text abort completion.  Add a test for 'completefunc'.
2010-11-10 16:54:20 +01:00
Bram Moolenaar
27d9eceb66 updated for version 7.3.051
Problem:    Crash when /home/mool/bin:/usr/local/sbin:/usr/local/bin:/home/mool/java/jdk/bin:/bin:/sbin:/usr/bin:/usr/games:/usr/sbin:/usr/X11R6/bin:/usr/local/linux-jdk1.3.1/bin:/usr/local/lib/python2.2/Tools/idle is empty.
Solution:   Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
2010-11-10 15:37:05 +01:00
Bram Moolenaar
22e193ddd5 updated for version 7.3.050
Problem:    The link script is clumsy.
Solution:   Use the --as-needed linker option if available. (Kirill A.
            Shutemov)
2010-11-03 22:32:24 +01:00
Bram Moolenaar
2d0860d06c updated for version 7.3.049
Problem:    PLT has rebranded their Scheme to Racket.
Solution:   Add support for Racket 5.x. (Sergey Khorev)
2010-11-03 21:59:30 +01:00
Bram Moolenaar
dba01a0197 updated for version 7.3.048
Problem:    ":earlier 1f" doesn't work after loading undo file.
Solution:   Set b_u_save_nr_cur when loading an undo file. (Christian
            Brabandt)
            Fix only showing time in ":undolist"
2010-11-03 19:32:42 +01:00
Bram Moolenaar
16a6165bb3 updated for version 7.3.047
Problem:    Missing makefile updates for test 75.
Solution:   Update the makefiles.
2010-10-27 18:36:36 +02:00
Bram Moolenaar
0536570fa2 Updated runtile files. 2010-10-27 18:34:44 +02:00
Bram Moolenaar
2d73ff4500 updated for version 7.3.046
Problem:    Can't build Ruby on MS-Windows.
Solution:   Add #ifdef, don't use WIN3264 before including vim.h.
2010-10-27 17:40:59 +02:00
Bram Moolenaar
b3ae56cf2b updated for version 7.3.045
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable always.
2010-10-27 17:39:05 +02:00
Bram Moolenaar
ee236d0d19 updated for version 7.3.044
Problem:    The preview window opened by the popup menu is larger than
            specified with 'previewheight'. (Benjamin Haskell)
Solution:   Use 'previewheight' if it's set and smaller.
2010-10-27 17:11:15 +02:00
Bram Moolenaar
3ca71f1f1f updated for version 7.3.043
Problem:    Can't load Ruby dynamically on Unix.
Solution:   Adjust the configure script. (James Vega)
2010-10-27 16:49:47 +02:00
Bram Moolenaar
beca055b0c updated for version 7.3.042
Problem:    No spell highlighting when re-using an empty buffer.
Solution:   Clear the spell checking info only when clearing the options for a
            buffer. (James Vega)
2010-10-27 16:18:00 +02:00
Bram Moolenaar
22df3f90fc updated for version 7.3.041
Problem:    Compiler warning for accessing mediumVersion. (Tony Mechelynck)
Solution:   Use the pointer instead of the array itself. (Dominique Pelle)
2010-10-27 16:01:27 +02:00
Bram Moolenaar
c395a3aac2 updated for version 7.3.040
Problem:    Comparing strings while ignoring case goes beyond end of the
            string when there are illegal bytes. (Dominique Pelle)
Solution:   Explicitly check for illegal bytes.
2010-10-27 13:37:44 +02:00
Bram Moolenaar
fc3c83e47e updated for version 7.3.039
Problem:    Crash when using skk.vim plugin.
Solution:   Get length of expression evaluation result only after checking for
            NULL.  (Noriaki Yagi, Dominique Pelle)
2010-10-27 12:58:23 +02:00
Bram Moolenaar
264e9fd61b updated for version 7.3.038
Problem:    v:windowid isn't set on MS-Windows.
Solution:   Set it to the window handle. (Chris Sutcliffe)
2010-10-27 12:33:17 +02:00
Bram Moolenaar
6b5ef067a5 updated for version 7.3.037
Problem:    Compiler warnings for loss of data. (Mike Williams)
Solution:   Add type casts.
2010-10-27 12:18:00 +02:00
Bram Moolenaar
786989ba37 updated for version 7.3.036
Problem:    Win32 GUI: When building without menus, the font for dialogs and
            tab page headers also changes.
Solution:   Define USE_SYSMENU_FONT always. (Harig G.)
2010-10-27 12:15:33 +02:00
Bram Moolenaar
8bbe993c79 updated for version 7.3.035
Problem:    Stray semicolon after if statement. (Hari G)
Solution:   Remove the semicolon.
2010-10-24 14:33:43 +02:00
Bram Moolenaar
ebbcb824ba updated for version 7.3.034
Problem:    Win32: may be loading .dll from the wrong directory.
Solution:   Go to the Vim executable directory when opening a library.
2010-10-23 14:02:54 +02:00
Bram Moolenaar
b8e86705ca updated for version 7.3.033
Problem:    Can't build without FEAT_LOCALMAP.
Solution:   Add an #ifdef. (John Marriott)
2010-10-22 22:13:52 +02:00
Bram Moolenaar
bd74325960 updated for version 7.3.032
Problem:    maparg() doesn't return the flags, such as <buffer>, <script>,
            <silent>.  These are needed to save and restore a mapping.
Solution:   Improve maparg(). (also by Christian Brabandt)
2010-10-20 21:23:33 +02:00
Bram Moolenaar
727c876b78 updated for version 7.3.031
Problem:    Can't pass the X window ID to another application.
Solution:   Add v:windowid. (Christian J. Robinson, Lech Lorens)
2010-10-20 19:17:48 +02:00
Bram Moolenaar
483c5d80a7 Updated runtime files and translations. 2010-10-20 18:45:33 +02:00
Bram Moolenaar
680eeca955 updated for version 7.3.030
Problem:    Cannot store Dict and List in viminfo file.
Solution:   Add support for this. (Christian Brabandt)
2010-10-20 17:44:42 +02:00
Bram Moolenaar
f75d498844 updated for version 7.3.029
Problem:    ":sort n" sorts lines without a number as number zero. (Beeyawned)
Solution:   Make lines without a number sort before lines with a number.  Also
            fix sorting negative numbers.
2010-10-15 20:20:05 +02:00
Bram Moolenaar
b60574ba21 updated for version 7.3.028
Problem:    Signs don't show up. (Charles Campbell)
Solution:   Don't use negative numbers.  Also assign a number to signs that
            have a name of all digits to avoid using a sign number twice.
2010-10-14 21:29:37 +02:00
Bram Moolenaar
464c92545a updated for version 7.3.027
Problem:    Opening a file on a network share is very slow.
Solution:   When fixing file name case append "\*" to directory, server and
            network share names. (David Anderson, John Beckett)
2010-10-13 20:37:41 +02:00
Bram Moolenaar
77a0aa457d updated for version 7.3.026
Problem:    CTRL-] in a help file doesn't always work. (Tony Mechelynck)
Solution:   Don't escape special characters. (Carlo Teubner)
2010-10-13 18:06:47 +02:00
Bram Moolenaar
78f74a91bf updated for version 7.3.025
Problem:    ":mksession" does not square brackets escape file name properly.
Solution:   Improve escapging of file names. (partly by Peter Odding)
2010-10-13 17:50:07 +02:00
Bram Moolenaar
a4f332b44c updated for version 7.3.024
Problem:    Named signs do not use a negative number as intended.
Solution:   Fix the numbering of named signs. (Xavier de Gaye)
2010-10-13 16:44:23 +02:00
Bram Moolenaar
624891f3ef updated for version 7.3.023
Problem:    External program may hang when it tries to write to the tty.
Solution:   Don't close the slave tty until after the child exits. (Nikola
            Knezevic)
2010-10-13 16:22:09 +02:00
Bram Moolenaar
d5784f9fc4 updated for version 7.3.022
Problem:    When opening a new window the 'spellcapcheck' option is cleared.
Solution:   Copy the correct option value. (Christian Brabandt)
2010-10-13 14:05:35 +02:00
Bram Moolenaar
423f97277d updated for version 7.3.021
Problem:    Conflict for defining Boolean in Mac header files.
Solution:   Define NO_X11_INCLUDES. (Rainer Muller)
2010-10-10 17:08:43 +02:00
Bram Moolenaar
341ad7a699 updated for version 7.3.020
Problem:    Cursor position wrong when joining multiple lines and
            'formatoptions' contains "a". (Moshe Kamensky)
Solution:   Adjust cursor position for skipped indent. (Carlo Teubner)
2010-10-09 17:23:31 +02:00
Bram Moolenaar
4a74803ef8 Runtime file updates. 2010-09-30 21:47:56 +02:00
Bram Moolenaar
c2a406b317 updated for version 7.3.019
Problem:    ":nbstart" can fail silently.
Solution:   Give an error when netbeans is not supported by the GUI. (Xavier
            de Gaye)
2010-09-30 21:03:26 +02:00
Bram Moolenaar
d622beb3c3 updated for version 7.3.018
Problem:    Missing argument to windres in MingW makefiles.
Solution:   Add the argument that was wrapped in the patch. (Jon Maken)
2010-09-29 18:42:28 +02:00
Bram Moolenaar
a8fc79895e updated for version 7.3.017
Problem:    smatch reports errors.
Solution:   Fix the reported errors. (Dominique Pelle)
2010-09-29 18:32:52 +02:00
Bram Moolenaar
173c98550f updated for version 7.3.016
Problem:    Netbeans doesn't work under Athena.
Solution:   Support Athena, just like Motif. (Xavier de Gaye)
2010-09-29 17:27:01 +02:00
Bram Moolenaar
3967692f9e updated for version 7.3.015
Problem:    Test is using error message that no longer exists.
Solution:   Change E106 to E121. (Dominique Pelle)
2010-09-29 16:55:49 +02:00
Bram Moolenaar
417f5e7f11 updated for version 7.3.014
Problem:    Ending a line in a backslash inside an ":append" or ":insert"
            command in Ex mode doesn't work properly. (Ray Frush)
Solution:   Halve the number of backslashes, only insert a NUL after an odd
            number of backslashes.
2010-09-29 15:50:30 +02:00
Bram Moolenaar
f9b5ef8c88 updated for version 7.3.013
Problem:    Dynamic loading with Ruby doesn't work for 1.9.2.
Solution:   Handle rb_str2cstr differently.  Also support dynamic loading on
            Unix. (Jon Maken)
2010-09-29 13:02:53 +02:00
Bram Moolenaar
3c9ab1c0e0 updated for version 7.3.012
Problem:    Problems building with MingW.
Solution:   Adjust the MingW makefiles. (Jon)
2010-09-29 12:38:00 +02:00
Bram Moolenaar
006590697c Updated runtime files. 2010-09-21 22:34:02 +02:00
Bram Moolenaar
62b42181fb updated for version 7.3.011
Problem:    X11 clipboard doesn't work in Athena/Motif GUI.  First selection
            after a shell command doesn't work.
Solution:   When using the GUI use XtLastTimestampProcessed() instead of
            changing a property.  (partly by Toni Ronkko)
            When executing a shell command disown the selection.
2010-09-21 22:09:37 +02:00
Bram Moolenaar
b05034a4ed updated for version 7.3.010
Problem:    Mac GUI: Missing break statements.
Solution:   Add the break statements. (Dominique Pelle)
2010-09-21 17:34:31 +02:00
Bram Moolenaar
d32a99a6d9 updated for version 7.3.009
Problem:    Win32: Crash on Windows when using a bad argument for strftime().
            (Christian Brabandt)
Solution:   Use the bad_param_handler(). (Mike Williams)
2010-09-21 17:29:23 +02:00
Bram Moolenaar
3368ea2152 updated for version 7.3.008
Problem:    'cursorbind' is kept in places where 'scrollbind' is reset.
Solution:   Reset 'cursorbind'.
2010-09-21 16:56:35 +02:00
Bram Moolenaar
2eea198564 updated for version 7.3.007
Problem:    Python code defines global "buffer".  Re-implements a grow-array.
Solution:   Use a grow-array instead of coding the same functionality.  Handle
            out-of-memory situation properly.
2010-09-21 16:49:37 +02:00
Bram Moolenaar
24ea3babed Updated runtime files. 2010-09-19 19:01:21 +02:00
Bram Moolenaar
60bb4e1b46 updated for version 7.3.006
Problem:    Can't build some multi-byte code with C89.
Solution:   Move code to after declarations. (Joachim Schmitz)
2010-09-18 13:36:49 +02:00
Bram Moolenaar
217d285fdd updated for version 7.3.005
Problem:    Crash when using undotree(). (Christian Brabandt)
Solution:   Increase the list reference count.  Add a test for undotree()
            (Lech Lorens)
2010-09-14 12:47:37 +02:00
Bram Moolenaar
73a92fe013 updated for version 7.3.004
Problem:    Crash when using very long regexp. (Peter Odding)
Solution:   Reset reg_toolong. (Carlo Teubner)
2010-09-14 10:55:47 +02:00
Bram Moolenaar
66e1f8860a Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Mechelynck)
2010-08-20 11:11:57 +02:00
Bram Moolenaar
832f80e310 updated for version 7.3.003
Problem:    Crash with specific BufWritePost autocmd. (Peter Odding)
Solution:   Don't free the quickfix title twice. (Lech Lorens)
2010-08-17 20:26:59 +02:00
Bram Moolenaar
c24b6977a1 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
            variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
            Ramliy)
2010-08-16 22:34:29 +02:00
Bram Moolenaar
da9836cfa9 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
            variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
            Ramliy)
2010-08-16 21:53:27 +02:00
Bram Moolenaar
1c727d8208 updated for version 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.
2010-07-12 21:38:19 +02:00
Bram Moolenaar
84e67dfa9c updated for version 7.2.445
Problem:    Crash when using undo/redo and a FileChangedRO autocmd event that
            reloads the buffer. (Dominique Pelle)
Solution:   Do not allow autocommands while performing and undo or redo.
2010-07-07 18:20:28 +02:00
Bram Moolenaar
31c8f28cca updated for version 7.2.444
Problem:    Can't build with GTK 1, gtk_selection_clear_targets() is not
            available. (Patrick Texier)
Solution:   Don't change the targets for GTK 1, set them once.
2010-06-13 02:35:46 +02:00
Bram Moolenaar
9ea339d58c updated for version 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
            internal error. (Peter Odding)
Solution:   Check for duplicate field names.
2010-06-12 20:12:02 +02:00
Bram Moolenaar
f949563afa updated for version 7.2.442
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
            Vega)
2010-06-05 12:49:46 +02:00
Bram Moolenaar
d96699e696 updated for version 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.
2010-05-30 16:55:22 +02:00
Bram Moolenaar
97bc5a52c9 updated for version 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
            the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)
2010-05-28 22:06:46 +02:00
Bram Moolenaar
5d4c25b335 updated for version 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
            'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
            (Dominique Pelle)
2010-05-28 21:31:58 +02:00
Bram Moolenaar
07e8db1da5 updated for version 7.2.438
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.
2010-05-25 21:37:17 +02:00
Bram Moolenaar
6dc79f2890 updated for version 7.2.437
Problem:    When "\\\n" appears in the expression result the \n doesn't result
            in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.
2010-05-21 13:08:58 +02:00
Bram Moolenaar
8ce55d13c4 updated for version 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)
2010-05-16 13:56:06 +02:00
Bram Moolenaar
281798deab updated for version 7.2.435
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
2010-05-16 13:26:25 +02:00
Bram Moolenaar
546b35e190 updated for version 7.2.434
Problem:    Compilation fails without the multi-lang feature.
Solution:   Add #ifdefs. (Johm Marriott)
2010-05-16 12:32:51 +02:00
267 changed files with 12673 additions and 4739 deletions

13
.gitignore vendored
View File

@@ -5,14 +5,15 @@ src/xxd/xxd
src/auto/if_perl.c
src/tags
# We do need src/auto/configure and src/auto/config.mk.
src/auto/osdef.h
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
@@ -40,3 +41,11 @@ gvimext.lib
*.mo
*.swp
*~
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out

View File

@@ -39,6 +39,7 @@ SRC_ALL = \
src/mark.c \
src/mbyte.c \
src/memfile.c \
src/memfile_test.c \
src/memline.c \
src/menu.c \
src/message.c \
@@ -686,6 +687,8 @@ LANG_GEN = \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.* \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \

View File

@@ -23,6 +23,9 @@
# has run can result in compiling with $(CC) empty.
first:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@@ -30,6 +33,9 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Oct 19
" Last Change: 2011 Apr 28
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@@ -285,6 +285,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let cssfiles = styletable + secimportfiles
let classes = []
for file in cssfiles
let classlines = []
if filereadable(file)
let stylesheet = readfile(file)
let stylefile = join(stylesheet, ' ')

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2011 Apr 05
"
" Additional contributors:
"
@@ -13,10 +13,284 @@
let s:cpo_sav = &cpo
set cpo-=C
func! tohtml#Convert2HTML(line1, line2)
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
" this. Let the user specify these however since they won't be supported on
" every system.
"
" Note, not all of Vim's supported encodings have a charset to use.
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#encoding_to_charset: {{{
let g:tohtml#encoding_to_charset = {
\ 'latin1' : 'ISO-8859-1',
\ 'iso-8859-2' : 'ISO-8859-2',
\ 'iso-8859-3' : 'ISO-8859-3',
\ 'iso-8859-4' : 'ISO-8859-4',
\ 'iso-8859-5' : 'ISO-8859-5',
\ 'iso-8859-6' : 'ISO-8859-6',
\ 'iso-8859-7' : 'ISO-8859-7',
\ 'iso-8859-8' : 'ISO-8859-8',
\ 'iso-8859-9' : 'ISO-8859-9',
\ 'iso-8859-10' : '',
\ 'iso-8859-13' : 'ISO-8859-13',
\ 'iso-8859-14' : '',
\ 'iso-8859-15' : 'ISO-8859-15',
\ 'koi8-r' : 'KOI8-R',
\ 'koi8-u' : 'KOI8-U',
\ 'macroman' : 'macintosh',
\ 'cp437' : '',
\ 'cp775' : '',
\ 'cp850' : '',
\ 'cp852' : '',
\ 'cp855' : '',
\ 'cp857' : '',
\ 'cp860' : '',
\ 'cp861' : '',
\ 'cp862' : '',
\ 'cp863' : '',
\ 'cp865' : '',
\ 'cp866' : 'IBM866',
\ 'cp869' : '',
\ 'cp874' : '',
\ 'cp1250' : 'windows-1250',
\ 'cp1251' : 'windows-1251',
\ 'cp1253' : 'windows-1253',
\ 'cp1254' : 'windows-1254',
\ 'cp1255' : 'windows-1255',
\ 'cp1256' : 'windows-1256',
\ 'cp1257' : 'windows-1257',
\ 'cp1258' : 'windows-1258',
\ 'euc-jp' : 'EUC-JP',
\ 'sjis' : 'Shift_JIS',
\ 'cp932' : 'Shift_JIS',
\ 'cp949' : '',
\ 'euc-kr' : 'EUC-KR',
\ 'cp936' : 'GBK',
\ 'euc-cn' : 'GB2312',
\ 'big5' : 'Big5',
\ 'cp950' : 'Big5',
\ 'utf-8' : 'UTF-8',
\ 'ucs-2' : 'UTF-8',
\ 'ucs-2le' : 'UTF-8',
\ 'utf-16' : 'UTF-8',
\ 'utf-16le' : 'UTF-8',
\ 'ucs-4' : 'UTF-8',
\ 'ucs-4le' : 'UTF-8',
\ }
lockvar g:tohtml#encoding_to_charset
" Notes:
" 1. All UCS/UTF are converted to UTF-8 because it is much better supported
" 2. Any blank spaces are there because Vim supports it but at least one major
" web browser does not according to http://wiki.whatwg.org/wiki/Web_Encodings.
" }}}
" Only automatically find encodings supported natively by Vim, let the user
" specify the encoding if it's not natively supported. This function is only
" used when the user specifies the charset, they better know what they are
" doing!
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#charset_to_encoding: {{{
let g:tohtml#charset_to_encoding = {
\ 'iso_8859-1:1987' : 'latin1',
\ 'iso-ir-100' : 'latin1',
\ 'iso_8859-1' : 'latin1',
\ 'iso-8859-1' : 'latin1',
\ 'latin1' : 'latin1',
\ 'l1' : 'latin1',
\ 'ibm819' : 'latin1',
\ 'cp819' : 'latin1',
\ 'csisolatin1' : 'latin1',
\ 'iso_8859-2:1987' : 'iso-8859-2',
\ 'iso-ir-101' : 'iso-8859-2',
\ 'iso_8859-2' : 'iso-8859-2',
\ 'iso-8859-2' : 'iso-8859-2',
\ 'latin2' : 'iso-8859-2',
\ 'l2' : 'iso-8859-2',
\ 'csisolatin2' : 'iso-8859-2',
\ 'iso_8859-3:1988' : 'iso-8859-3',
\ 'iso-ir-109' : 'iso-8859-3',
\ 'iso_8859-3' : 'iso-8859-3',
\ 'iso-8859-3' : 'iso-8859-3',
\ 'latin3' : 'iso-8859-3',
\ 'l3' : 'iso-8859-3',
\ 'csisolatin3' : 'iso-8859-3',
\ 'iso_8859-4:1988' : 'iso-8859-4',
\ 'iso-ir-110' : 'iso-8859-4',
\ 'iso_8859-4' : 'iso-8859-4',
\ 'iso-8859-4' : 'iso-8859-4',
\ 'latin4' : 'iso-8859-4',
\ 'l4' : 'iso-8859-4',
\ 'csisolatin4' : 'iso-8859-4',
\ 'iso_8859-5:1988' : 'iso-8859-5',
\ 'iso-ir-144' : 'iso-8859-5',
\ 'iso_8859-5' : 'iso-8859-5',
\ 'iso-8859-5' : 'iso-8859-5',
\ 'cyrillic' : 'iso-8859-5',
\ 'csisolatincyrillic' : 'iso-8859-5',
\ 'iso_8859-6:1987' : 'iso-8859-6',
\ 'iso-ir-127' : 'iso-8859-6',
\ 'iso_8859-6' : 'iso-8859-6',
\ 'iso-8859-6' : 'iso-8859-6',
\ 'ecma-114' : 'iso-8859-6',
\ 'asmo-708' : 'iso-8859-6',
\ 'arabic' : 'iso-8859-6',
\ 'csisolatinarabic' : 'iso-8859-6',
\ 'iso_8859-7:1987' : 'iso-8859-7',
\ 'iso-ir-126' : 'iso-8859-7',
\ 'iso_8859-7' : 'iso-8859-7',
\ 'iso-8859-7' : 'iso-8859-7',
\ 'elot_928' : 'iso-8859-7',
\ 'ecma-118' : 'iso-8859-7',
\ 'greek' : 'iso-8859-7',
\ 'greek8' : 'iso-8859-7',
\ 'csisolatingreek' : 'iso-8859-7',
\ 'iso_8859-8:1988' : 'iso-8859-8',
\ 'iso-ir-138' : 'iso-8859-8',
\ 'iso_8859-8' : 'iso-8859-8',
\ 'iso-8859-8' : 'iso-8859-8',
\ 'hebrew' : 'iso-8859-8',
\ 'csisolatinhebrew' : 'iso-8859-8',
\ 'iso_8859-9:1989' : 'iso-8859-9',
\ 'iso-ir-148' : 'iso-8859-9',
\ 'iso_8859-9' : 'iso-8859-9',
\ 'iso-8859-9' : 'iso-8859-9',
\ 'latin5' : 'iso-8859-9',
\ 'l5' : 'iso-8859-9',
\ 'csisolatin5' : 'iso-8859-9',
\ 'iso-8859-10' : 'iso-8859-10',
\ 'iso-ir-157' : 'iso-8859-10',
\ 'l6' : 'iso-8859-10',
\ 'iso_8859-10:1992' : 'iso-8859-10',
\ 'csisolatin6' : 'iso-8859-10',
\ 'latin6' : 'iso-8859-10',
\ 'iso-8859-13' : 'iso-8859-13',
\ 'iso-8859-14' : 'iso-8859-14',
\ 'iso-ir-199' : 'iso-8859-14',
\ 'iso_8859-14:1998' : 'iso-8859-14',
\ 'iso_8859-14' : 'iso-8859-14',
\ 'latin8' : 'iso-8859-14',
\ 'iso-celtic' : 'iso-8859-14',
\ 'l8' : 'iso-8859-14',
\ 'iso-8859-15' : 'iso-8859-15',
\ 'iso_8859-15' : 'iso-8859-15',
\ 'latin-9' : 'iso-8859-15',
\ 'koi8-r' : 'koi8-r',
\ 'cskoi8r' : 'koi8-r',
\ 'koi8-u' : 'koi8-u',
\ 'macintosh' : 'macroman',
\ 'mac' : 'macroman',
\ 'csmacintosh' : 'macroman',
\ 'ibm437' : 'cp437',
\ 'cp437' : 'cp437',
\ '437' : 'cp437',
\ 'cspc8codepage437' : 'cp437',
\ 'ibm775' : 'cp775',
\ 'cp775' : 'cp775',
\ 'cspc775baltic' : 'cp775',
\ 'ibm850' : 'cp850',
\ 'cp850' : 'cp850',
\ '850' : 'cp850',
\ 'cspc850multilingual' : 'cp850',
\ 'ibm852' : 'cp852',
\ 'cp852' : 'cp852',
\ '852' : 'cp852',
\ 'cspcp852' : 'cp852',
\ 'ibm855' : 'cp855',
\ 'cp855' : 'cp855',
\ '855' : 'cp855',
\ 'csibm855' : 'cp855',
\ 'ibm857' : 'cp857',
\ 'cp857' : 'cp857',
\ '857' : 'cp857',
\ 'csibm857' : 'cp857',
\ 'ibm860' : 'cp860',
\ 'cp860' : 'cp860',
\ '860' : 'cp860',
\ 'csibm860' : 'cp860',
\ 'ibm861' : 'cp861',
\ 'cp861' : 'cp861',
\ '861' : 'cp861',
\ 'cp-is' : 'cp861',
\ 'csibm861' : 'cp861',
\ 'ibm862' : 'cp862',
\ 'cp862' : 'cp862',
\ '862' : 'cp862',
\ 'cspc862latinhebrew' : 'cp862',
\ 'ibm863' : 'cp863',
\ 'cp863' : 'cp863',
\ '863' : 'cp863',
\ 'csibm863' : 'cp863',
\ 'ibm865' : 'cp865',
\ 'cp865' : 'cp865',
\ '865' : 'cp865',
\ 'csibm865' : 'cp865',
\ 'ibm866' : 'cp866',
\ 'cp866' : 'cp866',
\ '866' : 'cp866',
\ 'csibm866' : 'cp866',
\ 'ibm869' : 'cp869',
\ 'cp869' : 'cp869',
\ '869' : 'cp869',
\ 'cp-gr' : 'cp869',
\ 'csibm869' : 'cp869',
\ 'windows-1250' : 'cp1250',
\ 'windows-1251' : 'cp1251',
\ 'windows-1253' : 'cp1253',
\ 'windows-1254' : 'cp1254',
\ 'windows-1255' : 'cp1255',
\ 'windows-1256' : 'cp1256',
\ 'windows-1257' : 'cp1257',
\ 'windows-1258' : 'cp1258',
\ 'extended_unix_code_packed_format_for_japanese' : 'euc-jp',
\ 'cseucpkdfmtjapanese' : 'euc-jp',
\ 'euc-jp' : 'euc-jp',
\ 'shift_jis' : 'sjis',
\ 'ms_kanji' : 'sjis',
\ 'sjis' : 'sjis',
\ 'csshiftjis' : 'sjis',
\ 'ibm-thai' : 'cp874',
\ 'csibmthai' : 'cp874',
\ 'ks_c_5601-1987' : 'cp949',
\ 'iso-ir-149' : 'cp949',
\ 'ks_c_5601-1989' : 'cp949',
\ 'ksc_5601' : 'cp949',
\ 'korean' : 'cp949',
\ 'csksc56011987' : 'cp949',
\ 'euc-kr' : 'euc-kr',
\ 'cseuckr' : 'euc-kr',
\ 'gbk' : 'cp936',
\ 'cp936' : 'cp936',
\ 'ms936' : 'cp936',
\ 'windows-936' : 'cp936',
\ 'gb_2312-80' : 'euc-cn',
\ 'iso-ir-58' : 'euc-cn',
\ 'chinese' : 'euc-cn',
\ 'csiso58gb231280' : 'euc-cn',
\ 'big5' : 'big5',
\ 'csbig5' : 'big5',
\ 'utf-8' : 'utf-8',
\ 'iso-10646-ucs-2' : 'ucs-2',
\ 'csunicode' : 'ucs-2',
\ 'utf-16' : 'utf-16',
\ 'utf-16be' : 'utf-16',
\ 'utf-16le' : 'utf-16le',
\ 'utf-32' : 'ucs-4',
\ 'utf-32be' : 'ucs-4',
\ 'utf-32le' : 'ucs-4le',
\ 'iso-10646-ucs-4' : 'ucs-4',
\ 'csucs4' : 'ucs-4'
\ }
lockvar g:tohtml#charset_to_encoding
"}}}
func! tohtml#Convert2HTML(line1, line2) "{{{
let s:settings = tohtml#GetUserSettings()
if !&diff || s:settings.diff_one_file
if !&diff || s:settings.diff_one_file "{{{
if a:line2 >= a:line1
let g:html_start_line = a:line1
let g:html_end_line = a:line2
@@ -24,31 +298,51 @@ func! tohtml#Convert2HTML(line1, line2)
let g:html_start_line = a:line2
let g:html_end_line = a:line1
endif
runtime syntax/2html.vim
else
runtime syntax/2html.vim "}}}
else "{{{
let win_list = []
let buf_list = []
windo | if &diff | call add(win_list, winbufnr(0)) | endif
let s:settings.whole_filler = 1
let g:html_diff_win_num = 0
for window in win_list
" switch to the next buffer to convert
exe ":" . bufwinnr(window) . "wincmd w"
" figure out whether current charset and encoding will work, if not
" default to UTF-8
if !exists('g:html_use_encoding') &&
\ (((&l:fileencoding=='' || (&l:buftype!='' && &l:buftype!=?'help'))
\ && &encoding!=?s:settings.vim_encoding)
\ || &l:fileencoding!='' && &l:fileencoding!=?s:settings.vim_encoding)
echohl WarningMsg
echomsg "TOhtml: mismatched file encodings in Diff buffers, using UTF-8"
echohl None
let s:settings.vim_encoding = 'utf-8'
let s:settings.encoding = 'UTF-8'
endif
" set up for diff-mode conversion
let g:html_start_line = 1
let g:html_end_line = line('$')
let g:html_diff_win_num += 1
" convert this file
runtime syntax/2html.vim
" remember the HTML buffer for later combination
call add(buf_list, bufnr('%'))
endfor
unlet g:html_diff_win_num
call tohtml#Diff2HTML(win_list, buf_list)
endif
endif "}}}
unlet g:html_start_line
unlet g:html_end_line
unlet s:settings
endfunc
endfunc "}}}
func! tohtml#Diff2HTML(win_list, buf_list)
func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let xml_line = ""
let tag_close = '>'
@@ -87,7 +381,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
call add(html, '<head>')
" include encoding as close to the top as possible, but only if not already
" contained in XML information (to avoid haggling over content type)
" contained in XML information
if s:settings.encoding != "" && !s:settings.use_xhtml
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
endif
@@ -133,7 +427,8 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let s:body_end_line = getline('.')
endif
" Grab the style information. Some of this will be duplicated...
" Grab the style information. Some of this will be duplicated so only insert
" it if it's not already there. {{{
1
let style_start = search('^<style type="text/css">')
1
@@ -151,8 +446,10 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let insert_index += 1
endif
endfor
endif
endif " }}}
" everything new will get added before the diff styles so diff highlight
" properly overrides normal highlight
if diff_style_start != 0
let insert_index = diff_style_start
endif
@@ -203,6 +500,20 @@ func! tohtml#Diff2HTML(win_list, buf_list)
" just in case some user autocmd creates content in the new buffer, make sure
" it is empty before proceeding
%d
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
call append(0, html)
if len(style) > 0
@@ -210,7 +521,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let style_start = search('^</head>')-1
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active.
" if dynamic folding is active. {{{
if s:settings.dynamic_folds
call append(style_start, [
\ "<script type='text/javascript'>",
@@ -234,13 +545,13 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif
endif "}}}
" Insert styles from all the generated html documents and additional styles
" for the table-based layout of the side-by-side diff. The diff should take
" up the full browser window (but not more), and be static in size,
" horizontally scrollable when the lines are too long. Otherwise, the diff
" is pretty useless for really long lines.
" is pretty useless for really long lines. {{{
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
@@ -252,28 +563,28 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
\ '</style>'
\ ])
endif
\])
endif "}}}
endif
let &paste = s:old_paste
let &magic = s:old_magic
endfunc
endfunc "}}}
" Gets a single user option and sets it in the passed-in Dict, or gives it the
" default value if the option doesn't actually exist.
func! tohtml#GetOption(settings, option, default)
func! tohtml#GetOption(settings, option, default) "{{{
if exists('g:html_'.a:option)
let a:settings[a:option] = g:html_{a:option}
else
let a:settings[a:option] = a:default
endif
endfunc
endfunc "}}}
" returns a Dict containing the values of all user options for 2html, including
" default values for those not given an explicit value by the user. Discards the
" html_ prefix of the option for nicer looking code.
func! tohtml#GetUserSettings()
func! tohtml#GetUserSettings() "{{{
if exists('s:settings')
" just restore the known options if we've already retrieved them
return s:settings
@@ -289,21 +600,23 @@ func! tohtml#GetUserSettings()
let g:html_use_xhtml = g:use_xhtml
endif
" get current option settings with appropriate defaults
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'use_css', 1 )
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', 0 )
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" get current option settings with appropriate defaults {{{
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
call tohtml#GetOption(user_settings, 'use_css', 1 )
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', 0 )
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" }}}
" override those settings that need it
" override those settings that need it {{{
" hover opening implies dynamic folding
if user_settings.hover_unfold
@@ -332,47 +645,114 @@ func! tohtml#GetUserSettings()
let user_settings.no_pre = 1
endif
" Figure out proper MIME charset from the 'encoding' option.
if exists("g:html_use_encoding")
let user_settings.encoding = g:html_use_encoding
else
let vim_encoding = &encoding
if vim_encoding =~ '^8bit\|^2byte'
let vim_encoding = substitute(vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if vim_encoding == 'latin1'
let user_settings.encoding = 'iso-8859-1'
elseif vim_encoding =~ "^cp12"
let user_settings.encoding = substitute(vim_encoding, 'cp', 'windows-', '')
elseif vim_encoding == 'sjis' || vim_encoding == 'cp932'
let user_settings.encoding = 'Shift_JIS'
elseif vim_encoding == 'big5' || vim_encoding == 'cp950'
let user_settings.encoding = "Big5"
elseif vim_encoding == 'euc-cn'
let user_settings.encoding = 'GB_2312-80'
elseif vim_encoding == 'euc-tw'
let user_settings.encoding = ""
elseif vim_encoding =~ '^euc\|^iso\|^koi'
let user_settings.encoding = substitute(vim_encoding, '.*', '\U\0', '')
elseif vim_encoding == 'cp949'
let user_settings.encoding = 'KS_C_5601-1987'
elseif vim_encoding == 'cp936'
let user_settings.encoding = 'GBK'
elseif vim_encoding =~ '^ucs\|^utf'
let user_settings.encoding = 'UTF-8'
else
let user_settings.encoding = ""
endif
" pre_wrap doesn't do anything if not using pre or not using CSS
if user_settings.no_pre || !user_settings.use_css
let user_settings.pre_wrap=0
endif
"}}}
" set up expand_tabs option after all the overrides so we know the
" appropriate defaults {{{
if user_settings.no_pre == 0
call tohtml#GetOption(user_settings,
\ 'expand_tabs',
\ &expandtab || &ts != 8 || user_settings.number_lines ||
\ (user_settings.dynamic_folds && !user_settings.no_foldcolumn))
else
let user_settings.expand_tabs = 1
endif
" }}}
if exists("g:html_use_encoding") "{{{
" user specified the desired MIME charset, figure out proper
" 'fileencoding' from it or warn the user if we cannot
let user_settings.encoding = g:html_use_encoding
let user_settings.vim_encoding = tohtml#EncodingFromCharset(g:html_use_encoding)
if user_settings.vim_encoding == ''
echohl WarningMsg
echomsg "TOhtml: file encoding for"
\ g:html_use_encoding
\ "unknown, please set 'fileencoding'"
echohl None
endif
else
" Figure out proper MIME charset from 'fileencoding' if possible
if &l:fileencoding != ''
" If the buffer is not a "normal" type, the 'fileencoding' value may not
" be trusted; since the buffer should not be written the fileencoding is
" not intended to be used.
if &l:buftype=='' || &l:buftype==?'help'
let user_settings.vim_encoding = &l:fileencoding
call tohtml#CharsetFromEncoding(user_settings)
else
let user_settings.encoding = '' " trigger detection using &encoding
endif
endif
" else from 'encoding' if possible
if &l:fileencoding == '' || user_settings.encoding == ''
let user_settings.vim_encoding = &encoding
call tohtml#CharsetFromEncoding(user_settings)
endif
" else default to UTF-8 and warn user
if user_settings.encoding == ''
let user_settings.vim_encoding = 'utf-8'
let user_settings.encoding = 'UTF-8'
echohl WarningMsg
echomsg "TOhtml: couldn't determine MIME charset, using UTF-8"
echohl None
endif
endif "}}}
" TODO: font
return user_settings
endif
endfunc
endfunc "}}}
" get the proper HTML charset name from a Vim encoding option.
function! tohtml#CharsetFromEncoding(settings) "{{{
let l:vim_encoding = a:settings.vim_encoding
if exists('g:html_charset_override') && has_key(g:html_charset_override, l:vim_encoding)
let a:settings.encoding = g:html_charset_override[l:vim_encoding]
else
if l:vim_encoding =~ '^8bit\|^2byte'
" 8bit- and 2byte- prefixes are to indicate encodings available on the
" system that Vim will convert with iconv(), look up just the encoding name,
" not Vim's prefix.
let l:vim_encoding = substitute(l:vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if has_key(g:tohtml#encoding_to_charset, l:vim_encoding)
let a:settings.encoding = g:tohtml#encoding_to_charset[l:vim_encoding]
else
let a:settings.encoding = ""
endif
endif
if a:settings.encoding != ""
let l:vim_encoding = tohtml#EncodingFromCharset(a:settings.encoding)
if l:vim_encoding != ""
" if the Vim encoding to HTML encoding conversion is set up (by default or
" by the user) to convert to a different encoding, we need to also change
" the Vim encoding of the new buffer
let a:settings.vim_encoding = l:vim_encoding
endif
endif
endfun "}}}
" Get the proper Vim encoding option setting from an HTML charset name.
function! tohtml#EncodingFromCharset(encoding) "{{{
if exists('g:html_encoding_override') && has_key(g:html_encoding_override, a:encoding)
return g:html_encoding_override[a:encoding]
elseif has_key(g:tohtml#charset_to_encoding, tolower(a:encoding))
return g:tohtml#charset_to_encoding[tolower(a:encoding)]
else
return ""
endif
endfun "}}}
let &cpo = s:cpo_sav
unlet s:cpo_sav
" Make sure any patches will probably use consistent indent
" vim: ts=8 sw=2 sts=2 noet
" vim: ts=8 sw=2 sts=2 noet fdm=marker

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: ms C#
" Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2004 Mar 27
" 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
if exists("current_compiler")
finish
@@ -12,8 +13,9 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
" default errorformat
CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
" default make
CompilerSet makeprg=csc\ %

23
runtime/compiler/g95.vim Normal file
View File

@@ -0,0 +1,23 @@
" Compiler: G95
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 2011 Apr 01
" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
" https://bitbucket.org/xuhdev/compiler-g95.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'g95'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%AIn\ file\ %f:%l,
\%-C%p1,
\%-Z%trror:\ %m,
\%-Z%tarning\ (%n):\ %m,
\%-C%.%#

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-05-30
" Latest Revision: 2010-10-14
if exists("current_compiler")
finish
@@ -18,10 +18,10 @@ CompilerSet errorformat=
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:%c:\ %terror:\ %m,
\%f:%l:%c:\ %trror:\ %m,
\%f:%l:%c:\ %tarning:\ %m,
\%f:%l:%c:\ %m,
\%f:%l:\ %terror:\ %m,
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,

View File

@@ -0,0 +1,22 @@
" Compiler: GNU Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 19 March 2011
" Homepage: http://www.vim.org/scripts/script.php?script_id=3496
" https://bitbucket.org/xuhdev/compiler-gfortran.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'gfortran'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%A%f:%l.%c:,
\%-Z%trror:\ %m,
\%-Z%tarning:\ %m,
\%-C%.%#

View File

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

View File

@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.3. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -146,7 +146,7 @@ o Enable Arabic settings [short-cut]
:set arabic
<
The two above noted possible invocations are the preferred manner
in which users are instructed to proceed. Baring an enabled 'termbidi'
in which users are instructed to proceed. Barring an enabled 'termbidi'
setting, both command options:
1. set the appropriate keymap

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2010 Jul 22
*autocmd.txt* For Vim version 7.3. Last change: 2011 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -786,7 +786,10 @@ TermChanged After the value of 'term' has changed. Useful
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
can be used to do things depending on the
terminal version.
terminal version. Note that this event may be
triggered halfway executing another event,
especially if file I/O, a shell command or
anything else that takes time is involved.
*User*
User Never executed automatically. To be used for
autocommands that are only executed with

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2010 Jul 29
*change.txt* For Vim version 7.3. Last change: 2011 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -690,7 +690,8 @@ 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. With the [r] flag, the
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.
@@ -916,8 +917,10 @@ inside of strings can change! Also see 'softtabstop' option. >
{Visual}["x]Y Yank the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
*:y* *:yank*
:[range]y[ank] [x] Yank [range] lines [into register x].
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
"* or "+ registers is possible only in GUI versions or
when the |+xterm_clipboard| feature is included.
:[range]y[ank] [x] {count}
Yank {count} lines, starting with last line number

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.3. Last change: 2010 May 07
*cmdline.txt* For Vim version 7.3. Last change: 2011 Mar 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -83,9 +83,9 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
CTRL-Q Same as CTRL-V. But with some terminals it is used for
control flow, it doesn't work then.
*c_<Left>*
*c_<Left>* *c_Left*
<Left> cursor left
*c_<Right>*
*c_<Right>* *c_Right*
<Right> cursor right
*c_<S-Left>*
<S-Left> or <C-Left> *c_<C-Left>*
@@ -93,18 +93,18 @@ CTRL-Q Same as CTRL-V. But with some terminals it is used for
*c_<S-Right>*
<S-Right> or <C-Right> *c_<C-Right>*
cursor one WORD right
CTRL-B or <Home> *c_CTRL-B* *c_<Home>*
CTRL-B or <Home> *c_CTRL-B* *c_<Home>* *c_Home*
cursor to beginning of command-line
CTRL-E or <End> *c_CTRL-E* *c_<End>*
CTRL-E or <End> *c_CTRL-E* *c_<End>* *c_End*
cursor to end of command-line
*c_<LeftMouse>*
<LeftMouse> Move the cursor to the position of the mouse click.
CTRL-H *c_<BS>* *c_CTRL-H*
CTRL-H *c_<BS>* *c_CTRL-H* *c_BS*
<BS> Delete the character in front of the cursor (see |:fixdel| if
your <BS> key does not do what you want).
*c_<Del>*
*c_<Del>* *c_Del*
<Del> Delete the character under the cursor (at end of line:
character before the cursor) (see |:fixdel| if your <Del>
key does not do what you want).
@@ -118,7 +118,7 @@ CTRL-U Remove all characters between the cursor position and
preferred behavior, add the following to your .vimrc: >
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>*
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
{char1} <BS> {char2} or *c_digraph*
@@ -224,9 +224,9 @@ CTRL-Y When there is a modeless selection, copy the selection into
the clipboard. |modeless-selection|
If there is no selection CTRL-Y is inserted as a character.
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>*
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
<CR> or <NL> start entered command
*c_<Esc>*
*c_<Esc>* *c_Esc*
<Esc> When typed and 'x' not present in 'cpoptions', quit
Command-line mode without executing. In macros or when 'x'
present in 'cpoptions', start entered command.
@@ -235,12 +235,12 @@ CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>*
*c_CTRL-C*
CTRL-C quit command-line without executing
*c_<Up>*
*c_<Up>* *c_Up*
<Up> recall older command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
feature}
*c_<Down>*
*c_<Down>* *c_Down*
<Down> recall more recent command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
@@ -372,10 +372,10 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled with the |+cmdline_compl| feature disabled, only file
names, directories and help items can be completed. The number of help item
matches is limited (currently to 300) to avoid a long delay when there are
very many matches.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
These are the commands that can be used:
@@ -423,7 +423,8 @@ CTRL-L A match is done on the pattern in front of the cursor. If
The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted. '*' matches any string, '?' matches exactly one character.
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
@@ -781,30 +782,34 @@ it, no matter how many backslashes.
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
*E495* *E496* *E497* *E498* *E499* *E500*
*<slnum>* *E495* *E496* *E497* *E499* *E500*
Note: these are typed literally, they are not special keys!
<cword> is replaced with the word under the cursor (like |star|)
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
<cfile> is replaced with the path name under the cursor (like what
|gf| uses)
<afile> when executing autocommands, is replaced with the file name
for a file read or write
<abuf> when executing autocommands, is replaced with the currently
<afile> When executing autocommands, is replaced with the file name
for a file read or write.
<abuf> When executing autocommands, is replaced with the currently
effective buffer number (for ":r file" and ":so file" it is
the current buffer, the file being read/sourced is not in a
buffer).
<amatch> when executing autocommands, is replaced with the match for
<amatch> When executing autocommands, is replaced with the match for
which this autocommand was executed. It differs from
<afile> only when the file name isn't used to match with
(for FileType, Syntax and SpellFileMissing events).
<sfile> when executing a ":source" command, is replaced with the
file name of the sourced file;
when executing a function, is replaced with
<sfile> When executing a ":source" command, is replaced with the
file name of the sourced file. *E498*
When executing a function, is replaced with
"function {function-name}"; function call nesting is
indicated like this:
"function {function-name1}..{function-name2}". Note that
filename-modifiers are useless when <sfile> is used inside
a function.
<slnum> When executing a ":source" command, is replaced with the
line number. *E842*
When executing a function it's the line number relative to
the start of the function.
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
@@ -860,7 +865,7 @@ These modifiers can be given, in this order:
After this, the previous modifiers can be used again. For
example ":p", to make a full path after the substitution.
:gs?pat?sub?
Substitute all occurrences of "path" with "sub". Otherwise
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
Examples, when the file name is "src/version.c", current dir

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.3. Last change: 2010 Jul 20
*debug.txt* For Vim version 7.3. Last change: 2010 Dec 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,8 +21,9 @@ When Vim crashes in one of the test files, and you are using gcc for
compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
which you can uncomment).
1. Compile Vim with the "-g" option (there is a line in the src/Makefile for
this, which you can uncomment). Also make sure "strip" is disabled (do not
install it, or use the line "STRIP = /bin/true").
2. Execute these commands (replace "11" with the test that fails): >
cd testdir
@@ -67,7 +68,7 @@ If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.
GENERIC ~
3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
@@ -89,7 +90,7 @@ a Vim executable compiled with the Borland compiler; gdb (see above
*debug-vs2005*
2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
@@ -123,7 +124,7 @@ installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
2.3 Debugging Vim crashes with WinDbg ~
3.3 Debugging Vim crashes with WinDbg ~
See |get-ms-debuggers| to obtain a copy of WinDbg.
@@ -149,7 +150,7 @@ To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
<
*debug-minidump*
2.4 Opening a Minidump ~
3.4 Opening a Minidump ~
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
@@ -161,7 +162,7 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
2.5 Obtaining Microsoft Debugging Tools ~
3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2010 Jul 31
*diff.txt* For Vim version 7.3. Last change: 2011 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -167,8 +167,8 @@ in diff mode in one window and "normal" in another window. It is also
possible to view the changes you have made to a buffer since the file was
loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
between the current buffer and the file it was loaded from.
@@ -261,10 +261,12 @@ that the buffers will be equal within the specified range.
*do*
do Same as ":diffget" without argument or range. The "o" stands
for "obtain" ("dg" can't be used, it could be the start of
"dgg"!).
"dgg"!). Note: this doesn't work in Visual mode.
*dp*
dp Same as ":diffput" without argument or range.
Note: this doesn't work in Visual mode.
When no [range] is given, the diff at the cursor position or just above it is
affected. When [range] is used, Vim tries to only put or get the specified
@@ -371,9 +373,9 @@ get an error message. Possible causes:
If it's not clear what the problem is set the 'verbose' option to one or more
to see more messages.
The self-installing Vim includes a diff program. If you don't have it you
might want to download a diff.exe. For example from
http://jlb.twu.net/code/unixkit.php.
The self-installing Vim for MS-Windows includes a diff program. If you don't
have it you might want to download a diff.exe. For example from
http://gnuwin32.sourceforge.net/packages/diffutils.htm.
USING PATCHES *diff-patchexpr*

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2010 Jul 28
*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -276,10 +276,11 @@ If you want to keep the changed buffer without saving it, switch on the
'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file (equivalent to ":e #").
Mostly the alternate file is the previously edited
file. This is a quick way to toggle between two
files.
CTRL-^ Edit the alternate file. Mostly the alternate file is
the previously edited file. This is a quick way to
toggle between two files. It is equivalent to ":e #",
except that it also works when there is no file name.
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
@@ -984,6 +985,11 @@ explanation of when the copy is made and when the file is renamed.
If the creation of a backup file fails, the write is not done. If you want
to write anyway add a '!' to the command.
*write-permissions*
When writing a new file the permissions are read-write. For unix the mask is
0666 with additionally umask applied. When writing a file that was read Vim
will preserve the permissions, but clear the s-bit.
*write-readonly*
When the 'cpoptions' option contains 'W', Vim will refuse to overwrite a
readonly file. When 'W' is not present, ":w!" will overwrite a readonly file,
@@ -1340,7 +1346,7 @@ Vim is able to write files encrypted, and read them back. The encrypted text
cannot be read without the right key.
{only available when compiled with the |+cryptv| feature} *E833*
The text in the swap file and the undo file is also encrypted.
The text in the swap file and the undo file is also encrypted. *E843*
Note: The text in memory is not encrypted. A system administrator may be able
to see your text while you are editing it. When filtering text with
@@ -1382,6 +1388,8 @@ To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
The message given for reading and writing a file will show "[crypted]" when
using zip, "[blowfish]" when using blowfish.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
@@ -1431,13 +1439,15 @@ Notes:
history, showing the 'key' value in a viminfo file.
- There is never 100% safety. The encryption in Vim has not been tested for
robustness.
- The algorithm used is breakable. A 4 character key in about one hour, a 6
character key in one day (on a Pentium 133 PC). This requires that you know
some text that must appear in the file. An expert can break it for any key.
When the text has been decrypted, this also means that the key can be
revealed, and other files encrypted with the same key can be decrypted.
- Pkzip uses the same encryption, and US Govt has no objection to its export.
Pkzip's public file APPNOTE.TXT describes this algorithm in detail.
- The algorithm used for 'cryptmethod' "zip" is breakable. A 4 character key
in about one hour, a 6 character key in one day (on a Pentium 133 PC). This
requires that you know some text that must appear in the file. An expert
can break it for any key. When the text has been decrypted, this also means
that the key can be revealed, and other files encrypted with the same key
can be decrypted.
- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
objection to its export. Pkzip's public file APPNOTE.TXT describes this
algorithm in detail.
- Vim originates from the Netherlands. That is where the sources come from.
Thus the encryption code is not exported from the USA.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2010 Aug 15
*eval.txt* For Vim version 7.3. Last change: 2011 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -63,21 +63,21 @@ The Number and String types are converted automatically, depending on how they
are used.
Conversion from a Number to a String is by making the ASCII representation of
the Number. Examples: >
Number 123 --> String "123"
Number 0 --> String "0"
Number -1 --> String "-1"
the Number. Examples:
Number 123 --> String "123" ~
Number 0 --> String "0" ~
Number -1 --> String "-1" ~
*octal*
Conversion from a String to a Number is done by converting the first digits
to a number. Hexadecimal "0xf9" and Octal "017" numbers are recognized. If
the String doesn't start with digits, the result is zero. Examples: >
String "456" --> Number 456
String "6bar" --> Number 6
String "foo" --> Number 0
String "0xf1" --> Number 241
String "0100" --> Number 64
String "-8" --> Number -8
String "+8" --> Number 0
the String doesn't start with digits, the result is zero. Examples:
String "456" --> Number 456 ~
String "6bar" --> Number 6 ~
String "foo" --> Number 0 ~
String "0xf1" --> Number 241 ~
String "0100" --> Number 64 ~
String "-8" --> Number -8 ~
String "+8" --> Number 0 ~
To force conversion from String to Number, add zero to it: >
:echo "0100" + 0
@@ -1115,8 +1115,8 @@ See below |functions|.
==============================================================================
3. Internal variable *internal-variables* *E121*
*E461*
3. Internal variable *internal-variables* *E461*
An internal variable name can be made up of letters, digits and '_'. But it
cannot start with a digit. It's also possible to use curly braces, see
|curly-braces-names|.
@@ -1286,7 +1286,9 @@ v:beval_text The text under or after the mouse pointer. Usually a word as
*v:beval_winnr* *beval_winnr-variable*
v:beval_winnr The number of the window, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
valid while evaluating the 'balloonexpr' option. The first
window has number zero (unlike most other places where a
window gets a number).
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed
@@ -1542,8 +1544,9 @@ v:progname Contains the name (with path removed) with which Vim was
Read-only.
*v:register* *register-variable*
v:register The name of the register supplied to the last normal mode
command. Empty if none were supplied. |getreg()| |setreg()|
v:register The name of the register in effect for the current normal mode
command. If none is supplied it is the default register.
Also see |getreg()| and |setreg()|
*v:scrollstart* *scrollstart-variable*
v:scrollstart String describing the script or function that caused the
@@ -1657,6 +1660,15 @@ v:version Version number of Vim: Major version number times 100 plus
*v:warningmsg* *warningmsg-variable*
v:warningmsg Last given warning message. It's allowed to set this variable.
*v:windowid* *windowid-variable*
v:windowid When any X11 based GUI is running or when running in a
terminal and Vim connects to the X server (|-X|) this will be
set to the window ID.
When an MS-Windows GUI is running this will be set to the
window handle.
Otherwise the value is zero.
Note: for windows inside Vim use |winnr()|.
==============================================================================
4. Builtin Functions *functions*
@@ -1822,7 +1834,7 @@ localtime() Number current time
log( {expr}) Float natural logarithm (base e) of {expr}
log10( {expr}) Float logarithm of Float {expr} to base 10
map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
maparg( {name}[, {mode} [, {abbr}]])
maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
String rhs of mapping {name} in mode {mode}
mapcheck( {name}[, {mode} [, {abbr}]])
String check for mappings matching {name}
@@ -1911,7 +1923,7 @@ spellsuggest( {word} [, {max} [, {capital}]])
List spelling suggestions
split( {expr} [, {pat} [, {keepempty}]])
List make |List| from {pat} separated {expr}
sqrt( {expr} Float squar root of {expr}
sqrt( {expr}) Float square root of {expr}
str2float( {expr}) Float convert String to Float
str2nr( {expr} [, {base}]) Number convert String to Number
strchars( {expr}) Number character length of the String {expr}
@@ -1934,6 +1946,7 @@ synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
synIDattr( {synID}, {what} [, {mode}])
String attribute {what} of syntax ID {synID}
synIDtrans( {synID}) Number translated syntax ID of {synID}
synconcealed( {lnum}, {col}) List info about concealing
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
system( {expr} [, {input}]) String output of shell command/filter {expr}
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
@@ -1949,7 +1962,7 @@ tolower( {expr}) String the String {expr} switched to lowercase
toupper( {expr}) String the String {expr} switched to uppercase
tr( {src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
to chars in {tostr}
trunc( {expr} Float truncate Float {expr}
trunc( {expr}) Float truncate Float {expr}
type( {name}) Number type of variable {name}
undofile( {name}) String undo file name for {name}
undotree() List undo file tree
@@ -2710,7 +2723,7 @@ exp({expr}) *exp()*
expand({expr} [, {flag}]) *expand()*
Expand wildcards and the following special keywords in {expr}.
The result is a String.
The result is a String. 'wildignorecase' applies.
When there are several matches, they are separated by <NL>
characters. [Note: in version 5.0 a space was used, which
@@ -2731,6 +2744,7 @@ expand({expr} [, {flag}]) *expand()*
<abuf> autocmd buffer number (as a String!)
<amatch> autocmd matched name
<sfile> sourced script file name
<slnum> sourced script file line number
<cword> word under the cursor
<cWORD> WORD under the cursor
<client> the {clientid} of the last received
@@ -3424,6 +3438,7 @@ glob({expr} [, {flag}]) *glob()*
the 'suffixes' and 'wildignore' options apply: Names matching
one of the patterns in 'wildignore' will be skipped and
'suffixes' affect the ordering of matches.
'wildignorecase' always applies.
If the expansion fails, the result is an empty string.
A name for a non-existing file is not included.
@@ -3966,23 +3981,51 @@ map({expr}, {string}) *map()*
further items in {expr} are processed.
maparg({name}[, {mode} [, {abbr}]]) *maparg()*
Return the rhs of mapping {name} in mode {mode}. When there
is no mapping for {name}, an empty String is returned.
maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command
listing.
When there is no mapping for {name}, an empty String is
returned.
The {name} can have special key names, like in the ":map"
command.
{mode} can be one of these strings:
"n" Normal
"v" Visual
"v" Visual (including Select)
"o" Operator-pending
"i" Insert
"c" Cmd-line
"s" Select
"x" Visual
"l" langmap |language-mapping|
"" Normal, Visual and Operator-pending
When {mode} is omitted, the modes for "" are used.
When {abbr} is there and it is non-zero use abbreviations
instead of mappings.
The {name} can have special key names, like in the ":map"
command. The returned String has special characters
translated like in the output of the ":map" command listing.
When {dict} is there and it is non-zero return a dictionary
containing all the information of the mapping with the
following items:
"lhs" The {lhs} of the mapping.
"rhs" The {rhs} of the mapping as typed.
"silent" 1 for a |:map-silent| mapping, else 0.
"noremap" 1 if the {rhs} of the mapping is not remappable.
"expr" 1 for an expression mapping (|:map-<expr>|).
"buffer" 1 for a buffer local mapping (|:map-local|).
"mode" Modes for which the mapping is defined. In
addition to the modes mentioned above, these
characters will be used:
" " Normal, Visual and Operator-pending
"!" Insert and Commandline mode
(|mapmode-ic|)
"sid" The script local ID, used for <sid> mappings
(|<SID>|).
The mappings local to the current buffer are checked first,
then the global mappings.
This function can be used to map a key even when it's already
@@ -5416,8 +5459,8 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
{haystack} of the first occurrence of the String {needle}.
If {start} is specified, the search starts at index {start}.
This can be used to find a second match: >
:let comma1 = stridx(line, ",")
:let comma2 = stridx(line, ",", comma1 + 1)
:let colon1 = stridx(line, ":")
:let colon2 = stridx(line, ":", colon1 + 1)
< The search is done case-sensitive.
For pattern searches use |match()|.
-1 is returned if the {needle} does not occur in {haystack}.
@@ -5558,20 +5601,6 @@ synID({lnum}, {col}, {trans}) *synID()*
:echo synIDattr(synID(line("."), col("."), 1), "name")
<
synconcealed({lnum}, {col}) *synconcealed()*
The result is a List. The first item in the list is 0 if the
character at the position {lnum} and {col} is not part of a
concealable region, 1 if it is. The second item in the list is
a string. If the first item is 1, the second item contains the
text which will be displayed in place of the concealed text,
depending on the current setting of 'conceallevel'. The third
and final item in the list is a unique number representing the
specific syntax region matched. This allows detection of the
beginning of a new concealable region if there are two
consecutive regions with the same replacement character.
For an example use see $VIMRUNTIME/syntax/2html.vim .
synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
The result is a String, which is the {what} attribute of
syntax ID {synID}. This can be used to obtain information
@@ -5612,6 +5641,20 @@ synIDtrans({synID}) *synIDtrans()*
highlight the character. Highlight links given with
":highlight link" are followed.
synconcealed({lnum}, {col}) *synconcealed()*
The result is a List. The first item in the list is 0 if the
character at the position {lnum} and {col} is not part of a
concealable region, 1 if it is. The second item in the list is
a string. If the first item is 1, the second item contains the
text which will be displayed in place of the concealed text,
depending on the current setting of 'conceallevel'. The third
and final item in the list is a unique number representing the
specific syntax region matched. This allows detection of the
beginning of a new concealable region if there are two
consecutive regions with the same replacement character.
For an example use see $VIMRUNTIME/syntax/2html.vim .
synstack({lnum}, {col}) *synstack()*
Return a |List|, which is the stack of syntax items at the
position {lnum} and {col} in the current window. Each item in
@@ -6093,17 +6136,17 @@ cmdline_compl Compiled with |cmdline-completion| support.
cmdline_hist Compiled with |cmdline-history| support.
cmdline_info Compiled with 'showcmd' and 'ruler' support.
comments Compiled with |'comments'| support.
compatible Compiled to be very Vi compatible.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
compatible Compiled to be very Vi compatible.
debug Compiled with "DEBUG" defined.
dialog_con Compiled with console dialog support.
dialog_gui Compiled with GUI dialog support.
diff Compiled with |vimdiff| and 'diff' support.
digraphs Compiled with support for digraphs.
dnd Compiled with support for the "~ register |quote_~|.
dos32 32 bits DOS (DJGPP) version of Vim.
dos16 16 bits DOS version of Vim.
dos32 32 bits DOS (DJGPP) version of Vim.
ebcdic Compiled on a machine with ebcdic character set.
emacs_tags Compiled with support for Emacs tags.
eval Compiled with expression evaluation support. Always
@@ -6126,15 +6169,15 @@ fork Compiled to use fork()/exec() instead of system().
gettext Compiled with message translation |multi-lang|
gui Compiled with GUI enabled.
gui_athena Compiled with Athena GUI.
gui_gnome Compiled with Gnome support (gui_gtk is also defined).
gui_gtk Compiled with GTK+ GUI (any version).
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
gui_gnome Compiled with Gnome support (gui_gtk is also defined).
gui_mac Compiled with Macintosh GUI.
gui_motif Compiled with Motif GUI.
gui_photon Compiled with Photon GUI.
gui_running Vim is running in the GUI, or it will start soon.
gui_win32 Compiled with MS Windows Win32 GUI.
gui_win32s idem, and Win32s system being used (Windows 3.1)
gui_running Vim is running in the GUI, or it will start soon.
hangul_input Compiled with Hangul input support. |hangul|
iconv Can use iconv() for conversion.
insert_expand Compiled with support for CTRL-X expansion commands in
@@ -6156,20 +6199,20 @@ menu Compiled with support for |:menu|.
mksession Compiled with support for |:mksession|.
modify_fname Compiled with file name modifiers. |filename-modifiers|
mouse Compiled with support mouse.
mouseshape Compiled with support for 'mouseshape'.
mouse_dec Compiled with support for Dec terminal mouse.
mouse_gpm Compiled with support for gpm (Linux console mouse)
mouse_netterm Compiled with support for netterm mouse.
mouse_pterm Compiled with support for qnx pterm mouse.
mouse_sysmouse Compiled with support for sysmouse (*BSD console mouse)
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.
multi_byte Compiled with support for 'encoding'
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
mzscheme Compiled with MzScheme interface |mzscheme|.
netbeans_intg Compiled with support for |netbeans|.
netbeans_enabled Compiled with support for |netbeans| and connected.
netbeans_intg Compiled with support for |netbeans|.
ole Compiled with OLE automation support for Win32.
os2 OS/2 version of Vim.
osfiletype Compiled with support for osfiletypes |+osfiletype|
@@ -6190,11 +6233,11 @@ showcmd Compiled with 'showcmd' support.
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
sniff Compiled with SNiFF interface support.
spell Compiled with spell checking support |spell|.
startuptime Compiled with |--startuptime| support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
sun_workshop Compiled with support for Sun |workshop|.
spell Compiled with spell checking support |spell|.
syntax Compiled with syntax highlighting support |syntax|.
syntax_items There are active syntax highlighting items for the
current buffer.
@@ -6215,9 +6258,9 @@ title Compiled with window title support |'title'|.
toolbar Compiled with support for |gui-toolbar|.
unix Unix version of Vim.
user_commands User-defined commands.
viminfo Compiled with viminfo support.
vim_starting True while initial source'ing takes place.
vertsplit Compiled with vertically split windows |:vsplit|.
vim_starting True while initial source'ing takes place. |startup|
viminfo Compiled with viminfo support.
virtualedit Compiled with 'virtualedit' option.
visual Compiled with Visual mode.
visualextra Compiled with extra Visual mode commands.
@@ -6226,13 +6269,14 @@ vms VMS version of Vim.
vreplace Compiled with |gR| and |gr| commands.
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
windows Compiled with support for more than one window.
winaltkeys Compiled with 'winaltkeys' option.
win16 Win16 version of Vim (MS-Windows 3.1).
win32 Win32 version of Vim (MS-Windows 95/98/ME/NT/2000/XP).
win64 Win64 version of Vim (MS-Windows 64 bit).
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
64 bits)
win32unix Win32 version of Vim, using Unix files (Cygwin)
win64 Win64 version of Vim (MS-Windows 64 bit).
win95 Win32 version for MS-Windows 95/98/ME.
winaltkeys Compiled with 'winaltkeys' option.
windows Compiled with support for more than one window.
writebackup Compiled with 'writebackup' default on.
xfontset Compiled with X fontset support |xfontset|.
xim Compiled with X input method support |xim|.
@@ -6741,7 +6785,8 @@ This would call the function "my_func_whizz(parameter)".
:let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each
|List| item.
*E106*
*E121*
:let {var-name} .. List the value of variable {var-name}. Multiple
variable names may be given. Special names recognized
here: *E738*
@@ -7027,7 +7072,9 @@ This would call the function "my_func_whizz(parameter)".
is terminated.
Example: >
:try | throw "oops" | catch /^oo/ | echo "caught" | endtry
<
< Note that "catch" may need to be on a separate line
for when an error causes the parsing to skip the whole
line and not see the "|" that separates the commands.
*:ec* *:echo*
:ec[ho] {expr1} .. Echoes each {expr1}, with a space in between. The

View File

@@ -6,20 +6,20 @@
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
2. Plug-in |ft-ada-plugin|
2. File type Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
4.1 Dec Ada |compiler-decada|
4.2 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
5.2 Functions |ft-ada-functions|
5.3 Commands |ft-ada-commands|
5.4 Variables |ft-ada-variables|
5.5 Constants |ft-ada-constants|
8. Extra Plug-ins |ada-extra-plugins|
5.2 Commands |ft-ada-commands|
5.3 Variables |ft-ada-variables|
5.4 Constants |ft-ada-constants|
5.5 Functions |ft-ada-functions|
6. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
@@ -139,7 +139,7 @@ The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
4. Compiler Support ~
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more than one Ada compiler and will automatically load the
@@ -367,7 +367,7 @@ false when the variable is undefined. The value to which the variable is set
makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
5.2 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
@@ -445,7 +445,7 @@ g:ada#Ctags_Kinds dictionary of lists
for Ctags generates.
------------------------------------------------------------------------------
5.2 Functions ~
5.5 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
@@ -479,7 +479,7 @@ gnat#New ()
==============================================================================
8. Extra Plugins ~
6. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-ins. They work well with

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 May 14
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -156,26 +156,26 @@ configure which ones appear with the 'guioptions' option.
The interface looks like this (with ":set guioptions=mlrb"):
+------------------------------+
| File Edit Help | <- Menu bar (m)
+-+--------------------------+-+
|^| |^|
|#| Text area. |#|
| | | |
|v|__________________________|v|
Normal status line -> |-+ File.c 5,2 +-|
between Vim windows |^|""""""""""""""""""""""""""|^|
| | | |
| | Another file buffer. | |
| | | |
|#| |#|
Left scrollbar (l) -> |#| |#| <- Right
|#| |#| scrollbar (r)
| | | |
|v| |v|
+-+--------------------------+-+
| |< #### >| | <- Bottom
+-+--------------------------+-+ scrollbar (b)
+------------------------------+ `
| File Edit Help | <- Menu bar (m) `
+-+--------------------------+-+ `
|^| |^| `
|#| Text area. |#| `
| | | | `
|v|__________________________|v| `
Normal status line -> |-+ File.c 5,2 +-| `
between Vim windows |^|""""""""""""""""""""""""""|^| `
| | | | `
| | Another file buffer. | | `
| | | | `
|#| |#| `
Left scrollbar (l) -> |#| |#| <- Right `
|#| |#| scrollbar (r) `
| | | | `
|v| |v| `
+-+--------------------------+-+ `
| |< #### >| | <- Bottom `
+-+--------------------------+-+ scrollbar (b) `
Any of the scrollbar or menu components may be turned off by not putting the
appropriate letter in the 'guioptions' string. The bottom scrollbar is

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2007 Aug 30
*gui_w32.txt* For Vim version 7.3. Last change: 2010 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -293,7 +293,9 @@ Normally, Vim waits for a command to complete before continuing (this makes
sense for most shell commands which produce output for Vim to use). If you
want Vim to start a program and return immediately, you can use the following
syntax on W95 & NT: >
:!start {command}
:!start [/min] {command}
The optional "/min" causes the window to be minimized.
On Win32s, you will have to go to another window instead. Don't forget that
you must tell Windows 3.1x to keep executing a DOS command in the background
while you switch back to Vim.

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.3. Last change: 2010 Jul 29
*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,7 +7,7 @@
Help on help files *helphelp*
1. Help commands |online-help|
2. Translating help files |help-translated|
2. Translated help files |help-translated|
3. Writing help files |help-writing|
==============================================================================
@@ -188,7 +188,7 @@ command: >
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
< {not in Vi}
{not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*

View File

@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.3. Last change: 2009 Mar 18
*if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Andy Kahn
@@ -112,8 +112,7 @@ The available subcommands are:
:cscope add /projects/vim/cscope.out /usr/local/vim
:cscope add cscope.out /usr/local/vim -C
<
*cscope-find* *cs-find*
*E565* *E567*
*cscope-find* *cs-find* *E567*
find : Query cscope. All cscope query options are available
except option #5 ("Change this grep pattern").
@@ -198,7 +197,7 @@ The available subcommands are:
USAGE :cs help
*E260* *E261*
*E261*
kill : Kill a cscope connection (or kill all cscope connections).
USAGE :cs kill {num|partial_name}

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Aug 13
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Oct 20
VIM REFERENCE MANUAL by Paul Moore
@@ -355,7 +355,7 @@ When Python 2 and Python 3 are both supported they must be loaded dynamically.
When doing this on Linux/Unix systems and importing global symbols, this leads
to a crash when the second Python version is used. So either global symbols
are loaded but only one Python version is activated, or no global symbols are
loaded. The latter makes Python's "import" fail on libaries that expect the
loaded. The latter makes Python's "import" fail on libraries that expect the
symbols to be provided by Vim.
*E836* *E837*
Vim's configuration script makes a guess for all libraries based on one

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Jul 20
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Oct 27
VIM REFERENCE MANUAL by Shugo Maeda
@@ -40,6 +40,9 @@ downloading Ruby there.
wasn't compiled in. To avoid errors, see
|script-here|.
Command to try it out: >
:ruby print "Hello" # this is a comment
Example Vim script: >
function! RedGem()
@@ -187,12 +190,12 @@ $curbuf The current buffer object.
==============================================================================
6. Dynamic loading *ruby-dynamic*
On MS-Windows the Ruby library can be loaded dynamically. The |:version|
output then includes |+ruby/dyn|.
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|:version| output then includes |+ruby/dyn|.
This means that Vim will search for the Ruby DLL file only when needed. When
you don't use the Ruby interface you don't need it, thus you can use Vim
without this DLL file.
This means that Vim will search for the Ruby DLL file or shared library only
when needed. When you don't use the Ruby interface you don't need it, thus
you can use Vim even though this library file is not on your system.
You need to install the right version of Ruby for this to work. You can find
the package to download from:

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2010 Jul 30
*indent.txt* For Vim version 7.3. Last change: 2011 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -258,6 +258,7 @@ assume a 'shiftwidth' of 4.
<
bN If N != 0 Vim will align a final "break" with the case label,
so that case..break looks like a sort of block. (default: 0).
When using 1, consider adding "0=break" to 'cinkeys'.
cino= cino=b1 >
switch (x) switch(x)
@@ -319,8 +320,11 @@ assume a 'shiftwidth' of 4.
BaseClass(3) BaseClass(3)
{} {}
<
+N Indent a continuation line (a line that spills onto the next) N
additional characters. (default 'shiftwidth').
+N Indent a continuation line (a line that spills onto the next)
inside a function N additional characters. (default
'shiftwidth').
Outside of a function, when the previous line ended in a
backslash, the 2 * N is used.
cino= cino=+10 >
a = b + 9 * a = b + 9 *
@@ -468,6 +472,8 @@ assume a 'shiftwidth' of 4.
*N Vim searches for unclosed comments at most N lines away. This
limits the time needed to search for the start of a comment.
If your /* */ comments stop indenting afer N lines this is the
value you will want to change.
(default 70 lines).
#N When N is non-zero recognize shell/Perl comments, starting with

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2010 Jul 21
*index.txt* For Vim version 7.3. Last change: 2011 Jan 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -29,7 +29,7 @@ For a complete listing of all help items see |help-tags|.
==============================================================================
1. Insert mode *insert-index*
tag char action ~
tag char action in Insert mode ~
-----------------------------------------------------------------------
|i_CTRL-@| CTRL-@ insert previously inserted text and stop
insert
@@ -459,7 +459,7 @@ tag char note action in Normal mode ~
These can be used after an operator or in Visual mode to select an object.
tag command action in Normal mode ~
tag command action in op-pending and Visual mode ~
------------------------------------------------------------------------------
|v_aquote| a" double quoted string
|v_a'| a' single quoted string
@@ -721,6 +721,7 @@ tag char note action in Normal mode ~
|gJ| gJ 2 join lines without inserting space
|gP| ["x]gP 2 put the text [from register x] before the
cursor N times, leave the cursor after it
|gQ| gQ switch to "Ex" mode with Vim editing
|gR| gR 2 enter Virtual Replace mode
|gU| gU{motion} 2 make Nmove text uppercase
|gV| gV don't reselect the previous Visual area
@@ -951,11 +952,13 @@ Normal characters are inserted at the current cursor position.
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
cursor and insert all matches
|c_CTRL-B| CTRL-B cursor to begin of command-line
|c_CTRL-C| CTRL-C same as <ESC>
|c_CTRL-C| CTRL-C same as <Esc>
|c_CTRL-D| CTRL-D list completions that match the pattern in
front of the cursor
|c_CTRL-E| CTRL-E cursor to end of command-line
@@ -1046,6 +1049,8 @@ This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
|:#| :# same as ":number"

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Jul 29
*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -382,6 +382,10 @@ mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
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.
The shifted cursor keys are not available on all terminals.
Another side effect is that a count specified before the "i" or "a" command is
@@ -555,12 +559,11 @@ CTRL-D, 'expandtab', 'smarttab', 'softtabstop', etc.
In 'list' mode, Virtual Replace mode acts as if it was not in 'list' mode,
unless "L" is in 'cpoptions'.
Note that the only times characters beyond the cursor should appear to move
are in 'list' mode, and occasionally when 'wrap' is set (and the line changes
length to become shorter or wider than the width of the screen), or
momentarily when typing over a CTRL character. A CTRL character takes up two
screen spaces. When replacing it with two normal characters, the first will
be inserted and the second will replace the CTRL character.
Note that the only situations for which characters beyond the cursor should
appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
(and the line changes length to become shorter or wider than the width of the
screen). In other cases spaces may be inserted to avoid following characters
to move.
This mode is very useful for editing <Tab> separated columns in tables, for
entering new data while keeping all the columns aligned.
@@ -1034,6 +1037,8 @@ items:
items that only differ in case are added
dup when non-zero this match will be added even when an
item with the same word is already present.
empty when non-zero this match will be added even when it is
an empty string
All of these except 'icase' must be a string. If an item does not meet these
requirements then an error message is given and further items in the list are
@@ -1044,7 +1049,8 @@ be relatively short. The "info" item can be longer, it will be displayed in
the preview window when "preview" appears in 'completeopt'. The "info" item
will also remain displayed after the popup menu has been removed. This is
useful for function arguments. Use a single space for "info" to remove
existing text in the preview window.
existing text in the preview window. The size of the preview window is three
lines, but 'previewheight' is used when it has a value of 1 or 2.
The "kind" item uses a single letter to indicate the kind of completion. This
may be used to show the completion differently (different color or icon).
@@ -1060,9 +1066,9 @@ match to the total list. These matches should then not appear in the returned
list! Call |complete_check()| now and then to allow the user to press a key
while still searching for matches. Stop searching when it returns non-zero.
The function is allowed to move the cursor, it is restored afterwards. This
option cannot be set from a |modeline| or in the |sandbox|, for security
reasons.
*E839* *E840*
The function is allowed to move the cursor, it is restored afterwards.
The function is not allowed to move to another window or delete text.
An example that completes the names of the months: >
fun! CompleteMonths(findstart, base)
@@ -1767,6 +1773,11 @@ These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|.
When in Ex mode (see |-e|) a backslash at the end of the line can be used to
insert a NUL character. To be able to have a line ending in a backslash use
two backslashes. This means that the number of backslashes is halved, but
only at the end of the line.
NOTE: These commands cannot be used with |:global| or |:vglobal|.
":append" and ":insert" don't work properly in between ":if" and
":endif", ":for" and ":endfor", ":while" and ":endwhile".

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Jul 20
*intro.txt* For Vim version 7.3. Last change: 2010 Dec 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -300,7 +300,7 @@ and <> are part of what you type, the context should make this clear.
[] Characters in square brackets are optional.
*count* *[count]* *E489*
*count* *[count]*
[count] An optional number that may precede the command to multiply
or iterate the command. If no number is given, a count of one
is used, unless otherwise noted. Note that in this manual the
@@ -616,7 +616,6 @@ Replace <Esc> -- -- <Insert> -- --
Command-line *3 -- -- :start -- --
Ex :vi -- -- -- -- --
- NA
-- not possible
*1 Go from Normal mode to Insert mode by giving the command "i", "I", "a",
@@ -703,7 +702,7 @@ Lines longer than the window width will wrap, unless the 'wrap' option is off
(see below). The 'linebreak' option can be set to wrap at a blank character.
If the window has room after the last line of the buffer, Vim will show '~' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|some line |
@@ -715,7 +714,7 @@ the first column of the last lines in the window, like this: >
Thus the '~' lines indicate that the end of the buffer was reached.
If the last line in a window doesn't fit, Vim will indicate this with a '@' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|first line |
@@ -730,7 +729,7 @@ window.
When the "lastline" flag is present in the 'display' option, you will not see
'@' characters at the left side of window. If the last line doesn't fit
completely, only the part that fits is shown, and the last three characters of
the last line are replaced with "@@@", like this: >
the last line are replaced with "@@@", like this:
+-----------------------+
|first line |

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2010 Jul 31
*map.txt* For Vim version 7.3. Last change: 2011 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1093,16 +1093,20 @@ is executed, it is transformed into a normal Ex command and then executed.
For starters: See section |40.2| in the user manual.
*E183* *user-cmd-ambiguous*
*E183* *E841* *user-cmd-ambiguous*
All user defined commands must start with an uppercase letter, to avoid
confusion with builtin commands. (There are a few builtin commands, notably
:Next, :Print and :X, which do start with an uppercase letter. The builtin
will always take precedence in these cases). The other characters of the user
command can be uppercase letters, lowercase letters or digits. When using
digits, note that other commands that take a numeric argument may become
ambiguous. For example, the command ":Cc2" could be the user command ":Cc2"
without an argument, or the command ":Cc" with argument "2". It is advised to
put a space between the command name and the argument to avoid these problems.
confusion with builtin commands. Exceptions are these builtin commands:
:Next
:X
They cannot be used for a user defined command. ":Print" is also an existing
command, but it is deprecated and can be overruled.
The other characters of the user command can be uppercase letters, lowercase
letters or digits. When using digits, note that other commands that take a
numeric argument may become ambiguous. For example, the command ":Cc2" could
be the user command ":Cc2" without an argument, or the command ":Cc" with
argument "2". It is advised to put a space between the command name and the
argument to avoid these problems.
When using a user-defined command, the command can be abbreviated. However, if
an abbreviation is not unique, an error will be issued. Furthermore, a
@@ -1203,6 +1207,7 @@ completion can be enabled:
-complete=augroup autocmd groups
-complete=buffer buffer names
-complete=command Ex command (and arguments)
-complete=cscope |:cscope| suboptions
-complete=dir directory names
-complete=environment environment variable names
-complete=event autocommand events
@@ -1216,6 +1221,7 @@ completion can be enabled:
-complete=menu menus
-complete=option options
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
@@ -1285,7 +1291,8 @@ Possible attributes are:
-range Range allowed, default is current line
-range=% Range allowed, default is whole file (1,$)
-range=N A count (default N) which is specified in the line
number position (like |:split|)
number position (like |:split|); allows for zero line
number.
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like |:Next|).
Specifying -count (without a default) acts like -count=0

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.3. Last change: 2010 Jul 26
*mbyte.txt* For Vim version 7.3. Last change: 2011 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -280,7 +280,7 @@ Note that all encodings must use ASCII for the characters up to 128 (except
when compiled for EBCDIC).
Supported 'encoding' values are: *encoding-values*
1 latin1 8-bit characters (ISO 8859-1)
1 latin1 8-bit characters (ISO 8859-1, also used for cp1252)
1 iso-8859-n ISO_8859 variant (n = 2 to 15)
1 koi8-r Russian
1 koi8-u Ukrainian
@@ -336,7 +336,11 @@ For MS-Windows "cp{number}" means using codepage {number}.
Examples: >
:set encoding=8bit-cp1252
:set encoding=2byte-cp932
<
The MS-Windows codepage 1252 is very similar to latin1. For practical reasons
the same encoding is used and it's called latin1. 'isprint' can be used to
display the characters 0x80 - 0xA0 or not.
Several aliases can be used, they are translated to one of the names above.
An incomplete list:

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.3. Last change: 2010 Aug 10
*message.txt* For Vim version 7.3. Last change: 2011 Jan 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -65,7 +65,7 @@ or view a list of recent messages with: >
LIST OF MESSAGES
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
*E323* *E341* *E473* *E570* *E685* >
*E323* *E341* *E473* *E570* *E685* >
Add to read buffer
makemap: Illegal mode
Cannot create BalloonEval with both message and callback
@@ -481,8 +481,10 @@ Also see |msdos-limitations|.
*E339* >
Pattern too long
This only happens on systems with 16 bit ints: The compiled regexp pattern is
This happens on systems with 16 bit ints: The compiled regexp pattern is
longer than about 65000 characters. Try using a shorter pattern.
It also happens when the offset of a rule doesn't fit in the space available.
Try simplifying the pattern.
*E45* >
'readonly' option is set (add ! to override)

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.3. Last change: 2010 Jul 20
*mlang.txt* For Vim version 7.3. Last change: 2010 Dec 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -68,7 +68,7 @@ use of "-" and "_".
With the "ctype" argument the language used for
character encoding is set. This affects the libraries
that Vim was linked with. It's unusual to set this to
a different value from 'encoding'. This sets
a different value from 'encoding' or "C". This sets
$LC_CTYPE.
With the "time" argument the language used for time
and date messages is set. This affects strftime().

View File

@@ -1033,20 +1033,20 @@ The maximum number of entries is fixed at 100.
For example, after three jump commands you have this jump list:
jump line col file/line ~
jump line col file/text ~
3 1 0 some text ~
2 70 0 another line ~
1 1154 23 end. ~
> ~
The "file/line" column shows the file name, or the text at the jump if it is
The "file/text" column shows the file name, or the text at the jump if it is
in the current file (an indent is removed and a long line is truncated to fit
in the window).
You are currently in line 1167. If you then use the CTRL-O command, the
cursor is put in line 1154. This results in:
jump line col file/line ~
jump line col file/text ~
2 1 0 some text ~
1 70 0 another line ~
> 0 1154 23 end. ~
@@ -1076,7 +1076,7 @@ command. You can explicitly add a jump by setting the ' mark.
After the CTRL-O command that got you into line 1154 you could give another
jump command (e.g., "G"). The jump list would then become:
jump line col file/line ~
jump line col file/text ~
4 1 0 some text ~
3 70 0 another line ~
2 1167 0 foo bar ~

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -118,7 +118,8 @@ In case you do not want the NetBeans interface you can disable it by
uncommenting a line with "--disable-netbeans" in the Makefile.
Currently the NetBeans interface is supported by Vim running in a terminal and
by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif.
by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
Athena and Motif.
If Motif support is required the user must supply XPM libraries. See
|workshop-xpm| for details on obtaining the latest version of XPM.
@@ -819,7 +820,7 @@ These errors occur when a message violates the protocol:
==============================================================================
7. NetBeans commands *netbeans-commands*
*:nbstart* *E511*
*:nbstart* *E511* *E838*
:nbs[tart] {connection} Start a new Netbeans session with {connection} as the
socket connection parameters. The format of
{connection} is described in |netbeans-parameters|.

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2010 Aug 15
*options.txt* For Vim version 7.3. Last change: 2011 Apr 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -150,6 +150,18 @@ example, if Alt-b produces <Esc>b, use this: >
(the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
The advantage over a mapping is that it works in all situations.
You can define any key codes, e.g.: >
:set t_xy=^[foo;
There is no warning for using a name that isn't recognized. You can map these
codes as you like: >
:map <t_xy> something
< *E846*
When a key code is not set, it's like it does not exist. Trying to get its
value will result in an error: >
:set t_kb=
:set t_kb
E846: Key code not set: t_kb
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -361,6 +373,7 @@ Setting the filetype
settings and syntax files to be loaded.
{not in Vi}
*option-window* *optwin*
:bro[wse] se[t] *:set-browse* *:browse-set* *:opt* *:options*
:opt[ions] Open a window for viewing and setting all options.
Options are grouped by function.
@@ -1434,6 +1447,15 @@ A jump table for the options with a short description can be found at |Q_op|.
explicitly accessed using the "* notation. Also see
|gui-clipboard|.
unnamedplus A variant of "unnamed" flag which uses the clipboard
register '+' (|quoteplus|) instead of register '*' for
all operations except yank. Yank shall copy the text
into register '+' and also into '*' when "unnamed" is
included.
Only available with the |+X11| feature.
Availability can be checked with: >
if has('unnamedplus')
<
autoselect Works like the 'a' flag in 'guioptions': If present,
then whenever Visual mode is started, or the Visual
area extended, Vim tries to become the owner of the
@@ -1496,6 +1518,25 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Number of screen lines to use for the command-line window. |cmdwin|
*'colorcolumn'* *'cc'*
'colorcolumn' 'cc' string (default "")
local to window
{not in Vi}
{not available when compiled without the |+syntax|
feature}
'colorcolumn' is a comma separated list of screen columns that are
highlighted with ColorColumn |hl-ColorColumn|. Useful to align
text. Will make screen redrawing slower.
The screen column can be an absolute number, or a number preceded with
'+' or '-', which is added to or subtracted from 'textwidth'. >
:set cc=+1 " highlight column after 'textwidth'
:set cc=+1,+2,+3 " highlight three columns after 'textwidth'
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
<
When 'textwidth' is zero then the items with '-' and '+' are not used.
A maximum of 256 columns are highlighted.
*'columns'* *'co'* *E594*
'columns' 'co' number (default 80 or terminal width)
global
@@ -1680,7 +1721,8 @@ A jump table for the options with a short description can be found at |Q_op|.
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
invoked and what it should return.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
@@ -2817,13 +2859,14 @@ A jump table for the options with a short description can be found at |Q_op|.
2. If a <NL> is found and 'fileformats' includes "unix", 'fileformat'
is set to "unix". Note that when a <NL> is found without a
preceding <CR>, "unix" is preferred over "dos".
3. If 'fileformats' includes "mac", 'fileformat' is set to "mac".
This means that "mac" is only chosen when "unix" is not present,
or when no <NL> is found in the file, and when "dos" is not
present, or no <CR><NL> is present in the file.
Also if "unix" was first chosen, but the first <CR> is before
the first <NL> and there appears to be more <CR>'s than <NL>'s in
the file, then 'fileformat' is set to "mac".
3. If 'fileformat' has not yet been set, and if 'fileformats'
includes "mac", 'fileformat' is set to "mac".
This means that "mac" is only chosen when:
"unix" is not present or no <NL> is found in the file, and
"dos" is not present or no <CR><NL> is found in the file.
Except: if "unix" was chosen, but there is a <CR> before
the first <NL>, and there appear to be more <CR>s than <NL>s in
the first few lines, "mac" is used.
4. If 'fileformat' is still not set, the first name from
'fileformats' is used.
When reading a file into an existing buffer, the same is done, but
@@ -2831,6 +2874,9 @@ A jump table for the options with a short description can be found at |Q_op|.
file only, the option is not changed.
When 'binary' is set, the value of 'fileformats' is not used.
Note that when Vim starts up with an empty buffer this option is not
used. Set 'fileformat' in your .vimrc instead.
For systems with a Dos-like <EOL> (<CR><NL>), when reading files that
are ":source"ed and for vimrc files, automatic <EOL> detection may be
done:
@@ -3044,8 +3090,10 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the |+folding|
feature}
Sets the minimum number of screen lines for a fold to be displayed
closed. Also for manually closed folds.
Sets the number of screen lines above which a fold can be displayed
closed. Also for manually closed folds. With the default value of
one a fold can only be closed if it takes up two or more screen lines.
Set to zero to be able to close folds of just one screen line.
Note that this only has an effect of what is displayed. After using
"zc" to close a fold, which is displayed open because it's smaller
than 'foldminlines', a following "zc" may close a containing fold.
@@ -3070,6 +3118,10 @@ A jump table for the options with a short description can be found at |Q_op|.
Specifies for which type of commands folds will be opened, if the
command moves the cursor into a closed fold. It is a comma separated
list of items.
NOTE: When the command is part of a mapping this option is not used.
Add the |zv| command to the mapping to get the same effect.
(rationale: the mapping may want to control opening folds itself)
item commands ~
all any
block "(", "{", "[[", "[{", etc.
@@ -3084,8 +3136,6 @@ A jump table for the options with a short description can be found at |Q_op|.
Also for |[s| and |]s|.
tag jumping to a tag: ":ta", CTRL-T, etc.
undo undo or redo: "u" and CTRL-R
When the command is part of a mapping this option is not used. Add
the |zv| command to the mapping to get the same effect.
When a movement command is used for an operator (e.g., "dl" or "y%")
this option is not used. This means the operator will include the
whole closed fold.
@@ -3186,7 +3236,8 @@ A jump table for the options with a short description can be found at |Q_op|.
the internal format mechanism.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
|sandbox-option|. That stops the option from working, since changing
the buffer text is not allowed.
*'fsync'* *'fs'*
'fsync' 'fs' boolean (default on)
@@ -4270,6 +4321,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"echo &key". This is to avoid showing it to someone who shouldn't
know. It also means you cannot see it yourself once you have set it,
be careful not to make a typing error!
You can use "&key" in an expression to detect whether encryption is
enabled. When 'key' is set it returns "*****" (five stars).
*'keymap'* *'kmp'* *E544*
'keymap' 'kmp' string (default "")
@@ -4601,25 +4654,6 @@ A jump table for the options with a short description can be found at |Q_op|.
< This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'colorcolumn'* *'cc'*
'colorcolumn' 'cc' string (default "")
local to window
{not in Vi}
{not available when compiled without the |+syntax|
feature}
'colorcolumn' is a comma separated list of screen columns that are
highlighted with ColorColumn |hl-ColorColumn|. Useful to align
text. Will make screen redrawing slower.
The screen column can be an absolute number, or a number preceded with
'+' or '-', which is added to or subtracted from 'textwidth'. >
:set cc=+1 " highlight column after 'textwidth'
:set cc=+1,+2,+3 " highlight three columns after 'textwidth'
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
<
When 'textwidth' is zero then the items with '-' and '+' are not used.
A maximum of 256 columns are highlighted.
*'matchpairs'* *'mps'*
'matchpairs' 'mps' string (default "(:),{:},[:]")
local to buffer
@@ -5873,9 +5907,10 @@ A jump table for the options with a short description can be found at |Q_op|.
For Unix the default it "| tee". The stdout of the compiler is saved
in a file and echoed to the screen. If the 'shell' option is "csh" or
"tcsh" after initializations, the default becomes "|& tee". If the
'shell' option is "sh", "ksh", "zsh" or "bash" the default becomes
"2>&1| tee". This means that stderr is also included. Before using
the 'shell' option a path is removed, thus "/bin/sh" uses "sh".
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
default becomes "2>&1| tee". This means that stderr is also included.
Before using the 'shell' option a path is removed, thus "/bin/sh" uses
"sh".
The initialization of this option is done after reading the ".vimrc"
and the other initializations, so that when the 'shell' option is set
there, the 'shellpipe' option changes automatically, unless it was
@@ -6228,8 +6263,9 @@ A jump table for the options with a short description can be found at |Q_op|.
Do smart autoindenting when starting a new line. Works for C-like
programs, but can also be used for other languages. 'cindent' does
something like this, works better in most cases, but is more strict,
see |C-indenting|. When 'cindent' is on, setting 'si' has no effect.
'indentexpr' is a more advanced alternative.
see |C-indenting|. When 'cindent' is on or 'indentexpr' is set,
setting 'si' has no effect. 'indentexpr' is a more advanced
alternative.
Normally 'autoindent' should also be on when using 'smartindent'.
An indent is automatically inserted:
- After a line ending in '{'.
@@ -6467,7 +6503,7 @@ A jump table for the options with a short description can be found at |Q_op|.
where it was the last time the buffer was edited.
NOTE: This option is set when 'compatible' is set.
*'statusline'* *'stl'* *E540* *E541* *E542*
*'statusline'* *'stl'* *E540* *E542*
'statusline' 'stl' string (default empty)
global or local to window |global-local|
{not in Vi}
@@ -6480,7 +6516,7 @@ A jump table for the options with a short description can be found at |Q_op|.
normal text. Each status line item is of the form:
%-0{minwid}.{maxwid}{item}
All fields except the {item} is optional. A single percent sign can
be given as "%%". Up to 80 items can be specified.
be given as "%%". Up to 80 items can be specified. *E541*
When the option starts with "%!" then it is used as an expression,
evaluated and the result is used as the option value. Example: >
@@ -6533,7 +6569,7 @@ A jump table for the options with a short description can be found at |Q_op|.
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
being used: "<keymap>"
n N Buffer number.
b N Value of byte under cursor.
b N Value of character under cursor.
B N As above, in hexadecimal.
o N Byte number in file of byte under cursor, first byte is 1.
Mnemonic: Offset from start of file (with one added)
@@ -7530,8 +7566,8 @@ A jump table for the options with a short description can be found at |Q_op|.
! When included, save and restore global variables that start
with an uppercase letter, and don't contain a lowercase
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
and "_K_L_M" are not. Only String and Number types are
stored.
and "_K_L_M" are not. Nested List and Dict items may not be
read back correctly, you end up with an empty item.
" Maximum number of lines saved for each register. Old name of
the '<' item, with the disadvantage that you need to put a
backslash before the ", otherwise it will be recognized as the
@@ -7747,6 +7783,17 @@ A jump table for the options with a short description can be found at |Q_op|.
a pattern from the list. This avoids problems when a future version
uses another default.
*'wildignorecase'* *'wic'* *'nowildignorecase'* *'nowic'*
'wildignorecase' 'wic' boolean (default off)
global
{not in Vi}
When set case is ignored when completing file names and directories.
Has no effect on systems where file name case is generally ignored.
Does not apply when the shell is used to expand wildcards, which
happens when there are special characters.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off)
global

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.3. Last change: 2010 Jul 28
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
VIM REFERENCE MANUAL
@@ -675,7 +675,7 @@ slow when user wants to run Vim just in the console mode - because of X environm
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim72
|- vim73
|----- doc
|----- syntax
vimrc (system rc files)
@@ -685,7 +685,7 @@ both GUI/GTK build and just console build executables, like below: >
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
$ vi*m :== mcr VIM:VIM.EXE
$ gvi*m :== mcr VIM:GVIM.EXE
$ ! or you can try to spawn with
@@ -755,7 +755,7 @@ Solution 2. Different directories: >
$ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
$ endif
$! VIMRUNTIME must be defined in order to find runtime files
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
A good example for this approach is the [GNU]gnu_tools.com script from
GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.3. Last change: 2010 Jul 20
*os_win32.txt* For Vim version 7.3. Last change: 2010 Dec 19
VIM REFERENCE MANUAL by George Reilly
@@ -313,6 +313,7 @@ A. When using :! to run an external command, you can run it with "start": >
with :!start do not get passed Vim's open file handles, which means they do
not have to be closed before Vim.
To avoid this special treatment, use ":! start".
The optional "/min" argument causes the window to be minimized.
Q. I'm using Win32s, and when I try to run an external command like "make",
Vim doesn't wait for it to finish! Help!

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.3. Last change: 2010 Jul 20
*pattern.txt* For Vim version 7.3. Last change: 2011 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -214,7 +214,8 @@ The last used pattern and offset are remembered. They can be used to repeat
the search, possibly in another direction or with another count. Note that
two patterns are remembered: One for 'normal' search commands and one for the
substitute command ":s". Each time an empty pattern is given, the previously
used pattern is used.
used pattern is used. However, if there is no previous search command, a
previous substitute pattern is used, if possible.
The 'magic' option sticks with the last used pattern. If you change 'magic',
this will not change how the last used pattern will be interpreted.
@@ -650,6 +651,13 @@ overview.
"foobar" you could use "\(foo\)\@!...bar", but that doesn't match a
bar at the start of a line. Use "\(foo\)\@<!bar".
Useful example: to find "foo" in a line that does not contain "bar": >
/^\%(.*bar\)\@!.*\zsfoo
< This pattern first checks that there is not a single position in the
line where "bar" matches. If ".*bar" matches somewhere the \@! will
reject the pattern. When there is no match any "foo" will be found.
The "\zs" is to have the match start just before "foo".
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
follows. |/zero-width| {not in Vi}

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.3. Last change: 2010 Jul 28
*pi_netrw.txt* For Vim version 7.3. Last change: 2011 Apr 01
-----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright*
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, netrw.vim,
@@ -41,7 +41,7 @@ Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
NETRC..............................................|netrw-netrc|
PASSWORD...........................................|netrw-passwd|
5. Activation...........................................|netrw-activate|
6. Transparent File Editing.............................|netrw-transparent|
6. Transparent Remote File Editing......................|netrw-transparent|
7. Ex Commands..........................................|netrw-ex|
8. Variables and Options................................|netrw-var|
9. Browsing.............................................|netrw-browse|
@@ -65,6 +65,7 @@ Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
Displaying Information About File..................|netrw-qf|
Edit File Or Directory Hiding List.................|netrw-ctrl-h|
Editing The Sorting Sequence.......................|netrw-S|
Forcing treatment as a file or directory...........|netrw-gd| |netrw-gf|
Going Up...........................................|netrw--|
Hiding Files Or Directories........................|netrw-a|
Improving Browsing.................................|netrw-ssh-hack|
@@ -180,19 +181,19 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
Protocol Variable Default Value
-------- ---------------- -------------
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
*g:netrw_http_xcmd* : the option string for http://... protocols are
specified via this variable and may be independently overridden. By
@@ -500,7 +501,23 @@ that file. Your ftp must be able to use the <.netrc> file on its own, however.
>
vim ftp://[user@]machine[[:#]portnumber]/path
<
However, ftp will often need to query the user for the userid and password.
Windows provides an ftp (typically c:\Windows\System32\ftp.exe) which uses
an option, -s:filename (filename can and probably should be a full path)
which contains ftp commands which will be automatically run whenever ftp
starts. You may use this feature to enter a user and password for one site: >
userid
password
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines only)
netrw will substitute the current machine name requested for ftp connection
for MACHINE. Hence one can have multiple machine.ftp files containing login
and password for ftp. Example: >
g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
vim ftp://myhost.somewhere.net/
will use a file >
C:\Users\Myself\myhost.ftp
<
Often, ftp will need to query the user for the userid and password.
The latter will be done "silently"; ie. asterisks will show up instead of
the actually-typed-in password. Netrw will retain the userid and password
for subsequent read/writes from the most recent transfer so subsequent
@@ -624,7 +641,7 @@ your <.vimrc> customization file: >
<
==============================================================================
6. Transparent File Editing *netrw-transparent* {{{1
6. Transparent Remote File Editing *netrw-transparent* {{{1
Transparent file transfers occur whenever a regular file read or write
(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
@@ -1225,7 +1242,7 @@ CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
Every time you change to a new directory (new for the current session),
netrw will save the directory in a recently-visited directory history
list (unless g:netrw_dirhistmax is zero; by default, it's ten). With the
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
"u" map, one can change to an earlier directory (predecessor). To do
the opposite, see |netrw-U|.
@@ -1527,6 +1544,19 @@ Related topics: |netrw-s| |netrw-S|
Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
Remote symbolic links (ie. those listed via ssh or ftp) are problematic
in that it is difficult to tell whether they link to a file or to a
directory.
To force treatment as a file: use >
gd
<
To force treatment as a directory: use >
gf
<
GOING UP *netrw--* {{{2
To go up a directory, press "-" or press the <cr> when atop the ../ directory
@@ -1740,6 +1770,16 @@ the cursor atop a marked file and press "mf". This process also works
with <s-leftmouse> using gvim. One may unmark all files by pressing
"mu" (see |netrw-mu|).
Marked files are highlighted using the "netrwMarkFile" highlighting group,
which by default is linked to "Identifier" (see Identifier under
|group-name|). You may change the highlighting group by putting something
like >
highlight clear netrwMarkFile
hi link netrwMarkFile ..whatever..
<
into $HOME/.vim/after/syntax/netrw.vim .
*markfilelist* *global_markfilelist* *local_markfilelist*
All marked files are entered onto the global marked file list; there is only
one such list. In addition, every netrw buffer also has its own local marked
@@ -1789,7 +1829,8 @@ MARKED FILES: COPYING *netrw-mc* {{{2
(Uses the global marked file list)
Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mc".
select file(s) (see |netrw-mf|), and press "mc". The copy is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
@@ -1841,7 +1882,8 @@ MARKED FILES: MOVING *netrw-mm* {{{2
Use at your own risk!
Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mm".
select file(s) (see |netrw-mf|), and press "mm". The move is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
@@ -1922,21 +1964,21 @@ your browsing preferences. (see also: |netrw-settings|)
--- -----------
Var Explanation
--- -----------
< *g:netrw_alto* change from above splitting to below splitting
< *g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|)
default: =&sb (see |'sb'|)
*g:netrw_altv* change from left splitting to right splitting
*g:netrw_altv* change from left splitting to right splitting
by setting this variable (see |netrw-v|)
default: =&spr (see |'spr'|)
*g:netrw_banner* enable/suppress the banner
*g:netrw_banner* enable/suppress the banner
=0: suppress the banner
=1: banner is enabled (default)
NOTE: suppressing the banner is a new feature
which may cause problems.
*g:netrw_browse_split* when browsing, <cr> will open the file by:
*g:netrw_browse_split* when browsing, <cr> will open the file by:
=0: re-using the same window
=1: horizontally splitting the window first
=2: vertically splitting the window first
@@ -1946,7 +1988,7 @@ your browsing preferences. (see also: |netrw-settings|)
to get vertical splitting instead of
horizontal splitting.
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
"kfmclient exec"
"gnome-open"
< If >
@@ -1955,35 +1997,48 @@ your browsing preferences. (see also: |netrw-settings|)
a script/function to handle the given
extension. (see |netrw_filehandler|).
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
Windows: "cacls FILENAME /e /p PERM"
Used to change access permission for a file.
*g:netrw_compress* ="gzip"
*g:netrw_compress* ="gzip"
Will compress marked files with this
command
*g:netrw_ctags* ="ctags"
*g:netrw_ctags* ="ctags"
The default external program used to create tags
*g:netrw_cursorline* = 1 (default)
will use the |'cursorline'| local setting when
|g:netrw_liststyle| ==0 (thin listing) or
|g:netrw_liststyle| ==1 (long listing) or
|g:netrw_liststyle| ==3 (tree listing)
(ie. doesn't affect the wide listing)
=0: off
=2: like ==1, but the wide listing gets both
cursorline and |'cursorcolumn'|locally set
*g:netrw_cursor* = 2 (default)
This option controls the use of the
|'cursorline'| (cul) and |'cursorcolumn'|
(cuc) settings by netrw:
*g:netrw_decompress* = { ".gz" : "gunzip" ,
Value Thin-Long-Tree Wide
=0 u-cul u-cuc u-cul u-cuc
=1 u-cul u-cuc cul u-cuc
=2 cul u-cuc cul u-cuc
=3 cul u-cuc cul cuc
=4 cul cuc cul cuc
Where
u-cul : user's |'cursorline'| setting used
u-cuc : user's |'cursorcolumn'| setting used
cul : |'cursorline'| locally set
cuc : |'cursorcolumn'| locally set
*g:netrw_decompress* = { ".gz" : "gunzip" ,
".bz2" : "bunzip2" ,
".zip" : "unzip" ,
".tar" : "tar -xf"}
A dictionary mapping suffices to
decompression programs.
*g:netrw_fastbrowse* =0: slow speed directory browsing;
*g:netrw_dirhistmax* =10: controls maximum quantity of past
history. May be zero to supppress
history.
(related: |netrw-qb| |netrw-u| |netrw-U|)
*g:netrw_fastbrowse* =0: slow speed directory browsing;
never re-uses directory listings,
always obtains directory listings.
=1: medium speed directory browsing;
@@ -2007,10 +2062,10 @@ your browsing preferences. (see also: |netrw-settings|)
trading off accuracy (ie. up-to-date listing)
versus speed.
*g:netrw_fname_escape* =' ?&;%'
*g:netrw_fname_escape* =' ?&;%'
Used on filenames before remote reading/writing
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
that can show up as "directories" and "files"
in the listing. This pattern is used to
remove such embedded messages. By default its
@@ -2023,87 +2078,87 @@ your browsing preferences. (see also: |netrw-settings|)
: connect to address [0-9a-fA-F:]*
: No route to host$'
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir"
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
listing, sorted by size of file.
Defaults:
unix or g:netrw_cygwin set: : "ls -slF"
otherwise "dir"
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
listing, sorted by time of last modification.
Defaults:
unix or g:netrw_cygwin set: : "ls -tlF"
otherwise "dir"
*g:netrw_glob_escape* ='[]*?`{~$' (unix)
*g:netrw_glob_escape* ='[]*?`{~$' (unix)
='[]*?`{$' (windows
These characters in directory names are
escaped before applying glob()
*g:netrw_hide* if true, the hiding list is used
*g:netrw_hide* if true, the hiding list is used
default: =0
*g:netrw_home* The home directory for where bookmarks and
*g:netrw_home* The home directory for where bookmarks and
history are saved (as .netrwbook and
.netrwhist).
default: the first directory on the
|'runtimepath'|
*g:netrw_keepdir* =1 (default) keep current directory immune from
*g:netrw_keepdir* =1 (default) keep current directory immune from
the browsing directory.
=0 keep the current directory the same as the
browsing directory.
The current browsing directory is contained in
b:netrw_curdir (also see |netrw-c|)
*g:netrw_list_cmd* command for listing remote directories
*g:netrw_list_cmd* command for listing remote directories
default: (if ssh is executable)
"ssh HOSTNAME ls -FLa"
*g:netrw_liststyle* Set the default listing style:
*g:netrw_liststyle* Set the default listing style:
= 0: thin listing (one file per line)
= 1: long listing (one file per line with time
stamp information and file size)
= 2: wide listing (multiple files in columns)
= 3: tree style listing
*g:netrw_list_hide* comma separated pattern list for hiding files
*g:netrw_list_hide* comma separated pattern list for hiding files
Patterns are regular expressions (see |regexp|)
Example: let g:netrw_list_hide= '.*\.swp$'
default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
="copy" Windows
Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
="move" Windows
Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|)
*g:netrw_local_mkdir* command for making a local directory
*g:netrw_local_mkdir* command for making a local directory
default: "mkdir"
*g:netrw_local_rmdir* remove directory command (rmdir)
*g:netrw_local_rmdir* remove directory command (rmdir)
default: "rmdir"
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
listings fit on 80 column displays.
If your screen is wider, and you have file
or directory names longer than 32 bytes,
you may set this option to keep listings
columnar.
*g:netrw_mkdir_cmd* command for making a remote directory
*g:netrw_mkdir_cmd* command for making a remote directory
default: "ssh USEPORT HOSTNAME mkdir"
*g:netrw_mousemaps* =1 (default) enables the mouse buttons
*g:netrw_mousemaps* =1 (default) enables the mouse buttons
while browsing:
leftmouse : open file/directory
shift-leftmouse : mark file
@@ -2111,7 +2166,7 @@ your browsing preferences. (see also: |netrw-settings|)
rightmouse : remove file/directory
=0: disables mouse maps
*g:netrw_retmap* if it exists and is set to one, then:
*g:netrw_retmap* if it exists and is set to one, then:
* if in a netrw-selected file, AND
* no normal-mode <2-leftmouse> mapping exists,
then the <2-leftmouse> will be mapped for easy
@@ -2130,22 +2185,22 @@ your browsing preferences. (see also: |netrw-settings|)
default: =0
*g:netrw_rm_cmd* command for removing files
*g:netrw_rm_cmd* command for removing files
default: "ssh USEPORT HOSTNAME rm"
*g:netrw_rmdir_cmd* command for removing directories
*g:netrw_rmdir_cmd* command for removing directories
default: "ssh USEPORT HOSTNAME rmdir"
*g:netrw_rmf_cmd* command for removing softlinks
*g:netrw_rmf_cmd* command for removing softlinks
default: "ssh USEPORT HOSTNAME rm -f"
*g:netrw_sort_by* sort by "name", "time", or "size"
*g:netrw_sort_by* sort by "name", "time", or "size"
default: "name"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
default: "normal"
*g:netrw_sort_options* sorting is done using |:sort|; this
*g:netrw_sort_options* sorting is done using |:sort|; this
variable's value is appended to the
sort command. Thus one may ignore case,
for example, with the following in your
@@ -2153,14 +2208,14 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_sort_options="i"
< default: ""
*g:netrw_sort_sequence* when sorting by name, first sort by the
*g:netrw_sort_sequence* when sorting by name, first sort by the
comma-separated pattern sequence. Note that
the filigree added to indicate filetypes
should be accounted for in your pattern.
default: '[\/]$,*,\.bak$,\.o$,\.h$,
\.info$,\.swp$,\.obj$'
*g:netrw_special_syntax* If true, then certain files will be shown
*g:netrw_special_syntax* If true, then certain files will be shown
in special syntax in the browser:
netrwBak : *.bak
@@ -2171,7 +2226,7 @@ your browsing preferences. (see also: |netrw-settings|)
netrwMakefile: [mM]akefile *.mak
netrwObj : *.o *.obj
netrwTags : tags ANmenu ANtags
netrwTilde : *~
netrwTilde : *~
netrwTmp : tmp* *tmp
These syntax highlighting groups are linked
@@ -2182,12 +2237,12 @@ your browsing preferences. (see also: |netrw-settings|)
< into one's <.vimrc> to use one's own
preferences.
*g:netrw_ssh_cmd* One may specify an executable command
*g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions
such as listing, file removal, etc.
default: ssh
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files".
Use this pattern to remove such embedded
@@ -2195,11 +2250,11 @@ your browsing preferences. (see also: |netrw-settings|)
'^total\s\+\d\+$'
*g:netrw_tmpfile_escape* =' &;'
*g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files
to escape these characters.
*g:netrw_timefmt* specify format string to vim's strftime().
*g:netrw_timefmt* specify format string to vim's strftime().
The default, "%c", is "the preferred date
and time representation for the current
locale" according to my manpage entry for
@@ -2209,7 +2264,7 @@ your browsing preferences. (see also: |netrw-settings|)
" %a %Y-%m-%d %I-%M-%S %p"
default: "%c"
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
for browser buffers. However, under some
systems this apparently is causing nasty
ml_get errors to appear; if you're getting
@@ -2217,12 +2272,12 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_use_noswf= 0
in your .vimrc.
*g:netrw_winsize* specify initial size of new windows made with
*g:netrw_winsize* specify initial size of new windows made with
"o" (see |netrw-o|), "v" (see |netrw-v|),
|:Hexplore| or |:Vexplore|.
default: ""
*g:netrw_xstrlen* Controls how netrw computes string lengths,
*g:netrw_xstrlen* Controls how netrw computes string lengths,
including multi-byte characters' string
length. (thanks to N Weibull, T Mechelynck)
=0: uses Vim's built-in strlen()
@@ -2238,7 +2293,7 @@ your browsing preferences. (see also: |netrw-settings|)
immediately preceded by lam, one
otherwise, etc)
*g:NetrwTopLvlMenu* This variable specifies the top level
*g:NetrwTopLvlMenu* This variable specifies the top level
menu name; by default, it's "Netrw.". If
you wish to change this, do so in your
.vimrc.
@@ -2254,7 +2309,7 @@ file you edit; this apparently also applies to directories. In other words,
autochdir sets the current directory to that containing the "file" (even if
that "file" is itself a directory).
NETRW SETTINGS *netrw-settings* {{{2
NETRW BROWSER SETTINGS *netrw-settings* {{{2
With the NetrwSettings.vim plugin, >
:NetrwSettings
@@ -2298,6 +2353,7 @@ Related topics:
directory, see |g:netrw_keepdir|.
*netrw-createfile*
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
To open a file in netrw's current directory, press "%". This map will
@@ -2655,13 +2711,13 @@ Associated setting variables: |g:netrw_chgwin|
==============================================================================
11. Debugging Netrw Itself *netrw-debug* {{{1
The <netrw.vim> script is typically available as:
The <netrw.vim> script is typically available as something like:
>
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
<
which is loaded automatically at startup (assuming :set nocp).
@@ -2706,6 +2762,16 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
12. History *netrw-history* {{{1
v141: Aug 28, 2010 * added -s:... support for Windows ftp
* restored 2-leftmouse for :Rex-like return
* added balloon help for banner
Oct 26, 2010 * :Texplore changed to start from netrw's idea
of the current directory, not pwd's
Feb 10, 2011 * netrwPlugin modified to use BufReadCmd
when the "filename" ends with a "/" or a "\"
Avoids "... is a directory" message, works
inside a try-catch-endtry clause.
Feb 22, 2011 * for menus, &go =~# used to insure correct case
v140: Jul 27, 2010 * (Lech Lorens) unexpected change of window
v139: May 14, 2010 * when viewing remote directory listings and
changing listing style, going to tree listing
@@ -2732,7 +2798,7 @@ which is loaded automatically at startup (assuming :set nocp).
v137: Dec 28, 2009 * modified the preview window handling for
vertically split windows. The preview
window will take up all but g:netrw_winsize
columns of the original window; those
columns of the original window; those
g:netrw_winsize columns will be used for
the netrw listing.
* (Simon Dambe) removed "~" from

View File

@@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Aug 09
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Nov 03
+====================+
| Tar File Interface |
@@ -60,11 +60,11 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
<.vimrc> file.
Default
Variable Value Explanation
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
"--"s will be used to prevent unwanted
option expansion in tar commands.
Please be sure that your tar command
@@ -76,7 +76,7 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
"-"
Not all tar's support the "--" which is why
it isn't default.
*g:tar_writeoptions* "uf" used to update/replace a file
*g:tar_writeoptions* "uf" used to update/replace a file
==============================================================================

View File

@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Apr 12
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Sep 14
+====================+
| Zip File Interface |
@@ -64,12 +64,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
If for some reason you do not wish to use vim to examine zipped files,
you may put the following two variables into your <.vimrc> to prevent
the tar plugin from loading: >
the zip plugin from loading: >
let g:loaded_zipPlugin= 1
let g:loaded_zip = 1
<
<
==============================================================================
3. Additional Extensions *zip-extension*

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.3. Last change: 2010 Jul 20
*quickfix.txt* For Vim version 7.3. Last change: 2011 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -546,6 +546,14 @@ descriptors when searching many files. However, when the |:hide| command
modifier is used the buffers are kept loaded. This makes following searches
in the same files a lot faster.
Note that |:copen| (or |:lopen| for |:lgrep|) may be used to open a buffer
containing the search results in linked form. The |:silent| command may be
used to suppress the default full screen grep output. The ":grep!" form of
the |:grep| command doesn't jump to the first match automatically. These
commands can be combined to create a NewGrep command: >
command! -nargs=+ NewGrep execute 'silent grep! <args>' | copen 42
5.1 using Vim's internal grep

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.3. Last change: 2010 Jul 24
*quickref.txt* For Vim version 7.3. Last change: 2010 Dec 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -934,6 +934,7 @@ Short explanation of each option: *option-list*
'wildchar' 'wc' command-line character for wildcard expansion
'wildcharm' 'wcm' like 'wildchar' but also works when mapped
'wildignore' 'wig' files matching these patterns are not completed
'wildignorecase' 'wic' ignore case when completing file names
'wildmenu' 'wmnu' use menu for command line completion
'wildmode' 'wim' mode for 'wildchar' command-line expansion
'wildoptions' 'wop' specifies how command line completion is done
@@ -1091,11 +1092,11 @@ Context-sensitive completion on the command-line:
|:_#| #[num] alternate file name [num] (only where a file name is
expected)
Note: The next seven are typed literally; these are not special keys!
|:<afile>| <abuf> buffer number, for use in an autocommand (only where a
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
file name is expected)
|:<afile>| <afile> file name, for user in an autocommand (only where a
|:<afile>| <afile> file name, for use in an autocommand (only where a
file name is expected)
|:<afile>| <amatch> what matched with the pattern, for use in an
|:<amatch>| <amatch> what matched with the pattern, for use in an
autocommand (only where a file name is expected)
|:<cword>| <cword> word under the cursor (only where a file name is
expected)
@@ -1377,7 +1378,7 @@ Context-sensitive completion on the command-line:
set foldmethod=indent folding by indent
set foldmethod=expr folding by 'foldexpr'
set foldmethod=syntax folding by syntax regions
set foldmethod=marker folding by 'foldmarkers'
set foldmethod=marker folding by 'foldmarker'
|zf| zf{motion} operator: Define a fold manually
|:fold| :{range}fold define a fold for {range} lines

View File

@@ -1,4 +1,4 @@
*quotes.txt* For Vim version 7.3. Last change: 2006 Apr 24
*quotes.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -260,15 +260,16 @@ Eccettuato, Italy)
In summary:
__ ___ _ _ _ ___ _____
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _|
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || |
\ V / | | | | | | | | \__ \ | _ | |_| || |
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_|
____ _____ _ _ _____ _____ _ _
/ ___|_ _| | | | ___| ___| | |
\___ \ | | | | | | |_ | |_ | | |
___) || | | |_| | _| | _| |_|_|
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia)
__ ___ _ _ _ ___ _____ `
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| `
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || | `
\ V / | | | | | | | | \__ \ | _ | |_| || | `
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| `
____ _____ _ _ _____ _____ _ _ `
/ ___|_ _| | | | ___| ___| | | `
\___ \ | | | | | | |_ | |_ | | | `
___) || | | |_| | _| | _| |_|_| `
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) `
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.3. Last change: 2009 Nov 04
*repeat.txt* For Vim version 7.3. Last change: 2011 Jan 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -102,7 +102,7 @@ To abort this type CTRL-C twice.
q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
(uppercase to append). The 'q' command is disabled
while executing a register, and it doesn't work inside
a mapping. {Vi: no recording}
a mapping and |:normal|. {Vi: no recording}
q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless
@@ -112,9 +112,13 @@ q Stops recording. (Implementation note: The 'q' that
@{0-9a-z".=*} Execute the contents of register {0-9a-z".=*} [count]
times. Note that register '%' (name of the current
file) and '#' (name of the alternate file) cannot be
used. For "@=" you are prompted to enter an
expression. The result of the expression is then
executed. See also |@:|. {Vi: only named registers}
used.
The register is executed like a mapping, that means
that the difference between 'wildchar' and 'wildcharm'
applies.
For "@=" you are prompted to enter an expression. The
result of the expression is then executed.
See also |@:|. {Vi: only named registers}
*@@* *E748*
@@ Repeat the previous @{0-9a-z":*} [count] times.

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 7.3. Last change: 2010 May 07
*sign.txt* For Vim version 7.3. Last change: 2010 Oct 14
VIM REFERENCE MANUAL by Gordon Prieur
@@ -70,7 +70,8 @@ DEFINING A SIGN. *:sign-define* *E255* *E160* *E612*
:sign define {name} {argument}...
Define a new sign or set attributes for an existing sign.
The {name} can either be a number (all digits) or a name
starting with a non-digit.
starting with a non-digit. Leading digits are ignored, thus
"0012", "012" and "12" are considered the same name.
About 120 different signs can be defined.
Accepted arguments:

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.3. Last change: 2010 Apr 11
*spell.txt* For Vim version 7.3. Last change: 2011 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -335,6 +335,9 @@ A spell file might not be available in the current 'encoding'. See
|spell-mkspell| about how to create a spell file. Converting a spell file
with "iconv" will NOT work!
Note: on VMS ".{enc}.spl" is changed to "_{enc}.spl" to avoid trouble with
filenames.
*spell-sug-file* *E781*
If there is a file with exactly the same name as the ".spl" file but ending in
".sug", that file will be used for giving better suggestions. It isn't loaded
@@ -519,7 +522,7 @@ then Vim will try to guess.
Up to eight regions can be combined. *E754* *E755*
The REP and SAL items of the first .aff file where
they appear are used. |spell-REP| |spell-SAL|
*E845*
This command uses a lot of memory, required to find
the optimal word tree (Polish, Italian and Hungarian
require several hundred Mbyte). The final result will

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.3. Last change: 2009 Dec 31
*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -95,14 +95,14 @@ exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
(normally not installed)
view vim -R Start in read-only mode (see |-R|). *view*
gvim vim -g Start the GUI (see |gui|). *gvim*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
rview vim -RZ Like "view", but in restricted mode. *rview*
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
rview vim -RZ Like "view", but in restricted mode. *rview*
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
eview vim -yR Like "evim" in read-only mode *eview*
eview vim -yR Like "evim" in read-only mode *eview*
vimdiff vim -d Start in diff mode |diff-mode|
gvimdiff vim -gd Start in diff mode |diff-mode|
@@ -244,7 +244,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
etc.
delete(), rename(), mkdir(), writefile(), libcall(), etc.
{not in Vi}
*-g*
@@ -869,6 +869,7 @@ accordingly. Vim proceeds in this order:
12. Execute startup commands
If a "-t" flag was given to Vim, the tag is jumped to.
The commands given with the |-c| and |+cmd| arguments are executed.
The starting flag is reset, has("vim_starting") will now return zero.
If the 'insertmode' option is set, Insert mode is entered.
The |VimEnter| autocommands are executed.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2010 Aug 10
*syntax.txt* For Vim version 7.3. Last change: 2011 Apr 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -390,10 +390,10 @@ Or use the ":TOhtml" user command. It is defined in a standard plugin.
:10,40TOhtml
Warning: This is slow! The script must process every character of every line.
Because it is so slow, by default a progress bar is displayed in the
statusline for each step that usually takes a long time. If you don't like
seeing this progress bar, you can disable it and get a very minor speed
Warning: This can be slow! The script must process every character of every
line. Because it can take a long time, by default a progress bar is displayed
in the statusline for each major step in the conversion process. If you don't
like seeing this progress bar, you can disable it and get a very minor speed
improvement with: >
let g:html_no_progress = 1
@@ -468,47 +468,107 @@ disabled javascript to view closed folds. To use this option, use: >
Setting html_no_foldcolumn with html_dynamic_folds will automatically set
html_hover_unfold, because otherwise the folds wouldn't be dynamic.
By default "<pre>" and "</pre>" is used around the text. This makes it show
up as you see it in Vim, but without wrapping. If you prefer wrapping, at the
risk of making some things look a bit different, use: >
By default "<pre>" and "</pre>" are used around the text. When 'wrap' is set
in the window being converted, the CSS 2.0 "white-space:pre-wrap" value is
used to wrap the text. You can explicitly enable the wrapping with: >
:let g:html_pre_wrap = 1
or disable with >
:let g:html_pre_wrap = 0
This generates HTML that looks very close to the Vim window, but unfortunately
there can be minor differences such as the lack of a 'showbreak' option in in
the HTML, or where line breaks can occur.
Another way to obtain text wrapping in the HTML, at the risk of making some
things look even more different, is to use: >
:let g:html_no_pre = 1
This will use <br> at the end of each line and use "&nbsp;" for repeated
spaces.
spaces. Doing it this way is more compatible with old browsers, but modern
browsers support the "white-space" method.
The current value of 'encoding' is used to specify the charset of the HTML
file. This only works for those values of 'encoding' that have an equivalent
HTML charset name. To overrule this set g:html_use_encoding to the name of
the charset to be used: >
:let g:html_use_encoding = "foobar"
To omit the line that specifies the charset, set g:html_use_encoding to an
empty string: >
If you do stick with the default "<pre>" tags, <Tab> characters in the text
are included in the generated output if they will have no effect on the
appearance of the text and it looks like they are in the document
intentionally. This allows for the HTML output to be copied and pasted from a
browser without losing the actual whitespace used in the document.
Specifically, <Tab> characters will be included if the 'tabstop' option is set
to the default of 8, 'expandtab' is not set, and if neither the foldcolumn nor
the line numbers are included in the HTML output (see options above). When any
of these conditions are not met, any <Tab> characters in the text are expanded
to the appropriate number of spaces in the HTML output.
When "<pre>" is included, you can force |:TOhtml| to keep the tabs even if the
other conditions are not met with: >
:let g:html_expand_tabs = 0
Note that this can easily break text alignment and indentation in the HTML.
Force tabs to be expanded even when they would be kept using: >
:let g:html_expand_tabs = 1
For diff mode on a single file (with g:html_diff_one_file) a sequence of more
than 3 filler lines is displayed as three lines with the middle line
mentioning the total number of inserted lines. If you prefer to see all the
inserted lines as with the side-by-side diff, use: >
:let g:html_whole_filler = 1
And to go back to displaying up to three lines again: >
:unlet g:html_whole_filler
For most buffers, TOhtml uses the current value of 'fileencoding' if set, or
'encoding' if not, to determine the charset and 'fileencoding' of the HTML
file. 'encoding' is always used for certain 'buftype' values. In general, this
works for the encodings mentioned specifically by name in |encoding-names|,
but TOhtml will only automatically use those encodings which are widely
supported. However, you can override this to support specific encodings that
may not be automatically detected by default.
To overrule all automatic charset detection, set g:html_use_encoding to the
name of the charset to be used. TOhtml will try to determine the appropriate
'fileencoding' setting from the charset, but you may need to set it manually
if TOhtml cannot determine the encoding. It is recommended to set this
variable to something widely supported, like UTF-8, for anything you will be
hosting on a webserver: >
:let g:html_use_encoding = "UTF-8"
You can also use this option to omit the line that specifies the charset
entirely, by setting g:html_use_encoding to an empty string: >
:let g:html_use_encoding = ""
To go back to the automatic mechanism, delete the g:html_use_encoding
variable: >
:unlet g:html_use_encoding
If you specify a charset with g:html_use_encoding for which TOhtml cannot
automatically detect the corresponding 'fileencoding' setting, you can use
g:html_encoding_override to allow TOhtml to detect the correct encoding.
This is a dictionary of charset-encoding pairs that will replace existing
pairs automatically detected by TOhtml, or supplement with new pairs. For
example, to allow TOhtml to detect the HTML charset "windows-1252" properly as
the encoding "8bit-cp1252", use: >
:let g:html_encoding_override = {'windows-1252': '8bit-cp1252'}
<
For diff mode a sequence of more than 3 filler lines is displayed as three
lines with the middle line mentioning the total number of inserted lines. If
you prefer to see all the inserted lines use: >
:let g:html_whole_filler = 1
And to go back to displaying up to three lines again: >
:unlet g:html_whole_filler
<
The g:html_charset_override is similar, it allows TOhtml to detect the HTML
charset for any 'fileencoding' or 'encoding' which is not detected
automatically. You can also use it to override specific existing
encoding-charset pairs. For example, TOhtml will by default use UTF-8 for all
Unicode/UCS encodings. To use UTF-16 and UTF-32 instead, use: >
:let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'}
Note that documents encoded in either UTF-32 or UTF-16 have known
compatibility problems with at least one major browser.
*convert-to-XML* *convert-to-XHTML*
An alternative is to have the script generate XHTML (XML compliant HTML). To
do this set the "html_use_xhtml" variable: >
If you do not like plain HTML, an alternative is to have the script generate
XHTML (XML compliant HTML). To do this set the "html_use_xhtml" variable: >
:let g:html_use_xhtml = 1
Any of these options can be enabled or disabled by setting them explicitly to
the desired value, or restored to their default by removing the variable using
|:unlet|.
Any of the on/off options listed above can be enabled or disabled by setting
them explicitly to the desired value, or restored to their default by removing
the variable using |:unlet|.
Remarks:
- This only works in a version with GUI support. If the GUI is not actually
running (possible for X11) it still works, but not very well (the colors
may be wrong).
- Some truly ancient browsers may not show the background colors.
- From most browsers you can also print the file (in color)!
- This version of TOhtml may work with older versions of Vim, but some
features such as conceal support will not function, and the colors may be
incorrect for an old Vim without GUI support compiled in.
Here is an example how to run the script over all .c and .h files from a
Unix shell: >
@@ -872,8 +932,8 @@ line to your startup file: >
DOCBOOK *docbk.vim* *ft-docbk-syntax* *docbook*
DOCBOOK XML *docbkxml.vim* *ft-docbkxml-syntax*
DOCBOOK SGML *docbksgml.vim* *ft-docbksgml-syntax*
DOCBOOK XML *docbkxml.vim* *ft-docbkxml-syntax*
DOCBOOK SGML *docbksgml.vim* *ft-docbksgml-syntax*
There are two types of DocBook files: SGML and XML. To specify what type you
are using the "b:docbk_type" variable should be set. Vim does this for you
@@ -2258,7 +2318,7 @@ For highlighted builtin functions: >
For highlighted standard exceptions: >
:let python_highlight_exceptions = 1
For highlighted trailing whitespace and mix of spaces and tabs:
For highlighted trailing whitespace and mix of spaces and tabs: >
:let python_highlight_space_errors = 1
If you want all possible Python highlighting (the same as setting the
@@ -3174,6 +3234,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
:hi par1 ctermfg=red guifg=red
:hi par2 ctermfg=blue guifg=blue
:hi par3 ctermfg=darkgreen guifg=darkgreen
<
*E849*
The maximum number of syntax groups is 19999.
==============================================================================
6. :syntax arguments *:syn-arguments*
@@ -3218,11 +3281,12 @@ Whether or not they are actually concealed depends on the setting on the
in this way when they have their own highlighting via "matchgroup"
cchar *:syn-cchar*
*E844*
The "cchar" argument defines the character shown in place of the item
when it is concealed (setting "cchar" only makes sense when the conceal
argument is given.) If "cchar" is not set then the default conceal
character defined in the 'listchars' option is used. Example: >
character defined in the 'listchars' option is used. The character cannot be
a control character such as Tab. Example: >
:syntax match Entity "&amp;" conceal cchar=&
See |hl-Conceal| for highlighting.
@@ -3711,6 +3775,9 @@ This also has implications for nested clusters: >
:syntax match Stuff "( aaa bbb )" contains=@BigGroup
:syntax cluster BigGroup remove=B " no effect, since B isn't in BigGroup
:syntax cluster SmallGroup remove=B " now bbb isn't matched within Stuff
<
*E848*
The maximum number of clusters is 9767.
==============================================================================
9. Including syntax files *:syn-include* *E397*
@@ -3750,6 +3817,9 @@ two different ways:
with his own version, without replacing the file that does the ":syn
include".
*E847*
The maximum number of includes is 999.
==============================================================================
10. Synchronizing *:syn-sync* *E403* *E404*
@@ -3953,7 +4023,7 @@ To show the syntax items for one syntax group: >
:sy[ntax] list {group-name}
To list the syntax groups in one cluster: *E392* >
To list the syntax groups in one cluster: *E392* >
:sy[ntax] list @{cluster-name}
@@ -4612,7 +4682,7 @@ is loaded into that window or the file is reloaded.
When splitting the window, the new window will use the original syntax.
==============================================================================
16. Color xterms *xterm-color* *color-xterm*
17. Color xterms *xterm-color* *color-xterm*
Most color xterms have only eight colors. If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >

View File

@@ -659,6 +659,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'noweirdinvert' options.txt /*'noweirdinvert'*
'nowfh' options.txt /*'nowfh'*
'nowfw' options.txt /*'nowfw'*
'nowic' options.txt /*'nowic'*
'nowildignorecase' options.txt /*'nowildignorecase'*
'nowildmenu' options.txt /*'nowildmenu'*
'nowinfixheight' options.txt /*'nowinfixheight'*
'nowinfixwidth' options.txt /*'nowinfixwidth'*
@@ -1064,10 +1066,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'wh' options.txt /*'wh'*
'whichwrap' options.txt /*'whichwrap'*
'wi' options.txt /*'wi'*
'wic' options.txt /*'wic'*
'wig' options.txt /*'wig'*
'wildchar' options.txt /*'wildchar'*
'wildcharm' options.txt /*'wildcharm'*
'wildignore' options.txt /*'wildignore'*
'wildignorecase' options.txt /*'wildignorecase'*
'wildmenu' options.txt /*'wildmenu'*
'wildmode' options.txt /*'wildmode'*
'wildoptions' options.txt /*'wildoptions'*
@@ -3202,6 +3206,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<reg> map.txt /*<reg>*
<register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>*
<slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>*
<xEnd> term.txt /*<xEnd>*
@@ -3420,7 +3425,6 @@ E102 diff.txt /*E102*
E103 diff.txt /*E103*
E104 digraph.txt /*E104*
E105 mbyte.txt /*E105*
E106 eval.txt /*E106*
E107 eval.txt /*E107*
E108 eval.txt /*E108*
E109 eval.txt /*E109*
@@ -3587,7 +3591,6 @@ E257 if_cscop.txt /*E257*
E258 remote.txt /*E258*
E259 if_cscop.txt /*E259*
E26 rileft.txt /*E26*
E260 if_cscop.txt /*E260*
E261 if_cscop.txt /*E261*
E262 if_cscop.txt /*E262*
E263 if_pyth.txt /*E263*
@@ -3836,7 +3839,6 @@ E485 message.txt /*E485*
E486 pattern.txt /*E486*
E487 options.txt /*E487*
E488 message.txt /*E488*
E489 intro.txt /*E489*
E49 message.txt /*E49*
E490 fold.txt /*E490*
E492 message.txt /*E492*
@@ -3919,7 +3921,6 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564*
E565 if_cscop.txt /*E565*
E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568*
@@ -4219,7 +4220,19 @@ E834 options.txt /*E834*
E835 options.txt /*E835*
E836 if_pyth.txt /*E836*
E837 if_pyth.txt /*E837*
E838 netbeans.txt /*E838*
E839 insert.txt /*E839*
E84 windows.txt /*E84*
E840 insert.txt /*E840*
E841 map.txt /*E841*
E842 cmdline.txt /*E842*
E843 editing.txt /*E843*
E844 syntax.txt /*E844*
E845 spell.txt /*E845*
E846 options.txt /*E846*
E847 syntax.txt /*E847*
E848 syntax.txt /*E848*
E849 syntax.txt /*E849*
E85 options.txt /*E85*
E86 windows.txt /*E86*
E87 windows.txt /*E87*
@@ -4852,6 +4865,8 @@ c_<S-Tab> cmdline.txt /*c_<S-Tab>*
c_<S-Up> cmdline.txt /*c_<S-Up>*
c_<Tab> cmdline.txt /*c_<Tab>*
c_<Up> cmdline.txt /*c_<Up>*
c_BS cmdline.txt /*c_BS*
c_CR cmdline.txt /*c_CR*
c_CTRL-A cmdline.txt /*c_CTRL-A*
c_CTRL-B cmdline.txt /*c_CTRL-B*
c_CTRL-C cmdline.txt /*c_CTRL-C*
@@ -4884,6 +4899,15 @@ c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
c_CTRL-] cmdline.txt /*c_CTRL-]*
c_CTRL-^ cmdline.txt /*c_CTRL-^*
c_CTRL-_ cmdline.txt /*c_CTRL-_*
c_Del cmdline.txt /*c_Del*
c_Down cmdline.txt /*c_Down*
c_End cmdline.txt /*c_End*
c_Esc cmdline.txt /*c_Esc*
c_Home cmdline.txt /*c_Home*
c_Insert cmdline.txt /*c_Insert*
c_Left cmdline.txt /*c_Left*
c_Right cmdline.txt /*c_Right*
c_Up cmdline.txt /*c_Up*
c_digraph cmdline.txt /*c_digraph*
c_wildchar cmdline.txt /*c_wildchar*
call() eval.txt /*call()*
@@ -5220,6 +5244,7 @@ digraph digraph.txt /*digraph*
digraph-arg change.txt /*digraph-arg*
digraph-encoding digraph.txt /*digraph-encoding*
digraph-table digraph.txt /*digraph-table*
digraph-table-mbyte digraph.txt /*digraph-table-mbyte*
digraph.txt digraph.txt /*digraph.txt*
digraphs digraph.txt /*digraphs*
digraphs-changed version6.txt /*digraphs-changed*
@@ -5740,10 +5765,11 @@ g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
g:netrw_compress pi_netrw.txt /*g:netrw_compress*
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
g:netrw_cursorline pi_netrw.txt /*g:netrw_cursorline*
g:netrw_cursor pi_netrw.txt /*g:netrw_cursor*
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_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*
@@ -6700,6 +6726,7 @@ netrw-clean pi_netrw.txt /*netrw-clean*
netrw-contents pi_netrw.txt /*netrw-contents*
netrw-copyright pi_netrw.txt /*netrw-copyright*
netrw-cr pi_netrw.txt /*netrw-cr*
netrw-createfile pi_netrw.txt /*netrw-createfile*
netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
@@ -6723,7 +6750,9 @@ netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-ftype pi_netrw.txt /*netrw-ftype*
netrw-gb pi_netrw.txt /*netrw-gb*
netrw-gd pi_netrw.txt /*netrw-gd*
netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx*
@@ -6964,9 +6993,11 @@ operator-variable eval.txt /*operator-variable*
option-backslash options.txt /*option-backslash*
option-list quickref.txt /*option-list*
option-summary options.txt /*option-summary*
option-window options.txt /*option-window*
options options.txt /*options*
options-changed version5.txt /*options-changed*
options.txt options.txt /*options.txt*
optwin options.txt /*optwin*
oracle ft_sql.txt /*oracle*
os2 os_os2.txt /*os2*
os2ansi os_os2.txt /*os2ansi*
@@ -8089,6 +8120,7 @@ v:val eval.txt /*v:val*
v:var eval.txt /*v:var*
v:version eval.txt /*v:version*
v:warningmsg eval.txt /*v:warningmsg*
v:windowid eval.txt /*v:windowid*
v_! change.txt /*v_!*
v_$ visual.txt /*v_$*
v_: cmdline.txt /*v_:*
@@ -8363,6 +8395,7 @@ window-size term.txt /*window-size*
window-size-functions usr_41.txt /*window-size-functions*
window-tag windows.txt /*window-tag*
window-variable eval.txt /*window-variable*
windowid-variable eval.txt /*windowid-variable*
windows windows.txt /*windows*
windows-3.1 os_win32.txt /*windows-3.1*
windows-intro windows.txt /*windows-intro*
@@ -8395,6 +8428,7 @@ write-fail editing.txt /*write-fail*
write-filetype-plugin usr_41.txt /*write-filetype-plugin*
write-library-script usr_41.txt /*write-library-script*
write-local-help usr_41.txt /*write-local-help*
write-permissions editing.txt /*write-permissions*
write-plugin usr_41.txt /*write-plugin*
write-plugin-quickload usr_41.txt /*write-plugin-quickload*
write-quit editing.txt /*write-quit*

View File

@@ -115,7 +115,7 @@ CTRL-T Jump to [count] older entry in the tag stack
The output of ":tags" looks like this:
# TO tag FROM line in file/line
# TO tag FROM line in file/text
1 1 main 1 harddisk2:text/vim/test
> 2 2 FuncA 58 i = FuncA(10);
3 1 FuncC 357 harddisk2:text/vim/src/amiga.c
@@ -135,7 +135,7 @@ you were before the tag command. The line number will be correct, also when
deleting/inserting lines, unless this was done by another program (e.g.
another instance of Vim).
For the current file, the "file/line" column shows the text at the position.
For the current file, the "file/text" column shows the text at the position.
An indent is removed and a long line is truncated to fit in the window.
You can jump to previously used tags with several commands. Some examples:
@@ -164,9 +164,9 @@ entry was not at the bottom, the entries below the last used one are
deleted. This means that an old branch in the call graph is lost. After the
commands explained above the tag stack will look like this:
# TO tag FROM line in file
1 main 1 harddisk2:text/vim/test
2 FuncB 59 harddisk2:text/vim/src/main.c
# TO tag FROM line in file/text
1 1 main 1 harddisk2:text/vim/test
2 1 FuncB 59 harddisk2:text/vim/src/main.c
*E73*
When you try to use the tag stack while it doesn't contain anything you will

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.3. Last change: 2009 Nov 05
*term.txt* For Vim version 7.3. Last change: 2011 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -665,6 +665,7 @@ When the X-server clipboard is available, the command server described in
*xterm-copy-paste*
NOTE: In some (older) xterms, it's not possible to move the cursor past column
95. This is an xterm problem, not Vim's. Get a newer xterm |color-xterm|.
Now the limit is 223 columns.
Copy/paste in xterm with (current mode NOT included in 'mouse'):
1. Press left mouse button on first letter of text, move mouse pointer to last

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2010 Aug 15
*todo.txt* For Vim version 7.3. Last change: 2011 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,54 +30,345 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
":find e" completion, editing a file in the Vim source directory, 'path' set
to "./proto", does not shorten ./proto/eval.pro, probably because of
./proto/ex_eval.pro.
Go through more coverity reports.
Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
Patch for behavior of :cwindow. (Ingo Karkat, 2011 Apr 15)
Configure fix for finding exctags. (Hong Xu, 2011 Aprl 2)
When 'colorcolumn' is set locally to a window, ":new" opens a window with the
same highlighting but 'colorcolumn' is empty. (Tyru, 2010 Nov 15)
Patch by Christian Brabandt, 2011 Feb 13 (but move further down).
Patch for configure related to Ruby on Mac OS X. (Bjorn Winckler, 2011 Jan 14)
Patch to make mkdir() work properly for different encodings. (Yukihiro
Nakadaira, 2011 Apr 23)
Updated PHP syntax file. (Jason Woofenden, 2011 Apr 22)
ASCII Vim logo's (Erling Westenvik, 2011 Apr 19) Add to website.
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
Patch for static code analysis errors in riscOS. (Dominique Pelle, 2010 Dec 3)
Patch to set v:register on startup. (Ingo Karkat, 2011 Jan 16)
Risc OS gui has obvious errors. Drop it?
Patch to set v:register default depending on "unnamed" in 'clipboard'. (Ingo
Karkat, 2011 Jan 16)
Patch to add 'cscoperelative'. (Raghavendra Prabhu, 2011 Apr 18)
New syntax file for dnsmasq. (Thilo Six, 2011 Apr 18)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Patch for:
InsertCharPre - user typed character Insert mode, before inserting the
char. Pattern is matched with text before the cursor.
Set v:char to the character, can be changed.
(not triggered when 'paste' is set).
(Jakson A. Aquino, 2011 Jan 29)
Patch for "No errors" showing up after QuickfixCmdPost. (Mike Lundy, 2011 Feb
3)
Patch for cmdline completion of ":lang". (Dominique Pelle, 2011 Feb 5)
Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
Lepa, 2011 Jan 18)
Patch to support ":!start /b cmd". (Xaizek, 2010 Dec 22)
Patch to build with GTK on Mac. (Ben Schmidt, 2011 Jan 18)
Use another name instead of FEAT_GUI_ELSEWHERE.
Patch for xxd makefile to avoid generating .dSYM files. (Ben Schmidt, 2011 Jan
18)
Patch to show sign for folded text. (Christian Brabandt, 2011 Jan 12)
Method to reproduce it: Jan 16.
Patch to improve optwin.vim. (ZyX, 2011 Jan 29)
Patch for Python 3 support. (lilydjwg, 2011 Feb 24)
Building the MingW version without clipboard but with multi-byte doesn't
work. (Bill Lam, 2010 Sep 18)
Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
2011 Mar 16) Update Mar 24.
Patch to disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka, 2010
Nov 25)
GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
Update 2011 Feb 3.
Patch to use pipes on Win32. (Vincent Berthoux, 2011 Feb 28)
Update Mar 1 using 'shelltemp'.
"gh<Del>" deletes the current line, except when it's the last line.
Hint by Christian Brabandt, 2011 Mar 22
The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
Compare with how old Vi works and with posix spec. terminal is 80 x 24,
'scroll' option set to 11.
'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
When opening file from windows explorer, characters inside [] cause
problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
Help file foldexpr (ZyX)
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes:
gvim -N -u NONE --cmd 'set lines=99999 columns=99999'
(gvim:25968): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
The program 'gvim' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
(Details: serial 313 error_code 161 request_code 149 minor_code 8)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Check that number of pixels doesn't go above 65535?
CursorHold repeats typed key when it's the start of a mapping.
(Will Gray, 2011 Mar 23)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
This line hangs Vim, because of syntax HL:
call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
2010 Aug 8)
Using ":break" or something else that stops executing commands inside a
":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
15)
":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print
should be overruled. (Aaron Thoma)
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the
right type.
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID?
Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
Also for another example (ZyX, 2011 Jan 24)
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
Deleting a linewise selection that includes the last line of the file leaves
an empty line. (Ben Schmidt, 2011 Mar 17)
Patch by Christian Brabandt, 2011 Mar 19.
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
When a script contains "redir => s:foo" but doesn't end redirection, a
following "redir" command gives an error for not being able to access s:foo.
(ZyX, 2011 Mar 27)
Problem with "syn sync gouphere". (Gustavo Niemeyer, 2011 Jan 27)
Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
2010 Dec 18)
In the sandbox it's not allowed to do many things, but it's possible to change
or set variables. Add a way to prevent variables from being changed in the
sandbox? E.g.: ":protect g:restore_settings".
GTK: drawing a double-width combining character over single-width characters
doesn't look right. (Dominique Pelle, 2010 Aug 8)
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
Win32: tear-off menu does not work when menu language is German. (Markus
Bossler, 2011 Mar 2) Fixed by 7.3.095?
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
7.3.014 changed how backslash at end of line works, but still get a NUL when
there is one backslash. (Ray Frush, 2010 Nov 18) What does the original ex
do?
Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov
22)
New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
- move compflags to separate growarray?
- instead of a regexp use a hashtable. Expand '?', '*", '+'. What would be
the maximum repeat for * and +?
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
2011 Feb 27)
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17)
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.
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?
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
g` not working correctly when using :edit. It works OK when editing a file on
the command line. (Ingo Karkat, 2011 Jan 25)
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
crash? (Raiwil, 2010 Nov 17)
Python: Adding line to buffer other than the current one doesn't work
correctly. (Rozbujnik, 2010 Dec 19)
Patch to add 'systemencoding', convert between 'encoding' and this for file
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
Assume the system converts between the actual encoding of the filesystem to
the system encoding (usually utf-8).
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
Ruby: ":ruby print $buffer.number" returns zero.
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
7 The 'directory' option supports changing path separators to "%" to make
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
Patch by Christian Brabandt, 2010 Oct 21.
getpos()/setpos() don't include curswant. getpos() could return a fifth
element. setpos() could accept an optional fifth element.
Patch by Christian Brabandt, 2010 Sep 6. Check that new argument is optional
and that it's documented.
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
2010 Oct 24)
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
Messages in message.txt are highlighted as examples.
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
Oct 22) 'isprint' is set to "@,161-255".
Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to
delete the Xfind directory? Add an rmdir() function, just like we have
mkdir().
":echo "\x85" =~# '[\u0085]'" returns 1 instead of 0. (ZyX, 2010 Oct 3)
'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
right away. (Samuel Ferencik, 2010 Dec 7)
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
Using CompilerSet doesn't record where an option was set from. E.g., in the
gcc compiler plugin. (Gary Johnson, 2010 Dec 13)
":helpgrep" does not put the cursor in the correct column when preceded by
accented character. (Tony Mechelynck, 2010 Apr 15)
Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
setwinvar().
Echo starts in the wrong column:
while 1 | let s = input('A') | echo 'R' | endw
(Boyko Bantchev, 2010 Aug 9)
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
When writing a file > 2Gbyte, the reported number of bytes is negative.
(Antonio Colombo, 2010 Dec 18)
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30)
Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
Patch to handle resizing when tab is opened, when at full size. (Yukihiro
Nakadaira, 2010 Jan 6)
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
Can 'undolevels' be a buffer-local option? Helps for making big changes in
one file only, set 'ul' to -1 only for that buffer.
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
CreateFile and CreateFileW are used without sharing, filewritable() fails when
the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ|
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
Looks like only bash can do it. (Yakov Lerner)
@@ -110,12 +401,23 @@ Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
Find tail? Might have a / in argument. Find space? Might have space in
path.
":sort n" treats empty line as higher than zero. (Beeyawned, 2010 Oct 13)
Test 51 fails when language set to German. (Marco, 2011 Jan 9)
Dominique can't reproduc it.
":function f(x) keepjumps" creates a function where every command is executed
like it has ":keepjumps" before it.
Coverity: ask someone to create new user: Dominique.
Check if there are new reported defects: http://scan.coverity.com/rung2.html
Patch to support :undo absolute jump to file save number. (Christian Brabandt,
2010 Nov 5)
Patch to use 'foldnextmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
Jan 7)
When setting 'undofile' while the file is already loaded, but unchanged, try
to read the undo file. Requires computing a checksum of the text. (Andy
Wokula)
@@ -125,6 +427,10 @@ Only with "vim -u NONE".
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
Feb 12)
Display error when 'tabline' that includes a file name with double-width
characters. (2010 Aug 14, bootleq)
@@ -134,6 +440,9 @@ Undo problem: line not removed as expected when using setline() from Insert
mode. (Israel Chauca, 2010 May 13, more in second msg)
Break undo when CTRL-R = changes the text? Or save more lines?
Patch for better #if 0 syntax highlighting for C code. (Ben Schmidt, 2011 Jan
20)
Change to C syntax folding to make it work much faster, but a bit less
reliable. (Lech Lorens, 2009 Nov 9) Enable with an option?
Most time is spent in in_id_list().
@@ -141,24 +450,42 @@ Most time is spent in in_id_list().
Slow combination of folding and PHP syntax highlighting. Script to reproduce
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
(Christian Brabandt, 2010 May 27)
Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to
find out why.
When completion inserts the first match, it may trigger the line to be folded.
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
Jun 1)
Cannot use getchar() inside :normal and using an expression mapping. Is this
supposed to work? (XyX, 2010 Sep 22)
When using an expression mapping with a multi-byte character each byte is
converted to a utf-8 character. (ZyX, 2011 Jan 4)
Patch for possible solution. (Yukihiro Nakadaira, 2011 Jan 5)
When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value.
There is no command line completion for ":lmap".
":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use
getpwent() to find all the matches.
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
For running gvim on an USB stick: avoid the OLE registration. Use a command
line argument -noregister.
When using an expression in 'statusline' leading white space sometimes goes
missing (but not always). (ZyX, 2010 Nov 1)
When a mapping exists both for insert mode and lang-insert mode, the last one
doesn't work. (Tyru, 2010 May 6) Or is this intended?
@@ -178,8 +505,13 @@ Probably needs a bit of work.
List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
Are they all OK? Update Jul 22.
Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
Sep 1)
Putting a Visual block while 'visualedit' is "all" does not leave the cursor
on the first character. (John Beckett, 2010 Aug 7)
@@ -253,6 +585,9 @@ Ignore window options when not in the right window?
Perhaps we need to use a hidden window for applying autocommands to a buffer
that doesn't have a window.
When "b" is a symlink to directory "a", resolve("b/") doesn't result in "a/".
(ZyX, 2011 Feb 12)
When using "ab foo bar" and mapping <Tab> to <Esc>, pressing <Tab> after foo
doesn't trigger the abbreviation like <Esc> would. (Ramana Kumar, 2009 Sep 6)
@@ -267,6 +602,10 @@ perhaps. And undo CTRL-W. CTRL-G l would redo.
Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
Support a 'systemencoding' option (for Unix). It specifies the encoding of
file names. (Kikuchan, 2010 Oct 5). Useful on a latin1 or double-byte Asian
system when 'encoding' is "utf-8".
Win32: A --remote command that has a directory name starting with a ( doesn't
work, the backslash is removed, assuming that it escapes the (. (Valery
Kondakoff, 2009 May 13)
@@ -288,25 +627,23 @@ very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
(Felix Kater, 2009 Mar 3)
maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
These are needed to save and restore a mapping.
Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
Session file generates error upon loading, cause bu --remote-silent-tab.
(7tommm (ytommm) 2010 Nov 24)
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
A function on a dictionary is not profiled. (Zyx, 2010 Dec 25)
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
messages, even though locale is not supported. But ":lang messages
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
2009 Jan 26)
When $HOME contains special characters, sich as a comma, escape them when used
When $HOME contains special characters, such as a comma, escape them when used
in an option. (Michael Hordijk, 2009 May 5)
Turn "esc" argument of expand_env_esc() into string of chars to be escaped.
Can 'undolevels' be a buffer-local option? Helps for making big changes in
one file only, set 'ul' to -1 only for that buffer.
Should make 'ignorecase' global-local, so that it makes sense setting it from
a modeline.
@@ -325,6 +662,11 @@ correct. Don't use it in the swap file.
Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
(Henrik Ohman, 2009, Jan 29)
shellescape() depends on 'shellshash' for quoting. That doesn't work when
'shellslash' is set but using cmd.exe. (Ben Fritz)
Use a different option or let it depend on whether 'shell' looks like a
unix-like shell?
Allow patches to add something to version.c, like with an official patch, so
that :version output shows which patches have been applied.
@@ -374,11 +716,6 @@ Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for
option only for when jumping to another buffer, not when the command argument
is executed.
Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
11) I can't reproduce it. It's probably caused by a handle_drop() call
in combination with autocommands that invoke a ":redraw" command.
Another valgrind output Jun 30.
":pedit %" with a BufReadPre autocommand causes the cursor to move to the
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
@@ -408,9 +745,6 @@ Patch for c.vim and cpp.vim syntax files. (Chung-chieh Shan, 2008 Nov 26)
c.vim: XXX in a comment is colored yellow, but not when it's after "#if 0".
(Ilya Dogolazky, 2009 Aug 7)
Win32: ":dis +" shows nothing, but "+p does insert text. Problem with "* and
"+ being the same thing?
You can type ":w ++bad=x fname", but the ++bad argument is ignored. Give an
error message? Or is this easy to implement? (Nathan Stratton Treadway, 2008
Aug 20) This is in ucs2bytes(), search for 0xBF. Using the ++bad argument is
@@ -424,6 +758,15 @@ argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19)
Win32: associating a type with Vim doesn't take care of space after a
backslash? (Robert Vibrant, 2008 Jun 5)
Win32: bold font doesn't work when 'guifontwide' has been set. (Yue Wu, 2010
Aug 23)
When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
Using an insert mode expression mapping, cursor is not in the expected
position. (ZyX, 2010 Aug 29)
After using <Tab> for command line completion after ":ta blah" and getting E33
(no tags file), further editing the command to e.g., ":echo 'blah'", the
command is not executed. Fix by Ian Kelling?
@@ -438,9 +781,6 @@ When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work
either. Matt Wozniski: nv_at() calls do_execreg() which uses
put_in_typebuf(). Char mapped twice?
8 Some file systems are case-sensitive, some are not. Turn
CASE_INSENSITIVE_FILENAME into an option, at least for completion.
Despite adding save_subexpr() this still doesn't work properly:
Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')
Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', '']
@@ -496,6 +836,9 @@ try the Cocoa version.
Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
changed or the window is resized.
GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit"
the window isn't redrawn properly, see two vertical bars.
Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008
Mar 5) Alternative: Kazuki Sakamoto, Mar 7.
@@ -513,6 +856,12 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
16)
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
Haskell, 2010 Aug 24)
Fail to edit file after failed register access. Error flag remains set?
(Lech Lorens, 2010 Aug 30)
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
@@ -527,6 +876,8 @@ each choice does. Similar to ":help swap-exists-choices"
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
Recognize and ignore BOM in error file. (Aleksey Baibarin)
":tab help" always opens a new tab, while ":help" re-uses an existing window.
@@ -560,6 +911,10 @@ C syntax: {} inside () causes following {} to be highlighted as error.
Can't easily close the help window, like ":pc" closes the preview window and
":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
Patch for :lmake not updating the quickfix window title. (Lech Lorens, 2011
Mar 26)
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -589,6 +944,9 @@ Asked about latest version: 0.77.1 is on www.vim.org.
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
Insert mode completion: When editing the text and pressing CTRL-N again goes
back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
Suggestion by Ben Schmidt, 2008 Aug 6.
@@ -662,6 +1020,9 @@ go to Insert mode and add a few lines. Then backspacing every other time
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
8 Windows install with NSIS: make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
Version from Guopeng Wen that does this (2010 Dec 27)
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
@@ -718,9 +1079,6 @@ Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
Unfinished patch by Jelle Geerts, 2008 Aug 24.
Let mch_avail_mem() return Kbyte instead?
Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
only takes 'shellslash' into account.
@@ -775,6 +1133,8 @@ if_ruby.c.
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
Needs more work.
Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg)
The need_fileinfo flag is messy. Instead make the message right away and put
it in keep_msg?
@@ -802,9 +1162,6 @@ VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)
input() completion should not insert a backslash to escape a space in a file
name?
getpos()/setpos() don't include curswant. getpos() could return a fifth
element. setpos() could accept an optional fifth element.
Ruby completion is insecure. Can this be fixed?
When 'backupskip' is set from $TEMP special characters need to be escaped.
@@ -916,6 +1273,12 @@ Completing with 'wildmenu' and using <Up> and <Down> to move through directory
tree stops unexpectedly when using ":cd " and entering a directory that
doesn't contain other directories.
Setting 'background' resets the Normal background color:
highlight Normal ctermbg=DarkGray
set background=dark
This is undesired, 'background' is supposed to tell Vim what the background
color is, not reset it.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
@@ -984,6 +1347,9 @@ check the result of has("patch13").
Cursor line at bottom of window instead of halfway after saving view and
restoring. Only with 'nowrap'. (Robert Webb, 2008 Aug 25)
Netrw has trouble executing autocommands only for a directory. Add <isdir>
and <notisdir> to autocommand patterns? Also <isfile>?
Add command modifier that skips wildcard expansion, so that you don't need to
put backslashes before special chars, only for white space.
@@ -993,17 +1359,14 @@ resulting in highlighted "{" in that window, not in the other.
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
GTK: when the Tab pages bar appears or disappears while the window is
maximized the window is no longer maximized. Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
Also: the window may no longer fit on the screen, thus the command line is not
visible.
GTK: when setting 'columns' in a startup script and doing ":vertical diffsplit"
the window isn't redrawn properly, see two vertical bars.
When right after "vim file", "M" then CTRL-W v the windows are scrolled
differently and unexpectedly. Caused by patch 7.2.398?
The magic clipboard format "VimClipboard2" appears in several places. Should
be only one.
@@ -1066,9 +1429,6 @@ In gvim the backspace key produces a backspace character, but on Linux the
VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas,
2007 Oct 16)
When entering a C /* comment, after typing <Enter> for 70 times the indent
disappears. (Vincent Beffara, 2008 Jul 3)
TermResponse autocommand isn't always triggered when using vimdiff. (Aron
Griffis, 2007 Sep 19)
@@ -1101,6 +1461,11 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
2010 Jun 30)
At next release:
- Rename src/Makefile and create a new one like toplevel Makefile that
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
More patches:
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
Needs a few tests.
@@ -1319,9 +1684,18 @@ Win32 GUI known bugs:
the wide functions.
8 On Windows 98 the unicows library is needed to support functions with UCS2
file names. Can we load unicows.dll dynamically?
8 Win32: With two monitors, gvim partly on both, and adding/removing a
scrollbar Vim resizes and moves to one of the monitors. (Chris Monkiewicz,
2008 Oct)
8 When the primary monitor is below or right of the secondary monitor and
Vim is on the secondary monitor it will often move to the primary monitor.
Window position coordinates can be negative. (James Harvey)
When the primary monitor is on the right, coordinates on the left monitor
are negative. Clamping to zero means gvim jups to the primary monitor.
(Michael Wookey, 2010 Aug 17)
Probably the same issue: When the GUI tab pages line is displayed Vim
jumps from the secondary to the primary monitor. (Afton Lewis, 2007 Mar 9)
Possible solution using GetSystemMetrics() (Sergey Khorev, 2010 Aug 18)
8 The -P argument doesn't work very well with many MDI applications.
The last argument of CreateWindowEx() should be used, see MSDN docs.
Tutorial: http://win32assembly.online.fr/tut32.html
@@ -1385,8 +1759,6 @@ Win32 GUI known bugs:
scroll?
7 Scrollbar width doesn't change when selecting other windows appearance.
Also background color of Toolbar and rectangle below vert. scrollbar.
7 "!start /min cmd" should run in a minimized window, instead of using
"/min" as the command name. (Rogall)
6 Drawing text transparently doesn't seem to work (when drawing part cursor).
8 CTRL key doesn't always work in combination with ALT key. It does work
for function keys, not for alphabetic characters. Perhaps this is because
@@ -1433,6 +1805,8 @@ Athena and Motif:
Athena GUI:
9 The first event for any button in the menu or toolbar appears to get lost.
The second click on a menu does work.
9 When dragging the scrollbar thumb very fast, focus is only obtained in
the scrollbar itself. And the thumb is no longer updated when moving
through files.
@@ -1452,7 +1826,7 @@ Athena GUI:
Motif GUI:
- gui_mch_browsedir() is missing.
- gui_mch_browsedir() is missing, browsedir() doesn't work nicely.
7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
David Harrison says it's OK (it exists in Motif 1.2).
8 Lesstif: When deleting a menu that's torn off, the torn off menu becomes
@@ -1662,33 +2036,17 @@ Amiga:
Macintosh:
- GUI: gui_mch_browsedir() is missing.
7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
Needs more work. Add when someone really wants it.
7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
Load the Perl library dynamically see Python sources file dynload_mac
(Jack)
dynamic linking: http://developer.apple.com/technotes/tn2002/tn2064.html
8 Inputting Unicode characters does not work in the terminal. They appear
to arrive as upper and lower bytes. (David Brown, 2004 April 17)
8 Typing Unicode characters doesn't work at all in the GUI.
8 inputdialog() doesn't resize when giving more text lines. (David Fishburn,
2006 Sept 28)
9 Problems in Carbon version for OS X: (Benji Fisher)
- keyboard shortcuts in the menus get lost.
8 The Vim/About menu doesn't work.
8 ":gui" doesn't fork. Enabling the code in gui.c to fork causes a SEGV.
8 Define vim_mkdir() for Macintosh.
8 Define mch_writable() for Macintosh.
9 When DiskLock is running, using a swap file causes a crash. Appears to be
a problem with writing a file that starts with a dot. (Giacalone)
9 On G3 Mac, OS version 8, control strip causes characters messed up when
scrolling (CTRL-L cleans it up). (Benji Fisher)
9 On G3 Mac, OS version 8, variable-speed scrolling doesn't work, after two
seconds of scrolling the screen freezes. (Benji Fisher)
9 In mac_expandpath() check that handling of backslashes is done properly.
8 Standard Mac shortcuts are missing. (Amerige)
8 Handling of non-fixed width fonts is wrong. (Amerige)
"Small" problems:
@@ -1772,11 +2130,6 @@ Macintosh:
works.
8 A very long message in confirm() can't be quit. Make this possible with
CTRL-C.
7 clip_x11_own_selection() uses CurrentTime, that is not allowed. VNC X
server has a problem with this. (Mark Waggoner) Remembering the timestamp
of events isn't always possible. We don't get them in an xterm. GTK
doesn't obtain the selection again when the timestamp differs, thus it
won't work for GTK anyway.
8 When the clipboard isn't supported: ":yank*" gives a confusing error
message. Specifically mention that the register name is invalid.
8 "gf" always excludes trailing punctuation characters. file_name_in_line()
@@ -2043,6 +2396,9 @@ Problems that will (probably) not be solved:
- Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
are not on the boot disk. This is caused by a wrong value of $HOMEDRIVE.
This is a bug in XP, see MSKB article 818134.
- Win32, MS-Windows: expanding plugin/**/*.vim also picks up
dir/ctags.vim,v. This is because the short file name is something like
"ctags~1.vim" and that matches the pattern.
- SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
scroll bar for the "files" selection. This is a problem in the Motif
libraries, get a patch from Sun.
@@ -2168,8 +2524,6 @@ Help:
User Friendlier:
8 Windows install with NSIS: make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
8 Windows install with install.exe: Use .exe instead of .bat files for
links, so that command line arguments are passed on unmodified? (Walter
Briscoe)
@@ -2584,9 +2938,6 @@ Syntax highlighting:
colors. And add colors, so that Green+Red becomes Yellow.
E.g. for this html:
<B> bold text <I> italic+bold text </B> italic text </I>
7 Wild idea: Not only set highlighting, but also change what is displayed
(e.g., remove characters, so that "<B>bold</B>" can be shown as "bold"):
:syn region boldstuff start="<B>" display="" end="</B>" display=""
7 CTRL-] checks the highlight group for finding out what the tag is.
7 Add an explanation how a list of words can be used to highlight misspelled
words.
@@ -2760,8 +3111,6 @@ Built-in script language:
"command" would use <> notation.
Does scratch buffer have a number? Or re-use same number?
7 Add function to generate unique number (date in milliseconds).
7 Automatically load a function from a file when it is called. Need an
option for the search path. (Sekera)
Robustness:
@@ -2813,7 +3162,7 @@ Performance:
http://www.theregister.co.uk/content/4/22908.html. (Andre Pang)
7 Check how performance of loading the wordlist can be improved (adding a
lot of abbreviations).
7 DOS console: Add t_DL support, to make scrolling faster.
7 MS-DOS console: Add t_DL support, to make scrolling faster.
7 Compile Ex commands to byte codes. Store byte codes in a vim script file
at the end, after "compiled:. Make it look like a single comment line
for old Vim versions. Insert first line "Vim script compiled <timestamp>.
@@ -2946,7 +3295,7 @@ Screen updating:
Scrolling:
8 Add "zm" command: scroll horizontally to put the cursor in the middle.
8 Add "zy" command: scroll horizontally to put the cursor in the middle.
6 Add option to set the overlap for CTRL-F and CTRL-B. (Garhi)
- extend 'scrollbind' option: 'scrollopt' words "search", "relative", etc..
Also 'e'xecute some commands (search, vertical movements) in all bound
@@ -3182,8 +3531,6 @@ Autocommands:
CursorHold), go through the list once and cache the result for a specific
buffer. Invalidate the cache when adding/deleting autocommands or
changing the buffer name.
8 Add ScriptReadCmd event: used to load remote Vim scripts, e.g.
"vim -u http://mach/path/vimrc".
7 Add TagJump event: do something after jumping to a tag.
8 Add "TagJumpFile" autocommand: When jumping to another file for a tag.
Can be used to open "main.c.gz" when "main.c" isn't found.
@@ -3234,13 +3581,7 @@ Autocommands:
PreDirChanged/PostDirChanged
- Before/after ":cd" has been used (for changing the
window title)
BufReadAction - replaces reading a file
BufWriteAction - replaces writing a file
ShutDown - when the system is about to shut down
InsertCharPre - user typed character Insert mode, before inserting the
char. Pattern is matched with text before the cursor.
Set v:char to the character, can be changed.
(not triggered when 'paste' is set).
InsertCharPost - user typed a character in Insert mode, after inserting
the char.
BufModified - When a buffer becomes modified, or unmodified (for
@@ -3451,6 +3792,7 @@ Insert mode:
7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
character multiple times or repeating CTRL-Y.
- Make 'revins' work in Replace mode.
9 Can't use multi-byte characters for 'matchpairs'.
7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
appears in the rhs of 'matchpairs'.
- In Insert mode (and command line editing?): Allow undo of the last typed
@@ -3476,6 +3818,10 @@ Insert mode:
<< "y";
9 "} else" causes following lines to be indented too much. (Rouben
Rostamian, 2008 Aug 30)
9 Wrapping a variable initialization should have extra indent:
char * veryLongName =
"very long string"
Also check if "cino=+10" is used correctly.
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
@@ -3712,21 +4058,14 @@ Mappings and Abbreviations:
8 Add a flag to ":abbrev" to eat the character that triggers the
abbreviation. Thus "abb ab xxx" and typing "ab<Space>" inserts "xxx" and
not the <Space>.
8 Allow mapping of CTRL-@ (anywhere in the LHS).
8 Give a warning when using CTRL-C in the lhs of a mapping. It will never
(?) work.
8 Add a way to save a current mapping and restore it later. Use a function
that returns the mapping command to restore it: mapcmd()? mapcheck() is
not fool proof. How to handle ambiguous mappings?
7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
7 Allow mapping "Q" and "Q}" at the same time. Need to put a flag with "Q",
that it needs an extra character before it can match. See Vile 'maplonger'
option.
7 When someone tries to unmap with a trailing space, and it fails, try
unmapping without the trailing space. Helps for ":unmap xx | unmap yy".
7 Make it possible to map 'wildchar', but only when it's a special character
(like CTRL-E). Currently it's only recognized when typed. Useful for
mapping a key to do something and then completion.
6 Context-sensitive abbreviations: Specify syntax group(s) in which the
abbreviations are to be used.
- Add mappings that take arguments. Could work like the ":s" command. For
@@ -3738,12 +4077,9 @@ Mappings and Abbreviations:
:map q<Char> :s/<Char>/\u\0/g
Or implicit:
:map q <Register>d<Number>$
- Make it possible to include a <Nul> in the lhs and rhs of a mapping.
- Add command to repeat a whole mapping ("." only repeats the last change in
a mapping). Also: Repeat a whole insert command, including any mappings
that it included. Sort-of automatic recording?
- Add an option to ":map" that makes it display the special keys in
<> notation (e.g. <CR> instead of ^M). Or just always do this?
- Include an option (or flag to 'cpoptions') that makes errors in mappings
not flush the rest of the mapping (like nvi does).
- Use context sensitiveness of completion to switch abbreviations and
@@ -3791,6 +4127,8 @@ Searching:
Use "&/" for searching the text in the Visual area?
9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
matching text.
8 Add a modifier to interpret a space like "\_s\+" to make it much easier to
search for a phrase.
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:
@@ -3987,6 +4325,9 @@ Buffer list:
should then mean the number of the last buffer. E.g.: "4,$bdel".
7 Add an option to mostly use slashes in file names. Separately for
internal use and for when executing an external program?
8 Some file systems are case-sensitive, some are not. Besides
'wildignorecase' there might be more parts inside
CASE_INSENSITIVE_FILENAME that are useful on Unix.
Swap (.swp) files:
@@ -4171,6 +4512,7 @@ Marks:
Digraphs:
7 Make "ga" show the digraph for a character, if it exists.
Also the keymap?
Also show the code of the character after conversion to 'filenecoding'.
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
below/above).
- Use digraph table to tell Vim about the collating sequence of special
@@ -4190,8 +4532,6 @@ Writing files:
8 'backupskip' doesn't write a backup file at all, a bit dangerous for some
applications. Add 'backupelsewhere' to write a backup file in another
directory? Or add a flag to 'backupdir'?
7 The 'directory' option supports changing path separators to "%" to make
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
6 Add an option to write a new, numbered, backup file each time. Like
'patchmode', e.g., 'backupmode'.
6 Make it possible to write 'patchmode' files to a different directory.
@@ -4290,6 +4630,8 @@ Debug mode:
Various improvements:
9 Python: be able to define a Python function that can be called directly
from Vim script. Requires converting the arguments and return value.
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on
@@ -4309,6 +4651,8 @@ Various improvements:
7 Instead of filtering errors with a shell script it should be possible to
do this with Vim script. A function that filters the raw text that comes
from the 'makeprg'?
9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
avoid matching something up to a time 11:22:33.
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
7 Add a command that goes back to the position from before jumping to the
@@ -4385,6 +4729,8 @@ Various improvements:
3 Make "2d%" work like "d%d%" instead of "d2%"?
7 "g CTRL-O" jumps back to last used buffer. Skip CTRL-O jumps in the same
buffer. Make jumplist remember the last ten accessed buffers?
7 Make it possible to set the size of the jumplist (also to a smaller number
than the default). (Nikolai Weibull)
- Add code to disable the CAPS key when going from Insert to Normal mode.
- Set date/protection/etc. of the patchfile the same as the original file.
- Use growarray for termcodes[] in term.c
@@ -4393,7 +4739,7 @@ Various improvements:
(like "v" makes the operator characterwise-exclusive). "x" could be used.
- Make a set of operations on list of names: expand wildcards, replace home
dir, append a string, delete a string, etc.
- Remove mktemp() and use tmpname() only? Ctags does this.
- Remove using mktemp() and use tmpname() only? Ctags does this.
- When replacing environment variables, and there is one that is not set,
turn it into an empty string? Only when expanding options? (Hiebert)
- Option to set command to be executed instead of producing a beep (e.g. to
@@ -4478,7 +4824,6 @@ Various improvements:
expanded. Is there a better way to do this?
- Add ":@!" command, to ":@" like what ":source!" is to ":source".
8 Add ":@:!": repeat last command with forceit set.
- Should be possible to write to a device, e.g. ":w! /dev/null".
- Add 't_normal': Used whenever t_me, t_se, t_ue or t_Zr is empty.
- ":cab map test ^V| je", ":cunab map" doesn't work. This is vi compatible!
- CTRL-W CTRL-E and CTRL-W CTRL-Y should move the current window up or down
@@ -4556,9 +4901,6 @@ Various improvements:
- ":split file1 file2" adds two more windows (Webb).
- Don't give message "Incomplete last line" when editing binary file.
- Add ":a", ":i" for preloading of named buffers.
- Allow autowrite when doing ":e file" (with an option 'eaw').
- Allow a "+command" argument before each file name in the Vim command line:
"vim +123 file1 +234 file2 +345 file3". ???
- When entering text, keep other windows on same buffer updated (when a line
entered)?
- Check out how screen does output optimizing. Apparently this is possible
@@ -4632,8 +4974,6 @@ Various improvements:
working in another window. Put cmdline in a separate window?
- Add possibility to put output of Ex commands in a buffer or file, e.g. for
":set all". ":r :set all"?
- 'edit' option: When off changing the buffer is not possible (Really
read-only mode).
- When the 'equalalways' option is set, creating a new window should not
result in windows to become bigger. Deleting a window should not result in
a window to become smaller (Webb).

View File

@@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.3. Last change: 2010 Jul 20
*undo.txt* For Vim version 7.3. Last change: 2010 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -125,16 +125,26 @@ This is explained in the user manual: |usr_32.txt|.
*:undol* *:undolist*
:undol[ist] List the leafs in the tree of changes. Example:
number changes time ~
4 10 10:34:11
18 4 11:01:46
number changes when saved ~
88 88 2010/01/04 14:25:53
108 107 08/07 12:47:51
136 46 13:33:01 7
166 164 3 seconds ago
The "number" column is the change number. This number
continuously increases and can be used to identify a
specific undo-able change, see |:undo|.
The "changes" column is the number of changes to this
leaf from the root of the tree.
The "time" column is the time this change was made.
The "when" column is the date and time when this
change was made. The four possible formats are:
N seconds ago
HH:MM:SS hour, minute, seconds
MM/DD HH:MM:SS idem, with month and day
YYYY/MM/DD HH:MM:SS idem, with year
The "saved" column specifies, if this change was
written to disk and which file write it was. This can
be used with the |:later| and |:earlier| commands.
For more details use the |undotree()| function.
*g-*
@@ -148,7 +158,7 @@ g- Go to older text state. With a count repeat that many
:earlier {N}d Go to older text state about {N} days before.
:earlier {N}f Go to older text state {N} file writes before.
When changes were made since the laste write
When changes were made since the last write
":earlier 1f" will revert the text to the state when
it was written. Otherwise it will go to the write
before that.
@@ -236,7 +246,9 @@ Vim saves undo trees in a separate undo file, one for each edited file, using
a simple scheme that maps filesystem paths directly to undo files. Vim will
detect if an undo file is no longer synchronized with the file it was written
for (with a hash of the file contents) and ignore it when the file was changed
after the undo file was written, to prevent corruption.
after the undo file was written, to prevent corruption. An undo file is also
ignored if its owner differs from the owner of the edited file. Set 'verbose'
to get a message about that.
Undo files are normally saved in the same directory as the file. This can be
changed with the 'undodir' option.
@@ -324,8 +336,8 @@ Writing an undo file may fail for these reasons:
A file exists with the name of the undo file to be written, but it
does not start with the right magic number. You may want to delete
this file or rename it.
"Skipping undo file write, noting to undo"
There is no undo information not be written, nothing has been changed
"Skipping undo file write, nothing to undo"
There is no undo information to be written, nothing has been changed
or 'undolevels' is negative.
*E829* An error occurred while writing the undo file. You may want to try
again.

View File

@@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 7.3. Last change: 2008 May 07
*usr_01.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM USER MANUAL - by Bram Moolenaar
@@ -40,13 +40,20 @@ the commands and options used for it. Use these two commands:
Press CTRL-] to jump to a subject under the cursor.
Press CTRL-O to jump back (repeat to go further back).
Many links are in vertical bars, like this: |bars|. An option name, like
'number', a command in double quotes like ":write" and any other word can also
be used as a link. Try it out: Move the cursor to CTRL-] and press CTRL-]
on it.
Many links are in vertical bars, like this: |bars|. The bars themselves may
be hidden or invisible, see below. An option name, like 'number', a command
in double quotes like ":write" and any other word can also be used as a link.
Try it out: Move the cursor to CTRL-] and press CTRL-] on it.
Other subjects can be found with the ":help" command, see |help.txt|.
The bars and stars are usually hidden with the |conceal| feature. They also
use |hl-Ignore|, using the same color for the text as the background. You can
make them visible with: >
:set conceallevel=0
:hi link HelpBar Normal
:hi link HelpStar Normal
==============================================================================
*01.2* Vim installed

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.3. Last change: 2010 Jul 20
*usr_41.txt* For Vim version 7.3. Last change: 2011 Feb 15
VIM USER MANUAL - by Bram Moolenaar
@@ -313,7 +313,7 @@ The usual precedence is used. Example: >
:echo 10 + 5 * 2
< 20 ~
Grouping is done with braces. No surprises here. Example: >
Grouping is done with parentheses. No surprises here. Example: >
:echo (10 + 5) * 2
< 30 ~
@@ -537,7 +537,7 @@ way. A few examples will be given in this section. You can find the whole
list here: |functions|.
A function is called with the ":call" command. The parameters are passed in
between braces, separated by commas. Example: >
between parentheses separated by commas. Example: >
:call search("Date: ", "W")
@@ -661,7 +661,14 @@ Floating point computation: *float-functions*
sqrt() square root
sin() sine
cos() cosine
tan() tangent
asin() arc sine
acos() arc cosine
atan() arc tangent
atan2() arc tangent
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
Variables: *var-functions*
type() type of a variable
@@ -793,6 +800,8 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
synID() get syntax ID at a specific position
synIDattr() get a specific attribute of a syntax ID
synIDtrans() get translated syntax ID
synstack() get list of syntax IDs at a specific position
synconcealed() get info about concealing
diff_hlID() get highlight ID for diff mode at a position
matchadd() define a pattern to highlight (a "match")
matcharg() get info about |:match| arguments
@@ -1015,7 +1024,7 @@ so on. The variable "a:0" contains the number of extra arguments.
:function Show(start, ...)
: echohl Title
: echo "Show is " . a:start
: echo "start is " . a:start
: echohl None
: let index = 1
: while index <= a:0
@@ -1283,7 +1292,7 @@ local variable will then refer to that Dictionary.
split(a:line)
The split() function takes a string, chops it into white separated words
The split() function takes a string, chops it into whitespace separated words
and returns a list with these words. Thus in the example it returns: >
:echo split('three two five one')
@@ -1400,7 +1409,7 @@ Let's start with an example: >
The ":read" command will fail if the file does not exist. Instead of
generating an error message, this code catches the error and gives the user a
nice message instead.
nice message.
For the commands in between ":try" and ":endtry" errors are turned into
exceptions. An exception is a string. In the case of an error the string
@@ -1477,7 +1486,7 @@ escaped by a "\" (backslash) as in the following example: >
:set tags=my\ nice\ file
The same example written as >
The same example written as: >
:set tags=my nice file
@@ -2095,7 +2104,7 @@ and that is not what a filetype plugin should do.
When an option has a value that is a list of flags or items, consider using
"+=" and "-=" to keep the existing value. Be aware that the user may have
changed an option value already. First resetting to the default value and
then changing it often a good idea. Example: >
then changing it is often a good idea. Example: >
:setlocal formatoptions& formatoptions+=ro

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2010 Aug 10
*various.txt* For Vim version 7.3. Last change: 2011 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -101,13 +101,14 @@ g8 Print the hex values of the bytes used in the
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
Note: A user command can overrule this command.
See |ex-flags| for [flags].
*:l* *:list*
:[range]l[ist] [count] [flags]
Same as :print, but display unprintable characters
with '^' and put $ after the line. This can be
changed with the 'listchars' option.
further changed with the 'listchars' option.
See |ex-flags| for [flags].
*:nu* *:number*
@@ -132,14 +133,14 @@ g8 Print the hex values of the bytes used in the
specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window
then the 'window' option is used, otherwise the
current window size is used.
then twice the value of the 'scroll' option is used,
otherwise the current window height minus 3 is used.
:z can be used either alone or followed by any of
several punctuation marks. These have the following
effect:
mark first line last line new location ~
mark first line last line new cursor line ~
---- ---------- --------- ------------
+ current line 1 scr forward 1 scr forward
- 1 scr back current line current line
@@ -167,8 +168,8 @@ g8 Print the hex values of the bytes used in the
:norm[al][!] {commands} *:norm* *:normal*
Execute Normal mode commands {commands}. This makes
it possible to execute Normal mode commands typed on
the command-line. {commands} is executed like it is
typed. For undo all commands are undone together.
the command-line. {commands} are executed like they
are typed. For undo all commands are undone together.
Execution stops when an error is encountered.
If the [!] is given, mappings will not be used.
{commands} should be a complete command. If
@@ -610,7 +611,7 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
Only useful for debugging Vim.
==============================================================================
3. Using Vim like less or more *less*
2. Using Vim like less or more *less*
If you use the less or more program to view a file, you don't get syntax
highlighting. Thus you would like to use Vim instead. You can do this by

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.3. Last change: 2010 Aug 15
*version7.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1673,7 +1673,7 @@ The GTK font dialog uses a font size zero when the font name doesn't include a
size. Use a default size of 10.
This example in the documentation didn't work:
:e `=foo . ".c" `
:e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.
When ":helpgrep" doesn't find anything there is no error message.
@@ -8180,7 +8180,7 @@ Solution: Use get_cmdline_type(). (James Vega)
Files: src/ex_getln.c
Patch 7.2.130
Problem: Vim may haing until CTRL-C is typed when using CTRL-Z.
Problem: Vim may hang until CTRL-C is typed when using CTRL-Z.
Solution: Avoid using pause(). Also use "volatile" for variables used in
signal functions. (Dominique Pelle)
Files: src/auto/configure, src/configure.in, src/config.h.in,

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Jul 20
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Oct 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -90,6 +90,7 @@ Maximum lhs of a mapping 50 characters.
Number of different highlighting types: over 30000
Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit
systems)
Maximum length of a line in a tags file: 512 bytes.
Information for undo and text in registers is kept in memory, thus when making
(big) changes the amount of (virtual) memory available limits the number of
@@ -988,6 +989,8 @@ These are remarks about running the POSIX test suite:
- vi test 33 sometimes fails for unknown reasons
- vi test 250 fails; behavior will be changed in a new revision
http://www.opengroup.org/austin/mailarchives/ag-review/msg01710.html
(link no longer works, perhaps it's now:
https://www.opengroup.org/sophocles/show_mail.tpl?CALLER=show_archive.tpl&source=L&listname=austin-review-l&id=1711)
- vi test 310 fails; exit code non-zero when any error occurred?
- ex test 24 fails because test is wrong. Changed between SUSv2 and SUSv3.
- ex tests 47, 48, 49, 72, 73 fail because .exrc file isn't read in silent

View File

@@ -214,7 +214,7 @@ EOF
}
# main
usage() if $#ARGV < 2;
usage() if $#ARGV < 1;
print "Processing tags...\n";
readTagFile( $ARGV[ 0 ] );

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Jul 30
" Last Change: 2011 Apr 28
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -75,7 +75,7 @@ endfunc
au BufNewFile,BufRead *.aap setf aap
" A2ps printing utility
au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
au BufNewFile,BufRead */etc/a2ps.cfg,*/etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
" ABAB/4
au BufNewFile,BufRead *.abap setf abap
@@ -110,8 +110,7 @@ au BufNewFile,BufRead build.xml setf ant
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" Apache config file
au BufNewFile,BufRead .htaccess,/etc/httpd/*.conf setf apache
au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
" XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65
@@ -124,7 +123,7 @@ au BufNewFile,BufRead *.am
\ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
" ALSA configuration
au BufNewFile,BufRead ~/.asoundrc,/usr/share/alsa/alsa.conf,/etc/asound.conf setf alsaconf
au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf setf alsaconf
" Arc Macro Language
au BufNewFile,BufRead *.aml setf aml
@@ -157,7 +156,7 @@ au BufNewFile,BufRead *.asp
\ endif
" Grub (must be before catch *.lst)
au BufNewFile,BufRead /boot/grub/menu.lst,/boot/grub/grub.conf,/etc/grub.conf setf grub
au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf setf grub
" Assembly (all kinds)
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
@@ -296,7 +295,7 @@ endfunc
au BufNewFile,BufRead *.bl setf blank
" Blkid cache file
au BufNewFile,BufRead /etc/blkid.tab,/etc/blkid.tab.old setf xml
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" C or lpc
au BufNewFile,BufRead *.c call s:FTlpc()
@@ -317,21 +316,18 @@ endfunc
" Calendar
au BufNewFile,BufRead calendar setf calendar
au BufNewFile,BufRead */.calendar/*,
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
\ call s:StarSetf('calendar')
" C#
au BufNewFile,BufRead *.cs setf cs
" Cabal
au BufNewFile,BufRead *.cabal setf cabal
au BufNewFile,BufRead *.cabal setf cabal
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
" Cdrdao config
au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf
au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf
" Cfengine
au BufNewFile,BufRead cfengine.conf setf cfengine
@@ -488,7 +484,7 @@ au BufNewFile,BufRead *.prg
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
" Cmusrc
au BufNewFile,BufRead ~/.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc
" Cobol
@@ -536,7 +532,7 @@ au BufNewFile,BufRead *.qc setf c
au BufNewFile,BufRead *.cfg setf cfg
" Cucumber
au BufNewFile,BufRead *.feature setf cucumber
au BufNewFile,BufRead *.feature setf cucumber
" Communicating Sequential Processes
au BufNewFile,BufRead *.csp,*.fdr setf csp
@@ -553,11 +549,15 @@ au BufNewFile,BufRead control
\| endif
" Debian Sources.list
au BufNewFile,BufRead /etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
" Deny hosts
au BufNewFile,BufRead denyhosts.conf setf denyhosts
" dnsmasq(8) configuration files
au BufNewFile,BufRead dnsmasq.conf setf dnsmasq
" ROCKLinux package description
au BufNewFile,BufRead *.desc setf desc
@@ -586,7 +586,7 @@ au BufNewFile,BufRead dictd.conf setf dictdconf
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
" Dircolors
au BufNewFile,BufRead .dir_colors,/etc/DIR_COLORS setf dircolors
au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors
" Diva (with Skill) or InstallShield
au BufNewFile,BufRead *.rul
@@ -677,6 +677,9 @@ au BufNewFile,BufRead *.exp setf expect
" Exports
au BufNewFile,BufRead exports setf exports
" Falcon
au BufNewFile,BufRead *.fal setf falcon
" Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan
@@ -725,14 +728,14 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
autocmd BufNewFile,BufRead .msg.[0-9]*
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 .msg.[0-9]*
\ if getline(1) =~ '^From.*# This line is ignored.$' |
\ setf gitsendemail |
\ endif
autocmd BufNewFile,BufRead *.git/**
au BufNewFile,BufRead *.git/**
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
\ setf git |
\ endif
@@ -746,7 +749,10 @@ au BufNewFile,BufRead *.gp,.gprc setf gp
" GPG
au BufNewFile,BufRead */.gnupg/options setf gpg
au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg
au BufNewFile,BufRead /usr/**/gnupg/options.skel setf gpg
au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg
" gnash(1) configuration files
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
" Gnuplot scripts
au BufNewFile,BufRead *.gpi setf gnuplot
@@ -764,7 +770,7 @@ au BufNewFile,BufRead *.groovy setf groovy
au BufNewFile,BufRead *.gsp setf gsp
" Group file
au BufNewFile,BufRead /etc/group,/etc/group-,/etc/group.edit,/etc/gshadow,/etc/gshadow-,/etc/gshadow.edit,/var/backups/group.bak,/var/backups/gshadow.bak setf group
au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
@@ -776,7 +782,7 @@ au BufNewFile,BufRead *.haml setf haml
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
" Haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
@@ -823,10 +829,10 @@ au BufNewFile,BufRead *.html.m4 setf htmlm4
au BufNewFile,BufRead *.tmpl setf htmlcheetah
" Host config
au BufNewFile,BufRead /etc/host.conf setf hostconf
au BufNewFile,BufRead */etc/host.conf setf hostconf
" Hosts access
au BufNewFile,BufRead /etc/hosts.allow,/etc/hosts.deny setf hostsaccess
au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess
" Hyper Builder
au BufNewFile,BufRead *.hb setf hb
@@ -869,7 +875,9 @@ func! s:ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
" comments, thus we can't match comments to see the difference.
if getline(2) =~ ';$'
" IDL files can have a single ';' in the second line, require at least one
" chacter before the ';'.
if getline(2) =~ '.;$'
setf cpp
else
exe 'setf ' . a:default
@@ -884,7 +892,7 @@ au BufNewFile,BufRead indentrc setf indent
au BufNewFile,BufRead *.inf,*.INF setf inform
" Initng
au BufNewFile,BufRead /etc/initng/**/*.i,*.ii setf initng
au BufNewFile,BufRead */etc/initng/**/*.i,*.ii setf initng
" Ipfilter
au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter
@@ -948,7 +956,7 @@ au BufNewFile,BufRead *.ace,*.ACE setf lace
au BufNewFile,BufRead *.latte,*.lte setf latte
" Limits
au BufNewFile,BufRead /etc/limits setf limits
au BufNewFile,BufRead */etc/limits,*/etc/*limits.conf,*/etc/*limits.d/*.conf setf limits
" LambdaProlog (*.mod too, see Modsim)
au BufNewFile,BufRead *.sig setf lprolog
@@ -963,10 +971,10 @@ au BufNewFile,BufRead *.ld setf ld
au BufNewFile,BufRead *.lex,*.l setf lex
" Libao
au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao
au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao
" Libsensors
au BufNewFile,BufRead /etc/sensors.conf setf sensors
au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors
" LFTP
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
@@ -975,7 +983,7 @@ au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
au BufNewFile,BufRead *.ll setf lifelines
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo')
au BufNewFile,BufRead lilo.conf setf lilo
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)
if has("fname_case")
@@ -997,10 +1005,10 @@ au BufNewFile,BufRead *.lite,*.lt setf lite
au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep
" Login access
au BufNewFile,BufRead /etc/login.access setf loginaccess
au BufNewFile,BufRead */etc/login.access setf loginaccess
" Login defs
au BufNewFile,BufRead /etc/login.defs setf logindefs
au BufNewFile,BufRead */etc/login.defs setf logindefs
" Logtalk
au BufNewFile,BufRead *.lgt setf logtalk
@@ -1031,7 +1039,7 @@ au BufNewFile,BufRead *.mgp setf mgp
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
" Mail aliases
au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases
" Mailcap configuration file
au BufNewFile,BufRead .mailcap,mailcap setf mailcap
@@ -1046,7 +1054,7 @@ au BufNewFile,BufRead *.ist,*.mst setf ist
au BufNewFile,BufRead *.man setf man
" Man config
au BufNewFile,BufRead /etc/man.conf,man.config setf manconf
au BufNewFile,BufRead */etc/man.conf,man.config setf manconf
" Maple V
au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
@@ -1097,8 +1105,8 @@ au BufNewFile,BufRead *.mel setf mel
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
" Messages
au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
" Messages (logs mostly)
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
" Metafont
au BufNewFile,BufRead *.mf setf mf
@@ -1154,11 +1162,7 @@ au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk
au BufNewFile,BufRead *.moo setf moo
" Modconf
au BufNewFile,BufRead /etc/modules.conf,/etc/conf.modules setf modconf
au BufNewFile,BufRead /etc/modutils/*
\ if executable(expand("<afile>")) != 1
\| call s:StarSetf('modconf')
\|endif
au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf
" Mplayer config
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
@@ -1175,6 +1179,9 @@ au BufNewFile,BufRead *.msql setf msql
" Mysql
au BufNewFile,BufRead *.mysql setf mysql
" Mutt setup files (must be before catch *.rc)
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
" M$ Resource files
au BufNewFile,BufRead *.rc setf rc
@@ -1188,7 +1195,7 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
" Nano
au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
au BufNewFile,BufRead */etc/nanorc,.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@@ -1264,13 +1271,13 @@ au BufNewFile,BufRead *.ora setf ora
au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead /etc/pam.conf setf pamconf
au BufNewFile,BufRead */etc/pam.conf setf pamconf
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
" Password file
au BufNewFile,BufRead /etc/passwd,/etc/passwd-,/etc/passwd.edit,/etc/shadow,/etc/shadow-,/var/backups/passwd.bak,/var/backups/shadow.bak setf passwd
au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd
" Pascal (also *.p)
au BufNewFile,BufRead *.pas setf pascal
@@ -1402,7 +1409,7 @@ au BufNewFile,BufRead *.it,*.ih setf ppwiz
" Obj 3D file format
" TODO: is there a way to avoid MS-Windows Object files?
au BufNewFile,BufRead *.obj setf obj
au BufNewFile,BufRead *.obj setf obj
" Oracle Pro*C/C++
au BufNewFile,BufRead *.pc setf proc
@@ -1497,7 +1504,7 @@ au BufNewFile,BufRead *.pdb setf prolog
au BufNewFile,BufRead *.pml setf promela
" Protocols
au BufNewFile,BufRead /etc/protocols setf protocols
au BufNewFile,BufRead */etc/protocols setf protocols
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
@@ -1583,8 +1590,7 @@ func! s:FTr()
endfunc
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
au BufNewFile,BufRead *.remind,*.rem setf remind
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
" Resolv.conf
au BufNewFile,BufRead resolv.conf setf resolv
@@ -1611,7 +1617,16 @@ au BufNewFile,BufRead *.rtf setf rtf
au BufNewFile,BufRead .irbrc,irbrc setf ruby
" Ruby
au BufNewFile,BufRead *.rb,*.rbw,*.gem,*.gemspec setf ruby
au BufNewFile,BufRead *.rb,*.rbw setf ruby
" RubyGems
au BufNewFile,BufRead *.gemspec setf ruby
" Rackup
au BufNewFile,BufRead *.ru setf ruby
" Bundler
au BufNewFile,BufRead Gemfile setf ruby
" Ruby on Rails
au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby
@@ -1638,7 +1653,7 @@ au BufNewFile,BufRead *.sa setf sather
au BufNewFile,BufRead *.sci,*.sce setf scilab
" SCSS
au BufNewFile,BufRead *.scss setf scss
au BufNewFile,BufRead *.scss setf scss
" SD: Streaming Descriptors
au BufNewFile,BufRead *.sd setf sd
@@ -1675,19 +1690,19 @@ func! s:McSetf()
endfunc
" Services
au BufNewFile,BufRead /etc/services setf services
au BufNewFile,BufRead */etc/services setf services
" Service Location config
au BufNewFile,BufRead /etc/slp.conf setf slpconf
au BufNewFile,BufRead */etc/slp.conf setf slpconf
" Service Location registration
au BufNewFile,BufRead /etc/slp.reg setf slpreg
au BufNewFile,BufRead */etc/slp.reg setf slpreg
" Service Location SPI
au BufNewFile,BufRead /etc/slp.spi setf slpspi
au BufNewFile,BufRead */etc/slp.spi setf slpspi
" Setserial config
au BufNewFile,BufRead /etc/serial.conf setf setserial
au BufNewFile,BufRead */etc/serial.conf setf setserial
" SGML
au BufNewFile,BufRead *.sgm,*.sgml
@@ -1714,7 +1729,7 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Gentoo ebuilds are actually bash scripts
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
au BufNewFile,BufRead /etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
" Also called from scripts.vim.
func! SetFileTypeSH(name)
@@ -1797,9 +1812,9 @@ func! s:CSH()
endfunc
" Z-Shell script
au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
au BufNewFile,BufRead *.zsh setf zsh
au BufNewFile,BufRead *.zsh setf zsh
" Scheme
au BufNewFile,BufRead *.scm,*.ss setf scheme
@@ -1868,7 +1883,7 @@ au BufNewFile,BufRead *.rules call s:FTRules()
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func! s:FTRules()
let path = expand('<amatch>:p')
if path =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$'
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
setf udevrules
return
endif
@@ -1956,13 +1971,13 @@ au BufNewFile,BufRead *.sml setf sml
au BufNewFile,BufRead *.cm setf voscm
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc
" Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
" SVG (Scalable Vector Graphics)
au BufNewFile,BufRead *.svg setf svg
@@ -2089,6 +2104,9 @@ au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
" TPP - Text Presentation Program
au BufNewFile,BufReadPost *.tpp setf tpp
" Treetop
au BufRead,BufNewFile *.treetop setf treetop
" Trustees
au BufNewFile,BufRead trustees.conf setf trustees
@@ -2105,19 +2123,23 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
au BufNewFile,BufRead *.uit,*.uil setf uil
" Udev conf
au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf
" Udev permissions
au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm
"
" Udev symlinks config
au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh
au BufNewFile,BufRead */etc/udev/cdsymlinks.conf setf sh
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
" Upstart (init(8)) config files
au BufNewFile,BufRead */etc/init/*.conf,*/.init/*.conf setf upstart
au BufNewFile,BufRead */etc/init/*.override,*/.init/*.override setf upstart
" Vera
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
@@ -2209,15 +2231,18 @@ au BufEnter *.xpm2 setf xpm2
" XFree86 config
au BufNewFile,BufRead XF86Config
\ if getline(1) =~ '\<XConfigurator\>' |
\ let b:xf86c_xfree86_version = 3 |
\ let b:xf86conf_xfree86_version = 3 |
\ endif |
\ setf xf86conf
au BufNewFile,BufRead */xorg.conf.d/*.conf
\ let b:xf86conf_xfree86_version = 4 |
\ setf xf86conf
" Xorg config
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 | setf xf86conf
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.conf setf xinetd
au BufNewFile,BufRead */etc/xinetd.conf setf xinetd
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -2264,7 +2289,7 @@ au BufNewFile,BufRead *.ts,*.ui setf xml
au BufNewFile,BufRead *.tpm setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
au BufNewFile,BufRead */etc/xdg/menus/*.menu setf xml
" ATI graphics driver configuration
au BufNewFile,BufRead fglrxrc setf xml
@@ -2348,8 +2373,9 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
" Most of these should call s:StarSetf() to avoid names ending in .gz and the
" like are used.
" More Apache files.
au BufNewFile,BufRead /etc/apache2/conf.*/*,/etc/apache2/sites-*/*,/etc/apache2/mods-*/* call s:StarSetf('apache')
" More Apache config files
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" Asterisk config file
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
@@ -2361,6 +2387,11 @@ au BufNewFile,BufRead bzr_log.* setf bzr
" BIND zone
au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone')
" Calendar
au BufNewFile,BufRead */.calendar/*,
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
\ call s:StarSetf('calendar')
" Changelog
au BufNewFile,BufRead [cC]hange[lL]og*
\ if getline(1) =~ '; urgency='
@@ -2370,10 +2401,10 @@ au BufNewFile,BufRead [cC]hange[lL]og*
\|endif
" Crontab
au BufNewFile,BufRead crontab,crontab.*,/etc/cron.d/* call s:StarSetf('crontab')
au BufNewFile,BufRead crontab,crontab.*,*/etc/cron.d/* call s:StarSetf('crontab')
" Debian Sources.list
au BufNewFile,BufRead /etc/apt/sources.list.d/* call s:StarSetf('debsources')
" dnsmasq(8) configuration
au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq')
" Dracula
au BufNewFile,BufRead drac.* call s:StarSetf('dracula')
@@ -2390,7 +2421,7 @@ au BufNewFile,BufRead *fvwm2rc*
\|endif
" Gedcom
au BufNewFile,BufRead /tmp/lltmp* call s:StarSetf('gedcom')
au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom')
" GTK RC
au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc')
@@ -2407,8 +2438,11 @@ au! BufNewFile,BufRead *jarg*
" Kconfig
au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo')
" Logcheck
au BufNewFile,BufRead /etc/logcheck/*.d*/* call s:StarSetf('logcheck')
au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck')
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
@@ -2420,7 +2454,11 @@ au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\} setf mail
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
au BufNewFile,BufRead */etc/modutils/*
\ if executable(expand("<afile>")) != 1
\| call s:StarSetf('modconf')
\|endif
au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf')
" Mutt setup file
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
@@ -2430,7 +2468,7 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
" Pam conf
au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf')
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
@@ -2442,6 +2480,9 @@ au BufNewFile,BufRead *termcap*
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap')
\|endif
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
" Vim script
au BufNewFile,BufRead *vimrc* call s:StarSetf('vim')
@@ -2453,10 +2494,10 @@ au BufNewFile,BufRead Xresources*,*/app-defaults/*,*/Xresources/* call s:StarSet
" XFree86 config
au BufNewFile,BufRead XF86Config-4*
\ let b:xf86c_xfree86_version = 4 | call s:StarSetf('xf86conf')
\ let b:xf86conf_xfree86_version = 4 | call s:StarSetf('xf86conf')
au BufNewFile,BufRead XF86Config*
\ if getline(1) =~ '\<XConfigurator\>'
\| let b:xf86c_xfree86_version = 3
\| let b:xf86conf_xfree86_version = 3
\|endif
\|call s:StarSetf('xf86conf')
@@ -2464,7 +2505,7 @@ au BufNewFile,BufRead XF86Config*
au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd')
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
" Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2009-05-25
" Latest Revision: 2010-08-17
" Variables:
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
" description: the timeformat used in ChangeLog entries.
@@ -170,7 +170,7 @@ if &filetype == 'changelog'
endfunction
" Internal function to create a new entry in the ChangeLog.
function! s:new_changelog_entry()
function! s:new_changelog_entry(...)
" Deal with 'paste' option.
let save_paste = &paste
let &paste = 1

View File

@@ -0,0 +1,22 @@
" Vim filetype plugin file
" Language: DocBook
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
if exists('b:did_ftplugin')
finish
endif
if !exists('b:docbk_type')
if expand('%:e') == 'sgml'
let b:docbk_type = 'sgml'
else
let b:docbk_type = 'xml'
endif
endif
if b:docbk_type == 'sgml'
runtime! ftplugin/sgml.vim ftplugin/sgml_*.vim ftplugin/sgml/*.vim
else
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
endif

View File

@@ -0,0 +1,43 @@
" Vim filetype plugin file
" Language: Falcon
" Author: Steven Oliver <oliver.steven@gmail.com>
" Copyright: Copyright (c) 2009, 2010 Steven Oliver
" License: You may redistribute this under the same terms as Vim itself
" --------------------------------------------------------------------------
" GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
setlocal suffixesadd=.fal
" Matchit support
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
let b:match_words =
\ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' .
\ ':' .
\ '\<\%(else\|elsif\|when\)\>' .
\ ':' .
\ '\<end\>' .
\ ',{:},\[:\],(:)'
endif
" Set comments to include dashed lines
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
" Windows allows you to filter the open file dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Falcon Source Files (*.fal)\t*.fal\n" .
\ "All Files (*.*)\t*.*\n"
endif
" vim: set sw=4 sts=4 et tw=80 :

View File

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

View File

@@ -1,14 +1,19 @@
" Vim filetype plugin file
" Language: pascal
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 20 Jan 2009
" Last Changed: 11 Apr 2011
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
if exists("loaded_matchit")
let b:match_words='\<\%(begin\|case\|try\)\>:\<end\>'
let b:match_ignorecase = 1 " (pascal is case-insensitive)
let b:match_words = '\<\%(begin\|case\|record\|object\|try\)\>'
let b:match_words .= ':\<^\s*\%(except\|finally\)\>:\<end\>'
let b:match_words .= ',\<repeat\>:\<until\>'
let b:match_words .= ',\<if\>:\<else\>'
endif
" Undo the stuff we changed.

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Vim's quickfix window
" Maintainer: Lech Lorens <Lech.Lorens@gmail.com>
" Last Changed: 22 Jul 2010
" Last Changed: 18 Dec 2010
if exists("b:did_ftplugin")
finish
@@ -10,7 +10,7 @@ endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl stl<"
let b:undo_ftplugin = "set stl<"
" Display the command that produced the list in the quickfix window:
setlocal stl=%q%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}
setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}

View File

@@ -1,8 +1,8 @@
" SQL filetype plugin file
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
" Version: 7.0
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
" Last Change: 2010 Jun 11
" Version: 8.0
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Last Change: 2011 Apr 01
" Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use:
@@ -36,6 +36,10 @@
"
" History
"
" Version 8.0
"
" NF: Improved the matchit plugin regex (Talek)
"
" Version 7.0
"
" NF: Calls the sqlcomplete#ResetCacheSyntax() function when calling
@@ -290,6 +294,7 @@ if !exists("b:match_words")
" WHEN OTHERS THEN
"
" create[ or replace] procedure|function|event
" \ '^\s*\<\%(do\|for\|while\|loop\)\>.*:'.
let b:match_words =
\ '\<begin\>:\<end\>\W*$,'.
@@ -298,12 +303,9 @@ if !exists("b:match_words")
\ '\<elsif\>\|\<elseif\>\|\<else\>:'.
\ '\<end\s\+if\>,'.
\
\ '\<do\>\|'.
\ '\<while\>\|'.
\ '\%(' . s:notend . '\<loop\>\)\|'.
\ '\%(' . s:notend . '\<for\>\):'.
\ '\<exit\>\|\<leave\>\|\<break\>\|\<continue\>:'.
\ '\%(\<end\s\+\%(for\|loop\>\)\)\|\<doend\>,'.
\ '\(^\s*\)\@<=\(\<\%(do\|for\|while\|loop\)\>.*\):'.
\ '\%(\<exit\>\|\<leave\>\|\<break\>\|\<continue\>\):'.
\ '\%(\<doend\>\|\%(\<end\s\+\%(for\|while\|loop\>\)\)\),'.
\
\ '\%('. s:notend . '\<case\>\):'.
\ '\%('.s:when_no_matched_or_others.'\):'.

View File

@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=b:# commentstring=#\ %s formatoptions-=tcroq formatoptions+=l
let b:undo_ftplugin = "setl com< cms< fo<"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09
" Latest Revision: 2011-01-23
if exists("b:did_ftplugin")
finish
@@ -15,5 +15,12 @@ let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let b:match_words =
\ &matchpairs
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
let b:match_skip = 's:comment\|string\|heredoc\|subst'
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: CSS
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Latest Revision: 2010-12-22
if exists("b:did_indent")
finish
@@ -64,8 +64,6 @@ function GetCSSIndent()
let line = getline(v:lnum)
if line =~ '^\s*\*'
return cindent(v:lnum)
elseif line =~ '^\s*}'
return indent(v:lnum) - &sw
endif
let pnum = s:prevnonblanknoncomment(v:lnum - 1)
@@ -73,12 +71,6 @@ function GetCSSIndent()
return 0
endif
let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
let pline = getline(pnum)
if pline =~ '}\s*$'
let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
endif
return ind
return indent(pnum) + s:count_braces(pnum, 1) * &sw
\ - s:count_braces(v:lnum, 0) * &sw
endfunction

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: DTD (Document Type Definition for XML)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-18
" Latest Revision: 2010-09-21
let s:cpo_save = &cpo
set cpo&vim
@@ -52,7 +52,7 @@ function s:indent_to_innermost_parentheses(line, end)
let end = a:end
let parentheses = [end - 1]
while token != ""
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\)[?*+]\=')
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#PCDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
if token[0] == '('
call add(parentheses, end - 1)
elseif token[0] == ')'
@@ -80,7 +80,7 @@ function GetDTDIndent()
let lnum = line('.')
let col = col('.')
let indent = indent('.')
let line = join(getline(lnum, v:lnum - 1), "\n")
let line = lnum == v:lnum ? getline(lnum) : join(getline(lnum, v:lnum - 1), "\n")
let [declaration, end] = s:lex1(line, col)
if declaration == ""
@@ -106,7 +106,7 @@ function GetDTDIndent()
" Check for token following element name. This can be a specification of
" whether the start or end tag may be omitted. If nothing is found, indent
" one level.
let [token, end] = s:lex(line, end)
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
let n = 0
while token =~ '[-O]' && n < 2
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
@@ -214,8 +214,7 @@ function GetDTDIndent()
" Finally look for the attributes default value. If non exists, indent
" two levels.
" TODO: Do validation of keywords (#REQUIRED|#IMPLIED)?
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|[^[:space:]]\+\)')
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|#\(REQUIRED\|IMPLIED\|FIXED\)\)')
if default == ""
return indent + &sw * 2
elseif default == '#FIXED'

156
runtime/indent/falcon.vim Normal file
View File

@@ -0,0 +1,156 @@
" Vim indent file
" Language: Falcon
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
" Website: https://steveno@github.com/steveno/falconpl-vim.git
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" -----------------------------------------------------------
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
"======================================
" SETUP
"======================================
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal nosmartindent
" Setup indent function and when to use it
setlocal indentexpr=FalconGetIndent()
setlocal indentkeys=0{,0},0),0],!^F,o,O,e
setlocal indentkeys+==~case,=~catch,=~default,=~elif,=~else,=~end,=~\"
" Define the appropriate indent function but only once
if exists("*FalconGetIndent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
"======================================
" VARIABLES
"======================================
" Regex of syntax group names that are strings AND comments
let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
" Regex of syntax group names that are strings
let s:syng_string = '\<falcon\%(String\|StringEscape\)\>'
" Keywords to indent on
let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|else' .
\ '\|for\|function\|if.*"[^"]*:.*"\|if \(\(:\)\@!.\)*$\|loop\|object\|select' .
\ '\|switch\|try\|while\|\w*\s*=\s*\w*([$\)'
" Keywords to deindent on
let s:falcon_deindent_keywords = '^\s*\(case\|catch\|default\|elif\|else\|end\)'
"======================================
" FUNCTIONS
"======================================
" Check if the character at lnum:col is inside a string
function s:IsInStringOrComment(lnum, col)
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
endfunction
"======================================
" INDENT ROUTINE
"======================================
function FalconGetIndent()
" Get the line to be indented
let cline = getline(v:lnum)
" Don't reindent comments on first column
if cline =~ '^\/\/'
return 0
endif
" Find the previous non-blank line
let lnum = prevnonblank(v:lnum - 1)
" Use zero indent at the top of the file
if lnum == 0
return 0
endif
let prevline=getline(lnum)
let ind = indent(lnum)
let chg = 0
" If we are in a multi-line string or line-comment, don't do anything
if s:IsInStringOrComment(v:lnum, matchend(cline, '^\s*') + 1 )
return indent('.')
endif
" If the start of the line equals a double quote, then indent to the
" previous lines first double quote
if cline =~? '^\s*"'
let chg = chg + &sw
endif
" If previous line started with a double quote and this one
" doesn't, unindent
if prevline =~? '^\s*"' && cline =~? '^\s*'
let chg = chg - &sw
endif
" Indent if proper keyword
if prevline =~? s:falcon_indent_keywords
let chg = &sw
" If previous line opened a parenthesis, and did not close it, indent
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
" Make sure this isn't just a function split between two lines
if prevline =~ ',\s*$'
return indent(prevnonblank(v:lnum - 1)) + &sw
else
return match(prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
endif
elseif prevline =~ '^[^(]*)\s*$'
" This line closes a parenthesis. Finds opening.
let curr_line = prevnonblank(lnum - 1)
while curr_line >= 0
let str = getline(curr_line)
if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
let curr_line = prevnonblank(curr_line - 1)
else
break
endif
endwhile
if curr_line < 0
return -1
endif
let ind = indent(curr_line)
endif
" If previous line ends in a semi-colon reset indent to previous
" lines setting
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
return chg = chg - (2 * &sw)
endif
" If previous line ended in a comma, indent again
if prevline =~? ',\s*$'
let chg = chg + &sw
endif
" If previous line ended in a =>, indent again
if prevline =~? '=>\s*$'
let chg = chg + &sw
endif
" Deindent on proper keywords
if cline =~? s:falcon_deindent_keywords
let chg = chg - &sw
endif
return ind + chg
endfunction
" vim: set sw=4 sts=4 et tw=80 :

View File

@@ -2,7 +2,11 @@
" Language: Pascal
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
" Created: 2004 Jul 13
" Last Change: 2005 Jul 05
" Last Change: 2011 Apr 01
"
" This is version 2.0, a complete rewrite.
"
" For further documentation, see http://psy.swansea.ac.uk/staff/carter/vim/
if exists("b:did_indent")
@@ -38,7 +42,15 @@ function! s:GetPrevNonCommentLineNum( line_num )
endfunction
function! s:PurifyCode( line_num )
" Strip any trailing comments and whitespace
let pureline = 'TODO'
return pureline
endfunction
function! GetPascalIndent( line_num )
" Line 0 always goes at column 0
if a:line_num == 0
return 0
@@ -46,128 +58,171 @@ function! GetPascalIndent( line_num )
let this_codeline = getline( a:line_num )
" If in the middle of a three-part comment
" SAME INDENT
" Middle of a three-part comment
if this_codeline =~ '^\s*\*'
return indent( a:line_num )
return indent( a:line_num - 1)
endif
" COLUMN 1 ALWAYS
" Last line of the program
if this_codeline =~ '^\s*end\.'
return 0
endif
" Compiler directives, allowing "(*" and "{"
"if this_codeline =~ '^\s*\({\|(\*\)$\(IFDEF\|IFNDEF\|ELSE\|ENDIF\)'
if this_codeline =~ '^\s*\({\|(\*\)\$'
return 0
endif
" section headers
if this_codeline =~ '^\s*\(program\|procedure\|function\|type\)\>'
return 0
endif
" Subroutine separators, lines ending with "const" or "var"
if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\(const\|var\)\)$'
return 0
endif
" OTHERWISE, WE NEED TO LOOK FURTHER BACK...
let prev_codeline_num = s:GetPrevNonCommentLineNum( a:line_num )
let prev_codeline = getline( prev_codeline_num )
let indnt = indent( prev_codeline_num )
" Compiler directives should always go in column zero.
if this_codeline =~ '^\s*{\(\$IFDEF\|\$ELSE\|\$ENDIF\)'
return 0
" INCREASE INDENT
" If the PREVIOUS LINE ended in these items, always indent
if prev_codeline =~ '\<\(type\|const\|var\)$'
return indnt + &shiftwidth
endif
" These items have nothing before or after (not even a comment), and
" go on column 0. Make sure that the ^\s* is followed by \( to make
" ORs work properly, and not include the start of line (this must
" always appear).
" The bracketed expression with the underline is a routine
" separator. This is one case where we do indent comment lines.
if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\<\(const\|var\)\>\)$'
return 0
endif
" These items may have text after them, and go on column 0 (in most
" cases). The problem is that "function" and "procedure" keywords
" should be indented if within a class declaration.
if this_codeline =~ '^\s*\<\(program\|type\|uses\|procedure\|function\)\>'
return 0
endif
" BEGIN
" If the begin does not come after "if", "for", or "else", then it
" goes in column 0
if this_codeline =~ '^\s*begin\>' && prev_codeline !~ '^\s*\<\(if\|for\|else\)\>'
return 0
endif
" These keywords are indented once only.
if this_codeline =~ '^\s*\<\(private\)\>'
return &shiftwidth
endif
" If the PREVIOUS LINE contained these items, the current line is
" always indented once.
if prev_codeline =~ '^\s*\<\(type\|uses\)\>'
return &shiftwidth
endif
" These keywords are indented once only. Possibly surrounded by
" other chars.
if this_codeline =~ '^.\+\<\(object\|record\)\>'
return &shiftwidth
endif
" If the previous line was indenting...
if prev_codeline =~ '^\s*\<\(for\|if\|case\|else\|end\ else\)\>'
" then indent.
let indnt = indnt + &shiftwidth
" BUT... if this is the start of a multistatement block then we
" need to align the begin with the previous line.
if this_codeline =~ '^\s*begin\>'
return indnt - &shiftwidth
endif
" We also need to keep the indentation level constant if the
" whole if-then statement was on one line.
if prev_codeline =~ '\<then\>.\+'
let indnt = indnt - &shiftwidth
endif
endif
" PREVIOUS-LINE BEGIN
" If the previous line was an indenting keyword then indent once...
if prev_codeline =~ '^\s*\<\(const\|var\|begin\|repeat\|private\)\>'
" But only if this is another var in a list.
if this_codeline !~ '^\s*var\>'
if prev_codeline =~ '\<repeat$'
if this_codeline !~ '^\s*until\>'
return indnt + &shiftwidth
else
return indnt
endif
endif
" PREVIOUS-LINE BEGIN
" Indent code after a case statement begin
if prev_codeline =~ '\:\ begin\>'
if prev_codeline =~ '\<\(begin\|record\)$'
if this_codeline !~ '^\s*end\>'
return indnt + &shiftwidth
else
return indnt
endif
endif
" If the PREVIOUS LINE ended with these items, indent if not
" followed by "begin"
if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$'
if this_codeline !~ '^\s*begin\>'
return indnt + &shiftwidth
else
" If it does start with "begin" then keep the same indent
"return indnt + &shiftwidth
return indnt
endif
endif
" Inside a parameter list (i.e. a "(" without a ")"). ???? Considers
" only the line before the current one. TODO: Get it working for
" parameter lists longer than two lines.
if prev_codeline =~ '([^)]\+$'
return indnt + &shiftwidth
endif
" These words may have text before them on the line (hence the .*)
" but are followed by nothing. Always indent once only.
if prev_codeline =~ '^\(.*\|\s*\)\<\(object\|record\)\>$'
return indnt + &shiftwidth
endif
" If we just closed a bracket that started on a previous line, then
" unindent. But don't return yet -- we need to check for further
" unindentation (for end/until/else)
if prev_codeline =~ '^[^(]*[^*])'
let indnt = indnt - &shiftwidth
endif
" DECREASE INDENT
" At the end of a block, we have to unindent both the current line
" (the "end" for instance) and the newly-created line.
if this_codeline =~ '^\s*\<\(end\|until\|else\)\>'
" Lines starting with "else", but not following line ending with
" "end".
if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$'
return indnt - &shiftwidth
endif
" If we have opened a bracket and it continues over one line,
" then indent once.
"
" RE = an opening bracket followed by any amount of anything other
" than a closing bracket and then the end-of-line.
"
" If we didn't include the end of line, this RE would match even
" closed brackets, since it would match everything up to the closing
" bracket.
"
" This test isn't clever enough to handle brackets inside strings or
" comments.
if prev_codeline =~ '([^*]\=[^)]*$'
" Lines after a single-statement branch/loop.
" Two lines before ended in "then", "else", or "do"
" Previous line didn't end in "begin"
let prev2_codeline_num = s:GetPrevNonCommentLineNum( prev_codeline_num )
let prev2_codeline = getline( prev2_codeline_num )
if prev2_codeline =~ '\<\(then\|else\|do\)$' && prev_codeline !~ '\<begin$'
" If the next code line after a single statement branch/loop
" starts with "end", "except" or "finally", we need an
" additional unindentation.
if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$'
" Note that we don't return from here.
return indnt - &shiftwidth - &shiftwidth
endif
return indnt - &shiftwidth
endif
" Lines starting with "until" or "end". This rule must be overridden
" by the one for "end" after a single-statement branch/loop. In
" other words that rule should come before this one.
if this_codeline =~ '^\s*\(end\|until\)\>'
return indnt - &shiftwidth
endif
" MISCELLANEOUS THINGS TO CATCH
" Most "begin"s will have been handled by now. Any remaining
" "begin"s on their own line should go in column 1.
if this_codeline =~ '^\s*begin$'
return 0
endif
" ____________________________________________________________________
" Object/Borland Pascal/Delphi Extensions
"
" Note that extended-pascal is handled here, unless it is simpler to
" handle them in the standard-pascal section above.
" COLUMN 1 ALWAYS
" section headers at start of line.
if this_codeline =~ '^\s*\(interface\|implementation\|uses\|unit\)\>'
return 0
endif
" INDENT ONCE
" If the PREVIOUS LINE ended in these items, always indent.
if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$'
return indnt + &shiftwidth
endif
" ???? Indent "procedure" and "functions" if they appear within an
" class/object definition. But that means overriding standard-pascal
" rule where these words always go in column 1.
" UNINDENT ONCE
if this_codeline =~ '^\s*\(except\|finally\)$'
return indnt - &shiftwidth
endif
if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$'
return indnt - &shiftwidth
endif
" ____________________________________________________________________
" If nothing changed, return same indent.
return indnt
endfunction

View File

@@ -0,0 +1,38 @@
" Vim indent file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetTreetopIndent()
setlocal indentkeys=0{,0},!^F,o,O,=end
setlocal nosmartindent
if exists("*GetTreetopIndent")
finish
endif
function GetTreetopIndent()
let pnum = prevnonblank(v:lnum - 1)
if pnum == 0
return 0
endif
let ind = indent(pnum)
let line = getline(pnum)
if line =~ '^\s*\%(grammar\|module\|rule\)\>'
let ind += &sw
endif
let line = getline(v:lnum)
if line =~ '^\s*end\>'
let ind -= &sw
end
retur ind
endfunction

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 06
" Last Change: 2011 Mar 22
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -44,10 +44,18 @@ function GetVimIndent()
else
let ind = ind + &sw * 3
endif
elseif getline(lnum) =~ '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>'
let ind = ind + &sw
elseif getline(lnum) =~ '^\s*aug\%[roup]' && getline(lnum) !~ '^\s*aug\%[roup]\s*!\=\s\+END'
let ind = ind + &sw
else
let line = getline(lnum)
let i = match(line, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
if i >= 0
let ind += &sw
if strpart(line, i, 1) == '|' && has('syntax_items')
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
let ind -= &sw
endif
endif
endif
" If the previous line contains an "end" after a pipe, but not in an ":au"

View File

@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (EUC-JP)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "
menutrans F&ile\ Settings <09>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ <09><><EFBFBD>ֹ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ <09><><EFBFBD>й<EFBFBD><EFBFBD>ֹ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ <20><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler
" Tools.Spelling Menu
menutrans &Spelling <09><><EFBFBD>ڥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Spell\ Check\ On <09><><EFBFBD>ڥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD>ͭ<EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09><><EFBFBD>ڥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD>ͭ<EFBFBD><EFBFBD>(&O)
menutrans Spell\ Check\ &Off <09><><EFBFBD>ڥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD>̵<EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><><EFBFBD>Υ<EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09><><EFBFBD>Υ<EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=

View File

@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (UTF-8)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "タグファイルの名前を入力してくだ
menutrans F&ile\ Settings ファイル設定(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ 行番号表示切替(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ 相対行番号表示切替(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ リストモード切替(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler コンパイラ設定(&T)
" Tools.Spelling Menu
menutrans &Spelling スペリング(&S)
menutrans &Spell\ Check\ On スペルチェック有効(&S)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans To\ &Next\ error<Tab>]s 次のエラー(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 前のエラー(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正候補(&C)<Tab>z=

View File

@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (CP932)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "
menutrans F&ile\ Settings <09>t<EFBFBD>@<40>C<EFBFBD><EFBFBD><EFBFBD>ݒ<EFBFBD>(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ <09>s<EFBFBD>ԍ<EFBFBD><EFBFBD>\<5C><><EFBFBD>ؑ<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ <09><><EFBFBD>΍s<EFBFBD>ԍ<EFBFBD><EFBFBD>\<5C><><EFBFBD>ؑ<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ <20><><EFBFBD>X<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ؑ<EFBFBD>(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler
" Tools.Spelling Menu
menutrans &Spelling <09>X<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O(&S)
menutrans &Spell\ Check\ On <09>X<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD>L<EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>X<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD>L<EFBFBD><EFBFBD>(&O)
menutrans Spell\ Check\ &Off <09>X<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD>`<60>F<EFBFBD>b<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><><EFBFBD>̃G<EFBFBD><EFBFBD><EFBFBD>[(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09>O<EFBFBD>̃G<EFBFBD><EFBFBD><EFBFBD>[(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa
" Edit menu
menutrans &Edit <09><><EFBFBD><EFBFBD>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans &Redo<Tab>^R <09>ٽ<EFBFBD>\ <20><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09><>Ǯ<EFBFBD><EFBFBD>(&e)<Tab>\.
menutrans Cu&t<Tab>"+x <09>ڸ<EFBFBD><DAB8><EFBFBD>(&t)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ <20><><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD>ؽ<EFBFBD>Ʈ\ <20><>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&V)
menutrans Never <09><><EFBFBD><EFBFBD> <20><> <20><>
menutrans Never <09><><EFBFBD><EFBFBD>\ <20><>\ <20><>
menutrans Block\ Selection <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Insert\ mode <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>
menutrans Block\ and\ Insert <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD>Ʈ <20>ʺ<EFBFBD>(&S)
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD>Ʈ\ <20>ʺ<EFBFBD>(&S)
menutrans Soft\ &Tabstop <09><><EFBFBD><EFBFBD>Ʈ\ <20>ǽ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ؽ<EFBFBD>Ʈ\ <20>ʺ<EFBFBD>(&x)\.\.\.
menutrans &File\ Format\.\.\. <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages
" Tools.Fold Menu
menutrans &Folding <09><><EFBFBD><EFBFBD>(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Ŀ<EFBFBD><EFBFBD>\ <20><>\ <20><><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Ŀ<EFBFBD><EFBFBD>\ <20>ٸ<EFBFBD>\ <20><><EFBFBD><EFBFBD>(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <09><>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20>ݱ<EFBFBD>(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <09><><EFBFBD><EFBFBD>\ <20>κ<EFBFBD>\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09><> <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20>ݱ<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09><>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD>\ <20>κ<EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax
"menutrans &Diff &Diff
menutrans Ma&rker <09><><EFBFBD><EFBFBD>ǥ(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09><><EFBFBD><EFBFBD>\ ĭ\ <20>ʺ<EFBFBD>(&w)
menutrans Fold\ column\ &width <09><><EFBFBD><EFBFBD>\ <EFBFBD>÷<EFBFBD>\ <20>ʺ<EFBFBD>(&w)
"menutrans &Diff &Diff
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa 끝내기(&x)<Tab>:qa
" Edit menu
menutrans &Edit 편집(&E)
menutrans &Undo<Tab>u 취소(&U)<Tab>u
menutrans &Redo<Tab>^R 다시 실행(&R)<Tab>^R
menutrans &Redo<Tab>^R 다시\ 실행(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 되풀이(&e)<Tab>\.
menutrans Cu&t<Tab>"+x 자르기(&t)<Tab>"+x
menutrans &Copy<Tab>"+y 복사(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic! 대소문자\ 구분\ 토글(&I)<Ta
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ 토글(&S)<Tab>:set\ sm!
menutrans &Context\ lines 콘텍스트\ (&C)
menutrans &Virtual\ Edit 가상\ 편집(&V)
menutrans Never 사용
menutrans Never 사용\ \
menutrans Block\ Selection 블럭\ 고르기
menutrans Insert\ mode 삽입\ 모드
menutrans Block\ and\ Insert 블럭과\ 삽입
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai! 자동인덴트\ 토글(&a)<Tab>:se
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-인덴팅\ 토글(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 쉬프트 너비(&S)
menutrans &Shiftwidth 쉬프트\ 너비(&S)
menutrans Soft\ &Tabstop 소프트\ 탭스톱(&T)
menutrans Te&xt\ Width\.\.\. 텍스트\ 너비(&x)\.\.\.
menutrans &File\ Format\.\.\. 파일\ 형식(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages 다른\ 언어\ 찾기(&F)
" Tools.Fold Menu
menutrans &Folding 접기(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi \ 기능\ 사용\ 토글(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi \ 사용\ 토글(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 커서\ \ 보기(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 커서\ 줄만\ 보기(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm \ 많은\ 접기\ 닫기(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 접힌\ 부분\ 모두\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM 모든\ 접기\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr \ 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 접힌\ 부분\ 모두\ 펴기(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 접는\ 방법(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax 신택스(&y)
"menutrans &Diff &Diff
menutrans Ma&rker 꼬리표(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf 새로 접기(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 완전히 펴기(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 펴기(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 접기\ 생성(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 접기\ 삭제(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 접기\ 삭제(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width \ \ 너비(&w)
menutrans Fold\ column\ &width \ 컬럼\ 너비(&w)
"menutrans &Diff &Diff
menutrans &Update 갱신(&U)

View File

@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2009 Feb 26
" Last Change: 2011 Mar 22
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -101,7 +101,7 @@ an 10.320 &File.Sp&lit-Open\.\.\.<Tab>:sp :browse sp<CR>
an 10.320 &File.Open\ Tab\.\.\.<Tab>:tabnew :browse tabnew<CR>
an 10.325 &File.&New<Tab>:enew :confirm enew<CR>
an <silent> 10.330 &File.&Close<Tab>:close
\ :if winheight(2) < 0 <Bar>
\ :if winheight(2) < 0 && tabpagewinnr(2) == 0 <Bar>
\ confirm enew <Bar>
\ else <Bar>
\ confirm close <Bar>

View File

@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Jul 24
" Last Change: 2010 Dec 02
" If there already is an option window, jump to that one.
if bufwinnr("option-window") > 0
@@ -1042,6 +1042,8 @@ if has("wildignore")
call append("$", "wildignore\tlist of patterns to ignore files for file name completion")
call <SID>OptionG("wig", &wig)
endif
call append("$", "wildignorecase\tignore case when completing file names")
call <SID>BinOptionG("wic", &wic)
if has("wildmenu")
call append("$", "wildmenu\tcommand-line completion shows a list of matches")
call <SID>BinOptionG("wmnu", &wmnu)

View File

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

View File

@@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Jul 27, 2010
" Date: Feb 10, 2011
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v140"
let g:loaded_netrwPlugin = "v141"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish
@@ -34,10 +34,13 @@ set cpo&vim
" Local Browsing: {{{2
augroup FileExplorer
au!
au BufEnter * silent! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * silent! call s:VimEnter(expand("<amatch>"))
" au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* silent! call s:LocalBrowse(expand("<amatch>"))
au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>"))
endif
augroup END
@@ -45,10 +48,10 @@ augroup END
augroup Network
au!
if has("win32") || has("win95") || has("win64") || has("win16")
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
else
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','')
endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
@@ -100,11 +103,11 @@ fun! s:LocalBrowse(dirname)
" string is the current directory and not checking would break
" things such as the help command.
if a:dirname != '' && isdirectory(a:dirname)
silent! call netrw#LocalBrowseCheck(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir"
silent! call netrw#LocalBrowseCheck(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
" not a directory, ignore it
endfun

View File

@@ -1,23 +1,81 @@
" Vim plugin for converting a syntax highlighted file to HTML.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2011 Apr 09
"
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
" $VIMRUNTIME/syntax/2html.vim
"
" TODO:
" * Options for generating the CSS in external style sheets. New :TOcss
" command to convert the current color scheme into a (mostly) generic CSS
" stylesheet which can be re-used. Alternate stylesheet support?
" * Pull in code from http://www.vim.org/scripts/script.php?script_id=3113 :
" - listchars support
" - full-line background highlight
" - other?
" * Font auto-detection similar to
" http://www.vim.org/scripts/script.php?script_id=2384
" * Explicitly trigger IE8+ Standards Mode?
" * Make it so deleted lines in a diff don't create side-scrolling
" * Restore open/closed folds and cursor position after processing each file
" with option not to restore for speed increase
" * Add extra meta info (generation time, etc.)
" * Tidy up so we can use strict doctype more?
" * Undercurl support via dotted bottom border?
" * Add extra meta info (generation time, etc.)?
" * Tidy up so we can use strict doctype in even more situations
" * Implementation detail: add threshold for writing the lines to the html
" buffer before we're done (5000 or so lines should do it)
" * TODO comments for code cleanup scattered throughout
"
"
" Changelog:
" 7.3_v9 (this version): Add html_pre_wrap option active with html_use_css and
" without html_no_pre, default value same as 'wrap'
" option, (Andy Spencer). Don't use 'fileencoding' for
" converted document encoding if 'buftype' indicates a
" special buffer which isn't written.
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
" characters in generated output (Andy Spencer). Escape
" text that looks like a modeline so Vim doesn't use
" anything in the converted HTML as a modeline.
" Bugfixes: Fix folding when a fold starts before the
" conversion range. Remove fold column when there are
" no folds.
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
" 7.3_v7b2: Remove automatic detection of encodings that are not
" supported by all major browsers according to
" http://wiki.whatwg.org/wiki/Web_Encodings and convert
" to UTF-8 for all Unicode encodings. Make HTML
" encoding to Vim encoding detection be
" case-insensitive for built-in pairs.
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
" called in restricted mode (Andy Spencer). Use
" 'fencoding' instead of 'encoding' to determine by
" charset, and make sure the 'fenc' of the generated
" file matches its indicated charset. Add charsets for
" all of Vim's natively supported encodings.
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
" user settings interfering with diff mode generation,
" trailing whitespace (e.g. line number column) when
" using html_no_pre, and bugs when using
" html_hover_unfold.
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
" folds in diff mode when first line was folded.
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode.
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
" default to true when not set to anything. Use strict
" doctypes where possible. Rename use_xhtml option to
" html_use_xhtml for consistency. Use .xhtml extension
" when using this option. Add meta tag for settings.
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
" diff colors and the normal syntax colors
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
if exists('g:loaded_2html_plugin')
finish
endif
let g:loaded_2html_plugin = 'vim7.3_v6'
let g:loaded_2html_plugin = 'vim7.3_v9'
" Define the :TOhtml command when:
" - 'compatible' is not set

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types in scripts
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2010 Jul 29
" Last change: 2010 Sep 22
" This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by
@@ -168,7 +168,8 @@ else
call SetFileTypeSH(s:line1) " defined in filetype.vim
" Z shell scripts
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>'
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' ||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
set ft=zsh
" ELM Mail files

View File

@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2011 Apr 05
"
" Additional contributors:
"
@@ -33,6 +33,13 @@ endif
let s:settings = tohtml#GetUserSettings()
" Whitespace
if s:settings.pre_wrap
let s:whitespace = "white-space: pre-wrap; "
else
let s:whitespace = ""
endif
" When not in gui we can only guess the colors.
if has("gui_running")
let s:whatterm = "gui"
@@ -124,7 +131,18 @@ function! s:HtmlFormat(text, style_name, diff_style_name)
let l:style_name = a:style_name . (a:diff_style_name == '' ? '' : ' ') . a:diff_style_name
" Replace the reserved html characters
let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
let formatted = substitute(formatted, '&', '\&amp;', 'g')
let formatted = substitute(formatted, '<', '\&lt;', 'g')
let formatted = substitute(formatted, '>', '\&gt;', 'g')
let formatted = substitute(formatted, '"', '\&quot;', 'g')
" TODO: Use &apos; for "'"?
" Replace a "form feed" character with HTML to do a page break
let formatted = substitute(formatted, "\x0c", '<hr class="PAGE-BREAK">', 'g')
" Mangle modelines so Vim doesn't try to use HTML text as a modeline if
" editing this file in the future
let formatted = substitute(formatted, '\v(\s+%(vim?|ex)):', '\1\&#0058;', 'g')
" Replace double spaces, leading spaces, and trailing spaces if needed
if ' ' != s:HtmlSpace
@@ -265,6 +283,19 @@ set paste
let s:old_magic = &magic
set magic
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
let s:lines = []
if s:settings.use_xhtml
@@ -545,9 +576,6 @@ if s:settings.dynamic_folds
" level, so subtract 2 from index of first non-dash after the dashes
" in order to get the fold level of the current fold
let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
if s:level+1 > s:foldcolumn
let s:foldcolumn = s:level+1
endif
" store fold info for later use
let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
call add(s:allfolds, s:newfold)
@@ -577,9 +605,6 @@ if s:settings.dynamic_folds
" level, so subtract 2 from index of first non-dash after the dashes
" in order to get the fold level of the current fold
let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
if s:level+1 > s:foldcolumn
let s:foldcolumn = s:level+1
endif
let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
" only add the fold if we don't already have it
if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
@@ -609,6 +634,48 @@ if s:settings.dynamic_folds
" close all folds again so we can get the fold text as we go
silent! %foldclose!
for afold in s:allfolds
let removed = 0
if exists("g:html_start_line") && exists("g:html_end_line")
if afold.firstline < g:html_start_line
if afold.lastline < g:html_end_line && afold.lastline > g:html_start_line
" if a fold starts before the range to convert but stops within the
" range, we need to include it. Make it start on the first converted
" line.
let afold.firstline = g:html_start_line
else
" if the fold lies outside the range or the start and stop enclose
" the entire range, don't bother parsing it
call remove(s:allfolds, index(s:allfolds, afold))
let removed = 1
endif
elseif afold.firstline > g:html_end_line
" If the entire fold lies outside the range we need to remove it.
call remove(s:allfolds, index(s:allfolds, afold))
let removed = 1
endif
elseif exists("g:html_start_line")
if afold.firstline < g:html_start_line
" if there is no last line, but there is a first line, the end of the
" fold will always lie within the region of interest, so keep it
let afold.firstline = g:html_start_line
endif
elseif exists("g:html_end_line")
" if there is no first line we default to the first line in the buffer so
" the fold start will always be included if the fold itself is included.
" If however the entire fold lies outside the range we need to remove it.
if afold.firstline > g:html_end_line
call remove(s:allfolds, index(s:allfolds, afold))
let removed = 1
endif
endif
if !removed
if afold.level+1 > s:foldcolumn
let s:foldcolumn = afold.level+1
endif
endif
endfor
endif
" Now loop over all lines in the original text to convert to html.
@@ -656,6 +723,13 @@ endif
let s:foldId = 0
if !s:settings.expand_tabs
" If keeping tabs, add them to printable characters so we keep them when
" formatting text (strtrans() doesn't replace printable chars)
let s:old_isprint = &isprint
setlocal isprint+=9
endif
while s:lnum <= s:end
" If there are filler lines for diff mode, show these above the line.
@@ -734,7 +808,7 @@ while s:lnum <= s:end
call remove(s:foldstack, 0)
endwhile
" Now insert an opening any new folds that start on this line
" Now insert an opening for any new folds that start on this line
let s:firstfold = 1
while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
let s:foldId = s:foldId + 1
@@ -871,30 +945,32 @@ while s:lnum <= s:end
endif
if s:settings.ignore_conceal || !s:concealinfo[0]
" Expand tabs
" Expand tabs if needed
let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
let s:offset = 0
let s:idx = stridx(s:expandedtab, "\t")
while s:idx >= 0
if has("multi_byte_encoding")
if s:startcol + s:idx == 1
let s:i = &ts
else
if s:idx == 0
let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
else
let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
endif
let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
let s:i = &ts - (s:vcol % &ts)
endif
let s:offset -= s:i - 1
else
let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
endif
let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
if s:settings.expand_tabs
let s:offset = 0
let s:idx = stridx(s:expandedtab, "\t")
endwhile
while s:idx >= 0
if has("multi_byte_encoding")
if s:startcol + s:idx == 1
let s:i = &ts
else
if s:idx == 0
let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
else
let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
endif
let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
let s:i = &ts - (s:vcol % &ts)
endif
let s:offset -= s:i - 1
else
let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
endif
let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
let s:idx = stridx(s:expandedtab, "\t")
endwhile
end
" get the highlight group name to use
let s:id = synIDtrans(s:id)
@@ -979,10 +1055,14 @@ if s:settings.use_css
if s:settings.no_pre
execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e"
else
execute "normal! A\npre { font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e"
execute "normal! A\npre { " . s:whitespace . "font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e"
yank
put
execute "normal! ^cwbody\e"
" body should not have the wrap formatting, only the pre section
if s:whitespace != ''
exec 's#'.s:whitespace
endif
endif
else
execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '">\r<font face="'. s:htmlfont .'">'
@@ -1060,7 +1140,7 @@ endif
" Cleanup
%s:\s\+$::e
" Restore old settings
" Restore old settings (new window first)
let &l:foldenable = s:old_fen
let &l:foldmethod = s:old_fdm
let &report = s:old_report
@@ -1070,21 +1150,31 @@ let &paste = s:old_paste
let &magic = s:old_magic
let @/ = s:old_search
let &more = s:old_more
" switch to original window to restore those settings
exe s:orgwin . "wincmd w"
if !s:settings.expand_tabs
let &l:isprint = s:old_isprint
endif
let &l:stl = s:origwin_stl
let &l:et = s:old_et
let &l:scrollbind = s:old_bind
" and back to the new window again to end there
exe s:newwin . "wincmd w"
let &l:stl = s:newwin_stl
exec 'resize' s:old_winheight
let &l:winfixheight = s:old_winfixheight
call setwinvar(s:orgwin,'&stl', s:origwin_stl)
call setwinvar(s:newwin,'&stl', s:newwin_stl)
let &ls=s:ls
" Save a little bit of memory (worth doing?)
unlet s:htmlfont
unlet s:htmlfont s:whitespace
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
unlet s:old_magic s:old_more s:old_fdm s:old_fen s:old_winheight
unlet! s:old_isprint
unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_winfixheight
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:concealinfo
unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset s:ls s:origwin_stl

View File

@@ -5,8 +5,7 @@
" License: This file can be redistribued and/or modified under the same terms
" as Vim itself.
" Filenames: /tmp/crontab.* used by "crontab -e"
" URL: http://trific.ath.cx/Ftp/vim/syntax/crontab.vim
" Last Change: 2006-04-20
" Last Change: 2011-04-21
"
" crontab line format:
" Minutes Hours Days Months Days_of_Week Commands # comments
@@ -23,12 +22,14 @@ syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
syntax case ignore
syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
syntax case match
syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
syntax match crontabCmnt "^\s*#.*"
syntax match crontabPercent "[^\\]%.*"lc=1 contained

View File

@@ -1,16 +1,19 @@
" Vim syntax file for the D programming language (version 1.053 and 2.039).
" Vim syntax file for the D programming language (version 1.053 and 2.047).
"
" Language: D
" Maintainer: Jason Mills<jasonmills@nf.sympatico.ca>
" Last Change: 2010 Jan 07
" Version: 0.18
" Language: D
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
" Last Change: 2010 Sep 21
" Version: 0.22
"
" Contributors:
" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
" - Kirk McDonald: version 0.17 updates, with minor modifications
" (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
" - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
" - Tim Keating: patch to fix a bug in highlighting the `\` literal
" - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
" - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
" - Ellery Newcomer: Fixed some highlighting bugs.
" - Steven N. Oliver: #! highlighting
"
" Please email me with bugs, comments, and suggestions.
"
@@ -47,52 +50,89 @@ endif
" Keyword definitions
"
syn keyword dExternal import package module extern
syn keyword dConditional if else switch
syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach foreach_reverse
syn keyword dBoolean true false
syn keyword dConstant null
syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
syn keyword dTypedef alias typedef
syn keyword dStructure template interface class struct union
syn keyword dEnum enum
syn keyword dOperator new delete typeof typeid cast align is
syn keyword dOperator this super
syn keyword dExternal import package module extern
syn keyword dConditional if else switch
syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach foreach_reverse
syn keyword dBoolean true false
syn keyword dConstant null
syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
syn keyword dTypedef alias typedef
syn keyword dStructure template interface class struct union
syn keyword dEnum enum
syn keyword dOperator new delete typeof typeid cast align is
syn keyword dOperator this super
if exists("d_hl_operator_overload")
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
syn keyword dOpOverload opCat_r opEquals opEquals opCmp
syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign opDivAssign
syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
syn keyword dOpOverload opIndex opIndexAssign opCall opSlice opSliceAssign opPos
syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
syn keyword dOpOverload opPow opDispatch opStar opDot opApply opApplyReverse
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd
syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod
syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr
syn keyword dOpOverload opShr_r opUShr opUShr_r opCat
syn keyword dOpOverload opCat_r opEquals opEquals opCmp
syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign
syn keyword dOpOverload opDivAssign opModAssign opAndAssign
syn keyword dOpOverload opOrAssign opXorAssign opShlAssign
syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign
syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign
syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign
syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot
syn keyword dOpOverload opApply opApplyReverse
syn keyword dOpOverload opUnary opIndexUnary opSliceUnary
syn keyword dOpOverload opBinary opBinaryRight
endif
syn keyword dType ushort int uint long ulong float
syn keyword dType void byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar string wstring dstring
syn keyword dType real ireal ifloat idouble creal cfloat cdouble
syn keyword dDebug deprecated unittest
syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export
syn keyword dStatement version debug return with
syn keyword dStatement function delegate __traits asm mixin macro
syn keyword dStorageClass in out inout ref lazy scope body
syn keyword dStorageClass pure nothrow
syn keyword dStorageClass auto static override final abstract volatile __gshared __thread
syn keyword dStorageClass synchronized immutable shared const invariant lazy
syn keyword dPragma pragma
syn keyword dType void ushort int uint long ulong float
syn keyword dType byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar wstring dstring
syn keyword dType real ireal ifloat idouble
syn keyword dType creal cfloat cdouble
syn keyword dDebug deprecated unittest invariant
syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export
syn keyword dStatement debug return with
syn keyword dStatement function delegate __traits mixin macro
syn keyword dStorageClass in out inout ref lazy body
syn keyword dStorageClass pure nothrow
syn keyword dStorageClass auto static override final abstract volatile
syn keyword dStorageClass __gshared __thread
syn keyword dStorageClass synchronized shared immutable const lazy
syn keyword dPragma pragma
syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
syn keyword dScopeIdentifier contained exit success failure
syn keyword dAttribute contained safe trusted system
syn keyword dAttribute contained property disable
syn keyword dVersionIdentifier contained DigitalMars GNU LDC LLVM
syn keyword dVersionIdentifier contained X86 X86_64 Windows Win32 Win64
syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD
syn keyword dVersionIdentifier contained LittleEndian BigEndian D_Coverage
syn keyword dVersionIdentifier contained D_Ddoc D_InlineAsm_X86
syn keyword dVersionIdentifier contained D_InlineAsm_X86_64 D_LP64 D_PIC
syn keyword dVersionIdentifier contained unittest D_Version2 none all
" Highlight the sharpbang
syn match dSharpBang "\%^#!.*" display
" Attributes/annotations
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
" Version Identifiers
syn match dVersion "[^.]version" nextgroup=dVersionInside
syn match dVersion "^version" nextgroup=dVersionInside
syn match dVersionInside "([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
" Scope StorageClass
syn match dStorageClass "scope"
" Scope Identifiers
syn match dScope "scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
" String is a statement and a module name.
syn match dType "^string"
syn match dType "[^.]\s*\<string\>"ms=s+1
" Assert is a statement and a module name.
syn match dAssert "^assert\>"
syn match dAssert "^assert"
syn match dAssert "[^.]\s*\<assert\>"ms=s+1
" dTokens is used by the token string highlighting
@@ -101,26 +141,18 @@ syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
" Marks contents of the asm statment body as special
"
" TODO
"syn match dAsmStatement "\<asm\>"
"syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement
"
"hi def link dAsmBody dUnicode
"hi def link dAsmStatement dStatement
" Labels
"
" We contain dScopeDecl so public: private: etc. are not highlighted like labels
syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
syn keyword dLabel case default
syn keyword dLabel case default
syn cluster dTokens add=dUserLabel,dLabel
" Comments
"
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$"
syn match dCommentPlus contained "^\s*+[^/]"me=e-1
@@ -251,51 +283,184 @@ syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$"
" The default highlighting.
"
hi def link dBinary Number
hi def link dDec Number
hi def link dHex Number
hi def link dOctal Number
hi def link dFloat Float
hi def link dHexFloat Float
hi def link dDebug Debug
hi def link dBranch Conditional
hi def link dConditional Conditional
hi def link dLabel Label
hi def link dUserLabel Label
hi def link dRepeat Repeat
hi def link dExceptions Exception
hi def link dAssert Statement
hi def link dStatement Statement
hi def link dScopeDecl dStorageClass
hi def link dStorageClass StorageClass
hi def link dBoolean Boolean
hi def link dUnicode Special
hi def link dTokenStringBrack String
hi def link dHereString String
hi def link dNestString String
hi def link dDelimString String
hi def link dRawString String
hi def link dString String
hi def link dHexString String
hi def link dCharacter Character
hi def link dEscSequence SpecialChar
hi def link dSpecialCharError Error
hi def link dOctalError Error
hi def link dOperator Operator
hi def link dOpOverload Identifier
hi def link dConstant Constant
hi def link dTypedef Typedef
hi def link dEnum Structure
hi def link dStructure Structure
hi def link dTodo Todo
hi def link dType Type
hi def link dLineComment Comment
hi def link dBlockComment Comment
hi def link dNestedComment Comment
hi def link dExternal Include
hi def link dPragma PreProc
hi def link dAnnotation PreProc
hi def link dBinary Number
hi def link dDec Number
hi def link dHex Number
hi def link dOctal Number
hi def link dFloat Float
hi def link dHexFloat Float
hi def link dDebug Debug
hi def link dBranch Conditional
hi def link dConditional Conditional
hi def link dLabel Label
hi def link dUserLabel Label
hi def link dRepeat Repeat
hi def link dExceptions Exception
hi def link dAssert Statement
hi def link dStatement Statement
hi def link dScopeDecl dStorageClass
hi def link dStorageClass StorageClass
hi def link dBoolean Boolean
hi def link dUnicode Special
hi def link dTokenStringBrack String
hi def link dHereString String
hi def link dNestString String
hi def link dDelimString String
hi def link dRawString String
hi def link dString String
hi def link dHexString String
hi def link dCharacter Character
hi def link dEscSequence SpecialChar
hi def link dSpecialCharError Error
hi def link dOctalError Error
hi def link dOperator Operator
hi def link dOpOverload Identifier
hi def link dConstant Constant
hi def link dTypedef Typedef
hi def link dEnum Structure
hi def link dStructure Structure
hi def link dTodo Todo
hi def link dType Type
hi def link dLineComment Comment
hi def link dBlockComment Comment
hi def link dNestedComment Comment
hi def link dExternal Include
hi def link dPragma PreProc
hi def link dAnnotation PreProc
hi def link dSharpBang PreProc
hi def link dAttribute StorageClass
hi def link dIdentifier Identifier
hi def link dVersionIdentifier Identifier
hi def link dVersion dStatement
hi def link dScopeIdentifier dStatement
hi def link dScope dStorageClass
let b:current_syntax = "d"
" vim: ts=8 noet
" Marks contents of the asm statment body as special
syn match dAsmStatement "\<asm\>"
syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
hi def link dAsmBody dUnicode
hi def link dAsmStatement dStatement
hi def link dAsmOpCode Identifier
syn keyword dAsmOpCode contained aaa aad aam aas adc
syn keyword dAsmOpCode contained add addpd addps addsd addss
syn keyword dAsmOpCode contained and andnpd andnps andpd andps
syn keyword dAsmOpCode contained arpl bound bsf bsr bswap
syn keyword dAsmOpCode contained bt btc btr bts call
syn keyword dAsmOpCode contained cbw cdq clc cld clflush
syn keyword dAsmOpCode contained cli clts cmc cmova cmovae
syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove cmovg
syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna cmovnae
syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne cmovng
syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno cmovnp
syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp cmovpe
syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp cmppd
syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd cmpss
syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd comiss
syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd
syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss
syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq
syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd cwde
syn keyword dAsmOpCode contained da daa das db dd
syn keyword dAsmOpCode contained de dec df di div
syn keyword dAsmOpCode contained divpd divps divsd divss dl
syn keyword dAsmOpCode contained dq ds dt dw emms
syn keyword dAsmOpCode contained enter f2xm1 fabs fadd faddp
syn keyword dAsmOpCode contained fbld fbstp fchs fclex fcmovb
syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe fcmovne
syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi fcomip
syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp fdisi
syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp feni
syn keyword dAsmOpCode contained ffree fiadd ficom ficomp fidiv
syn keyword dAsmOpCode contained fidivr fild fimul fincstp finit
syn keyword dAsmOpCode contained fist fistp fisub fisubr fld
syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e fldl2t
syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz fmul
syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni fninit
syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv fnstsw
syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan frndint
syn keyword dAsmOpCode contained frstor fsave fscale fsetpm fsin
syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw fstenv
syn keyword dAsmOpCode contained fstp fstsw fsub fsubp fsubr
syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi fucomip
syn keyword dAsmOpCode contained fucomp fucompp fwait fxam fxch
syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x fyl2xp1
syn keyword dAsmOpCode contained hlt idiv imul in inc
syn keyword dAsmOpCode contained ins insb insd insw int
syn keyword dAsmOpCode contained into invd invlpg iret iretd
syn keyword dAsmOpCode contained ja jae jb jbe jc
syn keyword dAsmOpCode contained jcxz je jecxz jg jge
syn keyword dAsmOpCode contained jl jle jmp jna jnae
syn keyword dAsmOpCode contained jnb jnbe jnc jne jng
syn keyword dAsmOpCode contained jnge jnl jnle jno jnp
syn keyword dAsmOpCode contained jns jnz jo jp jpe
syn keyword dAsmOpCode contained jpo js jz lahf lar
syn keyword dAsmOpCode contained ldmxcsr lds lea leave les
syn keyword dAsmOpCode contained lfence lfs lgdt lgs lidt
syn keyword dAsmOpCode contained lldt lmsw lock lods lodsb
syn keyword dAsmOpCode contained lodsd lodsw loop loope loopne
syn keyword dAsmOpCode contained loopnz loopz lsl lss ltr
syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps maxsd
syn keyword dAsmOpCode contained maxss mfence minpd minps minsd
syn keyword dAsmOpCode contained minss mov movapd movaps movd
syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps movhpd
syn keyword dAsmOpCode contained movhps movlhps movlpd movlps movmskpd
syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd movntps
syn keyword dAsmOpCode contained movntq movq movq2dq movs movsb
syn keyword dAsmOpCode contained movsd movss movsw movsx movupd
syn keyword dAsmOpCode contained movups movzx mul mulpd mulps
syn keyword dAsmOpCode contained mulsd mulss neg nop not
syn keyword dAsmOpCode contained or orpd orps out outs
syn keyword dAsmOpCode contained outsb outsd outsw packssdw packsswb
syn keyword dAsmOpCode contained packuswb paddb paddd paddq paddsb
syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw pand
syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb pcmpeqd
syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw
syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub pminsw
syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw pmullw
syn keyword dAsmOpCode contained pmuludq pop popa popad popf
syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 prefetcht1
syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw pshuflw
syn keyword dAsmOpCode contained pshufw pslld pslldq psllq psllw
syn keyword dAsmOpCode contained psrad psraw psrld psrldq psrlq
syn keyword dAsmOpCode contained psrlw psubb psubd psubq psubsb
syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw punpckhbw
syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq
syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha pushad
syn keyword dAsmOpCode contained pushf pushfd pxor rcl rcpps
syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc rdtsc
syn keyword dAsmOpCode contained rep repe repne repnz repz
syn keyword dAsmOpCode contained ret retf rol ror rsm
syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal sar
syn keyword dAsmOpCode contained sbb scas scasb scasd scasw
syn keyword dAsmOpCode contained seta setae setb setbe setc
syn keyword dAsmOpCode contained sete setg setge setl setle
syn keyword dAsmOpCode contained setna setnae setnb setnbe setnc
syn keyword dAsmOpCode contained setne setng setnge setnl setnle
syn keyword dAsmOpCode contained setno setnp setns setnz seto
syn keyword dAsmOpCode contained setp setpe setpo sets setz
syn keyword dAsmOpCode contained sfence sgdt shl shld shr
syn keyword dAsmOpCode contained shrd shufpd shufps sidt sldt
syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd sqrtss
syn keyword dAsmOpCode contained stc std sti stmxcsr stos
syn keyword dAsmOpCode contained stosb stosd stosw str sub
syn keyword dAsmOpCode contained subpd subps subsd subss sysenter
syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss ud2
syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps verr
syn keyword dAsmOpCode contained verw wait wbinvd wrmsr xadd
syn keyword dAsmOpCode contained xchg xlat xlatb xor xorpd
syn keyword dAsmOpCode contained xorps
syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddpd haddps
syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor movddup
syn keyword dAsmOpCode contained movshdup movsldup mwait
syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd pfcmpeq
syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmin pfmul
syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
syn keyword dAsmOpCode contained pmulhrw pswapd

View File

@@ -3,8 +3,8 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2010 May 06
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debchangelog.vim
" Last Change: 2010 Oct 21
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
" Standard syntax initialization
if version < 600
@@ -19,7 +19,7 @@ syn case ignore
" Define some common expressions we can use later on
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(etch|lenny)-%(backports|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick|natty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"

View File

@@ -3,8 +3,8 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2009 Aug 17
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debcontrol.vim
" Last Change: 2010 Oct 21
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
" Standard syntax initialization
if version < 600
@@ -27,7 +27,7 @@ syn match debControlSpace " "
syn match debcontrolArchitecture contained "\%(all\|any\|alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\|hurd-i386\|kfreebsd-\%(i386\|amd64\|gnu\)\|knetbsd-i386\|kopensolaris-i386\|netbsd-\%(alpha\|i386\)\)"
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
syn match debcontrolPackageType contained "u\?deb"
syn match debcontrolVariable contained "\${.\{-}}"
syn match debcontrolDmUpload contained "\cyes"

View File

@@ -2,8 +2,8 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2010 May 06
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debsources.vim
" Last Change: 2010 Oct 21
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
" Standard syntax initialization
if version < 600
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
" Match uri's
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(etch\|lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\)\([-[:alnum:]_./]*\)+
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\|natty\)\([-[:alnum:]_./]*\)+
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error

View File

@@ -0,0 +1,33 @@
" Vim syntax file
" Language: directory pager
" Maintainer: Thilo Six <T.Six@gmx.de>
" Derived From: Nikolai Weibull's dircolors.vim
" Latest Revision: 2011-04-09
"
" usage: $ ls -la | view -c "set ft=dirpager" -
"
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
setlocal nowrap
syn keyword DirPagerTodo contained FIXME TODO XXX NOTE
syn region DirPagerExe start='^...x\|^......x\|^.........x' end='$' contains=DirPagerTodo,@Spell
syn region DirPagerDir start='^d' end='$' contains=DirPagerTodo,@Spell
syn region DirPagerLink start='^l' end='$' contains=DirPagerTodo,@Spell
hi def link DirPagerTodo Todo
hi def DirPagerExe ctermfg=Green guifg=Green
hi def DirPagerDir ctermfg=Blue guifg=Blue
hi def DirPagerLink ctermfg=Cyan guifg=Cyan
let b:current_syntax = "dirpager"
let &cpo = s:cpo_save
unlet s:cpo_save

104
runtime/syntax/dnsmasq.vim Normal file
View File

@@ -0,0 +1,104 @@
" Vim syntax file
" Language: dnsmasq(8) configuration file
" Maintainer: Thilo Six <T.Six@gmx.de>
" Last Change: 2011 Apr 28
" Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
" Igor N. Prischepoff
" Doug Kearns
" David Ne\v{c}as
"
" Options: let dnsmasq_backrgound_light = 1
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists ("b:current_syntax")
finish
endif
if !exists("b:dnsmasq_backrgound_light")
if exists("dnsmasq_backrgound_light")
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
else
let b:dnsmasq_backrgound_light = 0
endif
endif
" case on
syn case match
"Parameters
syn match DnsmasqParams "^.\{-}="me=e-1 contains=DnsmasqComment
"... and their values (don't want to highlight '=' sign)
syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
"...because we do it here.
syn match DnsmasqEq display '=\|@\|/\|,' nextgroup=DnsmasqValues
syn match DnsmasqSpecial "#"
" String
syn match DnsmasqString "\".*\""
syn match DnsmasqString "'.*'"
" Comments
syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
syn match DnsmasqComment "[ \t]#.*$" contains=DnsmasqTodo
syn keyword DnsmasqTodo FIXME TODO XXX NOT contained
syn match DnsmasqKeyword "^\s*add-mac\>"
syn match DnsmasqKeyword "^\s*all-servers\>"
syn match DnsmasqKeyword "^\s*bind-interfaces\>"
syn match DnsmasqKeyword "^\s*bogus-priv\>"
syn match DnsmasqKeyword "^\s*clear-on-reload\>"
syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
syn match DnsmasqKeyword "^\s*domain-needed\>"
syn match DnsmasqKeyword "^\s*enable-dbus\>"
syn match DnsmasqKeyword "^\s*enable-tftp\>"
syn match DnsmasqKeyword "^\s*expand-hosts\>"
syn match DnsmasqKeyword "^\s*filterwin2k\>"
syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
syn match DnsmasqKeyword "^\s*leasefile-ro\>"
syn match DnsmasqKeyword "^\s*localise-queries\>"
syn match DnsmasqKeyword "^\s*localmx\>"
syn match DnsmasqKeyword "^\s*log-dhcp\>"
syn match DnsmasqKeyword "^\s*log-queries\>"
syn match DnsmasqKeyword "^\s*no-daemon\>"
syn match DnsmasqKeyword "^\s*no-hosts\>"
syn match DnsmasqKeyword "^\s*no-negcache\>"
syn match DnsmasqKeyword "^\s*no-ping\>"
syn match DnsmasqKeyword "^\s*no-poll\>"
syn match DnsmasqKeyword "^\s*no-resolv\>"
syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
syn match DnsmasqKeyword "^\s*read-ethers\>"
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
syn match DnsmasqKeyword "^\s*selfmx\>"
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
syn match DnsmasqKeyword "^\s*strict-order\>"
syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
syn match DnsmasqKeyword "^\s*tftp-secure\>"
syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
if b:dnsmasq_backrgound_light == 1
hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
else
hi def link DnsmasqKeyword Keyword
hi def link DnsmasqParams Keyword
endif
hi def link DnsmasqTodo Todo
hi def link DnsmasqSpecial Constant
hi def link DnsmasqComment Comment
hi def link DnsmasqString Constant
hi def link DnsmasqValues Normal
hi def link DnsmasqEq Constant
let b:current_syntax = "dnsmasq"

155
runtime/syntax/falcon.vim Normal file
View File

@@ -0,0 +1,155 @@
" Vim syntax file
" Language: Falcon
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
" Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim
" Credits: Thanks the ruby.vim authors, I borrowed a lot!
" -------------------------------------------------------------------------------
" GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim
" When wanted, highlight the trailing whitespace.
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match falconSpaceError "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match falconSpaceError " \+\t"me=e-1
endif
endif
" Symbols
syn match falconSymbol "\(;\|,\|\.\)"
syn match falconSymbolOther "\(#\|@\)" display
" Operators
syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)"
syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)"
" Clusters
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@falconStringSpecial fold
syn case match
" Keywords
syn keyword falconKeyword all allp any anyp as attributes brigade cascade catch choice class const
syn keyword falconKeyword continue def directive do list dropping enum eq eval exit export from function
syn keyword falconKeyword give global has hasnt in init innerfunc lambda launch launch len List list
syn keyword falconKeyword load notin object pass print printl provides raise return self sender static to
syn keyword falconKeyword try xamp
" Error Type Keywords
syn keyword falconKeyword CloneError CodeError Error InterruprtedError IoError MathError
syn keyword falconKeyword ParamError RangeError SyntaxError TraceStep TypeError
" Todo
syn keyword falconTodo DEBUG FIXME NOTE TODO XXX
" Conditionals
syn keyword falconConditional and case default else end if iff
syn keyword falconConditional elif or not switch select
syn match falconConditional "end\s\if"
" Loops
syn keyword falconRepeat break for loop forfirst forlast formiddle while
" Booleans
syn keyword falconBool true false
" Constants
syn keyword falconConst PI E nil
" Comments
syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)"
syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo
syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo
syn match falconSharpBang "\%^#!.*" display
syn sync ccomment falconComment
" Numbers
syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
syn match falconHexadecimal contained "\<0x\x\+\>"
syn match falconOctal contained "\<0\o\+\>"
syn match falconIntLiteral contained "[+-]\<d\+\(\d\+\)\?\>"
syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*"
syn match falconFloatLiteral contained "[+-]\=\d*\.\d*"
" Includes
syn keyword falconInclude load import
" Expression Substitution and Backslash Notation
syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
" Normal String and Shell Command Output
syn region falconString matchgroup=falconStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
syn region falconString matchgroup=falconStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=falconStringEscape fold
" Generalized Single Quoted String, Symbol and Array of Strings
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
syn region falconString matchgroup=falconStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
" Generalized Double Quoted String and Array of Strings and Shell Command Output
syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
" Syntax Synchronizing
syn sync minlines=10 maxlines=100
" Define the default highlighting
if !exists("did_falcon_syn_inits")
command -nargs=+ HiLink hi def link <args>
HiLink falconKeyword Keyword
HiLink falconCommentString String
HiLink falconTodo Todo
HiLink falconConditional Keyword
HiLink falconRepeat Repeat
HiLink falconcommentSkip Comment
HiLink falconComment Comment
HiLink falconCommentL Comment
HiLink falconConst Constant
HiLink falconOperator Operator
HiLink falconSymbol Normal
HiLink falconSpaceError Error
HiLink falconHexadecimal Number
HiLink falconOctal Number
HiLink falconIntLiteral Number
HiLink falconFloatLiteral Float
HiLink falconStringEscape Special
HiLink falconStringDelimiter Delimiter
HiLink falconString String
HiLink falconBool Constant
HiLink falconSharpBang PreProc
HiLink falconInclude Include
HiLink falconSymbol Constant
HiLink falconSymbolOther Delimiter
delcommand HiLink
endif
let b:current_syntax = "falcon"
" vim: set sw=4 sts=4 et tw=80 :

99
runtime/syntax/gnash.vim Normal file
View File

@@ -0,0 +1,99 @@
" Vim syntax file
" Language: gnash(1) configuration files
" http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
" Maintainer: Thilo Six <T.Six@gmx.de>
" Last Change: 2011 Apr 28
" Credidts: derived from readline.vim
" Nikolai Weibull
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists ("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case match
syn keyword GnashTodo contained TODO FIXME XXX NOTE
syn region GnashComment display oneline start='^\s*#' end='$'
\ contains=GnashTodo,@Spell
syn match GnashNumber display '\<\d\+\>'
syn case ignore
syn keyword GnashOn ON YES TRUE
syn keyword GnashOff OFF NO FALSE
syn case match
syn match GnashSet '^\s*set\>'
syn match GnashSet '^\s*append\>'
syn match GnashKeyword '\<CertDir\>'
syn match GnashKeyword '\<ASCodingErrorsVerbosity\>'
syn match GnashKeyword '\<CertFile\>'
syn match GnashKeyword '\<EnableExtensions\>'
syn match GnashKeyword '\<HWAccel\>'
syn match GnashKeyword '\<LCShmKey\>'
syn match GnashKeyword '\<LocalConnection\>'
syn match GnashKeyword '\<MalformedSWFVerbosity\>'
syn match GnashKeyword '\<Renderer\>'
syn match GnashKeyword '\<RootCert\>'
syn match GnashKeyword '\<SOLReadOnly\>'
syn match GnashKeyword '\<SOLSafeDir\>'
syn match GnashKeyword '\<SOLreadonly\>'
syn match GnashKeyword '\<SOLsafedir\>'
syn match GnashKeyword '\<StartStopped\>'
syn match GnashKeyword '\<StreamsTimeout\>'
syn match GnashKeyword '\<URLOpenerFormat\>'
syn match GnashKeyword '\<XVideo\>'
syn match GnashKeyword '\<actionDump\>'
syn match GnashKeyword '\<blacklist\>'
syn match GnashKeyword '\<debugger\>'
syn match GnashKeyword '\<debuglog\>'
syn match GnashKeyword '\<delay\>'
syn match GnashKeyword '\<enableExtensions\>'
syn match GnashKeyword '\<flashSystemManufacturer\>'
syn match GnashKeyword '\<flashSystemOS\>'
syn match GnashKeyword '\<flashVersionString\>'
syn match GnashKeyword '\<ignoreFSCommand\>'
syn match GnashKeyword '\<ignoreShowMenu\>'
syn match GnashKeyword '\<insecureSSL\>'
syn match GnashKeyword '\<localSandboxPath\>'
syn match GnashKeyword '\<localdomain\>'
syn match GnashKeyword '\<localhost\>'
syn match GnashKeyword '\<microphoneDevice\>'
syn match GnashKeyword '\<parserDump\>'
syn match GnashKeyword '\<pluginsound\>'
syn match GnashKeyword '\<quality\>'
syn match GnashKeyword '\<solLocalDomain\>'
syn match GnashKeyword '\<sound\>'
syn match GnashKeyword '\<splashScreen\>'
syn match GnashKeyword '\<startStopped\>'
syn match GnashKeyword '\<streamsTimeout\>'
syn match GnashKeyword '\<urlOpenerFormat\>'
syn match GnashKeyword '\<verbosity\>'
syn match GnashKeyword '\<webcamDevice\>'
syn match GnashKeyword '\<whitelist\>'
syn match GnashKeyword '\<writelog\>'
hi def GnashOn ctermfg=Green guifg=Green
hi def GnashOff ctermfg=Red guifg=Red
hi def link GnashComment Comment
hi def link GnashTodo Todo
hi def link GnashString String
hi def link GnashNumber Normal
hi def link GnashSet String
hi def link GnashKeyword Keyword
let b:current_syntax = "gnash"
let &cpo = s:cpo_save
unlet s:cpo_save

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