Compare commits

...

98 Commits

Author SHA1 Message Date
Bram Moolenaar
ac0ddc15e9 updated for version 7.3.652
Problem:    Workaround for Python crash isn't perfect.
Solution:   Change the type of the length argument. (Sean Estabrooks)
2012-09-05 17:28:21 +02:00
Bram Moolenaar
7c0a86b1e8 updated for version 7.3.651
Problem:    Completion after ":help \{-" gives an error message.
Solution:   Prepend a backslash.
2012-09-05 15:15:07 +02:00
Bram Moolenaar
b4a80cdd91 updated for version 7.3.650
Problem:    Completion after ":help \{-" gives an error message and messes up
            the command line.
Solution:   Cancel the tag search if the pattern can't be compiled. (Yasuhiro
            Matsumoto)
2012-09-05 15:03:30 +02:00
Bram Moolenaar
7c82130a76 updated for version 7.3.649
Problem:    When 'clipboard' is set to "unnamed" small deletes end up in the
            numbered registers. (Ingo Karkat)
Solution:   Use the original register name to decide whether to put a delete
            in a numbered register. (Christian Brabandt)
2012-09-05 14:18:45 +02:00
Bram Moolenaar
2c66669c33 updated for version 7.3.648
Problem:    Crash when using a very long file name. (ZyX)
Solution:   Properly check length of buffer space.
2012-09-05 13:30:40 +02:00
Bram Moolenaar
57c0ea8692 updated for version 7.3.647
Problem:    "gnd" doesn't work correctly in Visual mode.
Solution:   Handle Visual mode differently in "gn". (Christian Brabandt)
2012-09-05 12:16:45 +02:00
Bram Moolenaar
465748e411 updated for version 7.3.646
Problem:    When reloading a buffer the undo file becomes unusable unless ":w"
            is executed. (Dmitri Frank)
Solution:   After reloading the buffer write the undo file. (Christian
            Brabandt)
2012-08-29 18:50:54 +02:00
Bram Moolenaar
dd7d846475 updated for version 7.3.645
Problem:    No tests for patch 7.3.625 and 7.3.637.
Solution:   Add more tests for the "gn" command and try/catch. (Christian
            Brabandt)
2012-08-29 16:55:13 +02:00
Bram Moolenaar
0551410a14 updated for version 7.3.644
Problem:    Dead code for BeOS GUI.
Solution:   Remove unused __BEOS__ stuff.
2012-08-29 16:34:27 +02:00
Bram Moolenaar
3633dc0129 updated for version 7.3.643
Problem:    MS-Windows: When starting gvim maximized 'lines' and 'columns' are
            wrong. (Christian Robinson)
Solution:   Move the check for gui.starting from ui_get_shellsize() to
            check_shellsize().
2012-08-29 16:26:04 +02:00
Bram Moolenaar
8f91399366 updated for version 7.3.642
Problem:    Segfault with specific autocommands.  Was OK after 7.3.449 and
            before 7.3.545. (Richard Brown)
Solution:   Pass TRUE for abort_if_last in the call to close_buffer().
            (Christian Brabandt)
2012-08-29 15:50:26 +02:00
Bram Moolenaar
002a4edc5b updated for version 7.3.641
Problem:    ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan)
Solution:   Add the bang. (Christian Brabandt)
2012-08-29 15:22:25 +02:00
Bram Moolenaar
18a1b9bd5f updated for version 7.3.640
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Binary files for 7.3.639. (Sergey Khorev)
2012-08-29 14:26:27 +02:00
Bram Moolenaar
c6c1d8b802 updated for version 7.3.639
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Include the required files, they are quite small.  Update the
            MSVC makefile to use them.  Binary files are in the next patch.
            (Sergey Khorev)
2012-08-29 14:18:33 +02:00
Bram Moolenaar
1c75a03501 Fix version.c, 638 was there twice. 2012-08-23 22:28:46 +02:00
Bram Moolenaar
451cf63751 updated for version 7.3.638 2012-08-23 18:58:14 +02:00
Bram Moolenaar
00b8ae0d3d updated for version 7.3.637
Problem:    Cannot catch the error caused by a foldopen when there is no fold.
            (ZyX, Issue 48)
Solution:   Do not break out of the loop early when inside try/catch.
            (Christian Brabandt) Except when there is a syntax error.
2012-08-23 18:43:10 +02:00
Bram Moolenaar
dde0efed85 updated for version 7.3.636
Problem:    Not all zero-width matches handled correctly for "gn".
Solution:   Move zero-width detection to a separate function. (Christian
            Brabandt)
2012-08-23 15:53:05 +02:00
Bram Moolenaar
4d93dc2699 updated for version 7.3.635
Problem:    Issue 21: System call during startup sets 'lines' to a wrong
            value. (Karl Yngve)
Solution:   Don't set the shell size while the GUI is still starting up.
            (Christian Brabandt)
2012-08-23 13:28:55 +02:00
Bram Moolenaar
b9ce83e135 updated for version 7.3.634
Problem:    Month/Day format for undo is confusing. (Marcin Szamotulski)
Solution:   Always use Year/Month/Day, should work for everybody.
2012-08-23 12:59:02 +02:00
Bram Moolenaar
9b4512500a Update runtime files. 2012-08-15 17:43:31 +02:00
Bram Moolenaar
dd82d699c8 updated for version 7.3.633
Problem:    Selection remains displayed as selected after selecting another
            text.
Solution:   Call xterm_update() before select(). (Andrew Pimlott)
2012-08-15 17:26:57 +02:00
Bram Moolenaar
2b9578f0f8 updated for version 7.3.632
Problem:    Cannot select beyond 222 columns with the mouse in xterm.
Solution:   Add support for SGR mouse tracking. (Hayaki Saito)
2012-08-15 16:21:32 +02:00
Bram Moolenaar
2430586629 updated for version 7.3.631
Problem:    Cannot complete user names.
Solution:   Add user name completion.  (Dominique Pelle)
2012-08-15 14:05:05 +02:00
Bram Moolenaar
2dac213ac6 updated for version 7.3.630
Problem:    "|" does not behave correctly when 'virtualedit' is set.
Solution:   Call validate_virtcol(). (David Bürgin)
2012-08-15 13:31:00 +02:00
Bram Moolenaar
14f2474147 updated for version 7.3.629
Problem:    There is no way to make 'shiftwidth' follow 'tabstop'.
Solution:   When 'shiftwidth' is zero use the value of 'tabstop'. (Christian
            Brabandt)
2012-08-08 18:01:05 +02:00
Bram Moolenaar
b02612b641 updated for version 7.3.628
Problem:    ":open" does not allow for a !, which results in a confusing error
            message. (Shawn Wilson)
Solution:   Allow ! on ":open". (Christian Brabandt)
2012-08-08 17:31:40 +02:00
Bram Moolenaar
07e31c571a updated for version 7.3.627
Problem:    When using the "n" flag with the ":s" command a \= substitution
            will not be evaluated.
Solution:   Do perform the evaluation, so that a function can be invoked at
            every matching position without changing the text. (Christian
            Brabandt)
2012-08-08 16:51:15 +02:00
Bram Moolenaar
c1a995db49 updated for version 7.3.626
Problem:    Python interface doesn't build with Python 2.4 or older.
Solution:   Define Py_ssize_t. (Benjamin Bannier)
2012-08-08 16:05:07 +02:00
Bram Moolenaar
ba6ba36fa2 updated for version 7.3.625
Problem:    "gn" does not handle zero-width matches correctly.
Solution:   Handle zero-width patterns specially. (Christian Brabandt)
2012-08-08 15:27:57 +02:00
Bram Moolenaar
04b2751899 updated for version 7.3.624
Problem:    When cancelling input() it returns the third argument. That should
            only happen for inputdialog().
Solution:   Check if inputdialog() was used. (Hirohito Higashi)
2012-08-08 14:33:21 +02:00
Bram Moolenaar
c271c48e80 updated for version 7.3.623
Problem:    Perl 5.14 commands crash Vim on MS-Windows.
Solution:   Use perl_get_sv() instead of GvSV(). (Raymond Ko)
2012-08-08 13:17:31 +02:00
Bram Moolenaar
e66822e3d1 updated for version 7.3.622
Problem:    XPM library for Win32 can't be found.
Solution:   Suggest using the one from the Vim ftp site.
2012-08-02 21:48:24 +02:00
Bram Moolenaar
09168a77e4 updated for version 7.3.621
Problem:    Compiler warnings on 64 bit windows.
Solution:   Add type casts. (Mike Williams)
2012-08-02 21:24:42 +02:00
Bram Moolenaar
da3cb831e9 updated for version 7.3.620
Problem:    Building with recent Ruby on Win32 doesn't work.
Solution:   Add a separate argument for the API version. (Yasuhiro Matsumoto)
2012-08-02 21:21:47 +02:00
Bram Moolenaar
e4195c5d84 updated for version 7.3.619
Problem:    When executing a shell command Vim may become slow to respond.
Solution:   Don't wait after every processed message. (idea by Yasuhiro
            Matsumoto)
2012-08-02 12:31:44 +02:00
Bram Moolenaar
8a0f3c78fe updated for version 7.3.618
Problem:    Still doesn't compile with small features.
Solution:   Move current_search() out of #ifdef. (Dominique Pelle)
2012-07-29 12:55:32 +02:00
Bram Moolenaar
a07c831bef updated for version 7.3.617
Problem:    Hang on completion.
Solution:   Skip over the space. (Yasuhiro Matsumoto)
2012-07-27 21:12:07 +02:00
Bram Moolenaar
dad937f77f updated for version 7.3.616
Problem:    Can't compile without +visual.
Solution:   Add #ifdef.
2012-07-27 21:05:54 +02:00
Bram Moolenaar
6c35beaa11 Updated runtime files. 2012-07-25 17:49:10 +02:00
Bram Moolenaar
848f87633a updated for version 7.3.615
Problem:    Completion for a user command does not recognize backslash before
            a space.
Solution:   Recognize escaped characters. (Yasuhiro Matsumoto)
2012-07-25 17:22:23 +02:00
Bram Moolenaar
0cbba94b7e updated for version 7.3.614
Problem:    Number argument gets turned into a number while it should be a
            string.
Solution:   Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
2012-07-25 16:47:03 +02:00
Bram Moolenaar
9bdb9a0987 updated for version 7.3.613
Problem:    Including Python's config.c in the build causes trouble.  It is
            not clear why it was there.
Solution:   Omit the config file. (James McCoy)
2012-07-25 16:32:08 +02:00
Bram Moolenaar
5fb9ec5ed7 updated for version 7.3.612
Problem:    Auto formatting messes up text when 'fo' contains "2". (ZyX)
Solution:   Decrement "less_cols". (Tor Perkins)
2012-07-25 16:10:03 +02:00
Bram Moolenaar
9581b5f70e updated for version 7.3.611
Problem:    Can't use Vim dictionary as self argument in Python.
Solution:   Fix the check for the "self" argument. (ZyX)
2012-07-25 15:36:04 +02:00
Bram Moolenaar
641e286153 updated for version 7.3.610
Problem:    Cannot operate on the text that a search pattern matches.
Solution:   Add the "gn" and "gN" commands. (Christian Brabandt)
2012-07-25 15:06:34 +02:00
Bram Moolenaar
058bdcfd5d updated for version 7.3.609
Problem:    File names in :checkpath! output are garbled.
Solution:   Check for \zs in the pattern. (Lech Lorens)
2012-07-25 13:46:30 +02:00
Bram Moolenaar
6763c140d6 updated for version 7.3.608
Problem:    winrestview() does not always restore the view correctly.
Solution:   Call win_new_height() and win_new_width(). (Lech Lorens)
2012-07-19 18:05:44 +02:00
Bram Moolenaar
049d8e79cf updated for version 7.3.607
Problem:    With an 8 color terminal the selected menu item is black on black,
            because darkGrey as bg is the same as black.
Solution:   Swap fg and bg colors. (James McCoy)
2012-07-19 17:39:07 +02:00
Bram Moolenaar
94c465c53d updated for version 7.3.606
Problem:    CTRL-P completion has a problem with multi-byte characters.
Solution:   Check for next character being NUL properly.  (Yasuhiro Matsumoto)
2012-07-19 17:18:26 +02:00
Bram Moolenaar
1a0cee53d4 updated for version 7.3.605
Problem:    MS-Windows: Can't compile with older compilers. (Titov Anatoly)
Solution:   Add #ifdef for MEMORYSTATUSEX.
2012-07-19 11:37:26 +02:00
Bram Moolenaar
b5c9cb555e updated for version 7.3.604
Problem:    inputdialog() doesn't use the cancel argument in the console.
            (David Fishburn)
Solution:   Use the third argument. (Christian Brabant)
2012-07-16 19:27:29 +02:00
Bram Moolenaar
bdb620560b updated for version 7.3.603
Problem:    It is possible to add replace builtin functions by calling
            extend() on g:.
Solution:   Add a flag to a dict to indicate it is a scope.  Check for
            existing functions. (ZyX)
2012-07-16 17:31:53 +02:00
Bram Moolenaar
c2ece10274 updated for version 7.3.602
Problem:    Missing files in distribution.
Solution:   Update the list of files.
2012-07-16 17:28:11 +02:00
Bram Moolenaar
97f38d9540 updated for version 7.3.601
Problem:    Bad code style.
Solution:   Insert space, remove parens.
2012-07-16 17:26:22 +02:00
Bram Moolenaar
30b6581799 Updated runtime files. 2012-07-12 22:01:11 +02:00
Bram Moolenaar
dfef15481d updated for version 7.3.600
Problem:    <f-args> is not expanded properly with DBCS encoding.
Solution:   Skip over character instead of byte. (Yukihiro Nakadaira)
2012-07-10 19:25:10 +02:00
Bram Moolenaar
89af439409 updated for version 7.3.599
Problem:    Missing change in one file.
Solution:   Patch for changed clip_autoselect().
2012-07-10 18:31:54 +02:00
Bram Moolenaar
cfa3caec0c updated for version 7.3.598
Problem:    Cannot act upon end of completion. (Taro Muraoka)
Solution:   Add an autocommand event that is triggered when completion has
            finished. (Idea by Florian Klein)
2012-07-10 17:14:56 +02:00
Bram Moolenaar
c0885aad5c updated for version 7.3.597
Problem:    'clipboard' "autoselect" only applies to the * register. (Sergey
            Vakulenko)
Solution:   Make 'autoselect' work for the + register. (Christian Brabant)
            Add the "autoselectplus" option in 'clipboard' and the "P" flag in
            'guioptions'.
2012-07-10 16:49:23 +02:00
Bram Moolenaar
f65e5667df updated for version 7.3.596
Problem:    Can't remove all signs for a file or buffer.
Solution:   Support "*" for the sign id. (Christian Brabandt)
2012-07-10 15:18:22 +02:00
Bram Moolenaar
773c1ef81b updated for version 7.3.595
Problem:    The X command server responds slowly
Solution:   Change the loop that waits for replies. (Brian Burns)
2012-07-10 14:56:45 +02:00
Bram Moolenaar
52bf469f6f updated for version 7.3.594
Problem:    The X command server doesn't work perfectly. It sends an empty
            reply for as-keys requests.
Solution:   Remove duplicate ga_init2(). Do not send a reply for as-keys
            requests. (Brian Burns)
2012-07-10 14:25:04 +02:00
Bram Moolenaar
77c604d3ff updated for version 7.3.593
Problem:    No easy way to decide if b:browsefilter will work.
Solution:   Add the browsefilter feature.
2012-07-10 13:41:14 +02:00
Bram Moolenaar
6c4b646d84 updated for version 7.3.592
Problem:    Vim on GTK does not support g:browsefilter.
Solution:   Add a GtkFileFilter to the file chooser. (Christian Brabandt)
2012-07-10 13:12:51 +02:00
Bram Moolenaar
8cb8dca2f0 updated for version 7.3.591
Problem:    Can only move to a tab by absolute number.
Solution:   Move a number of tabs to the left or the right. (Lech Lorens)
2012-07-06 18:27:39 +02:00
Bram Moolenaar
0306ac33a5 updated for version 7.3.590
Problem:    The '< and '> marks cannot be set directly.
Solution:   Allow setting '< and '>. (Christian Brabandt)
2012-07-06 17:51:28 +02:00
Bram Moolenaar
bef4790c23 updated for version 7.3.589
Problem:    Crash when $HOME is not set.
Solution:   Check for a NULL pointer. (Chris Webb)
2012-07-06 16:49:40 +02:00
Bram Moolenaar
756287da38 updated for version 7.3.588
Problem:    Crash on NULL pointer.
Solution:   Fix the immediate problem by checking for NULL. (Lech Lorens)
2012-07-06 16:39:47 +02:00
Bram Moolenaar
e25865a7f3 updated for version 7.3.587
Problem:    Compiler warning for local var shadowing global var.
Solution:   Rename the var and move it to an inner block. (Christian Brabandt)
2012-07-06 16:22:02 +02:00
Bram Moolenaar
95b557b1dc updated for version 7.3.586
Problem:    When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined.
Solution:   Set the default for WINVER to 0x0500.
2012-07-06 13:40:50 +02:00
Bram Moolenaar
5967abb97f updated for version 7.3.585
Problem:    Calling changed_bytes() too often.
Solution:   Move changed_bytes() out of a loop. (Tor Perkins)
2012-07-06 13:36:48 +02:00
Bram Moolenaar
221d6872c4 updated for version 7.3.584
Problem:    PyCObject is not always defined.
Solution:   Use PyObject instead.
2012-06-30 13:34:34 +02:00
Bram Moolenaar
e721122b79 updated for version 7.3.583
Problem:    PyObject_NextNotImplemented is not defined before Python 2.7.
            (Danek Duvall)
Solution:   Add #ifdefs.
2012-06-30 13:21:08 +02:00
Bram Moolenaar
49346f4155 updated for version 7.3.582
Problem:    Missing parts of the test OK file.
Solution:   Add the missing parts.
2012-06-29 23:57:54 +02:00
Bram Moolenaar
cc3e85f169 updated for version 7.3.581
Problem:    Problems compiling with Python.
Solution:   Pick UCS2 or UCS4 function at runtime. (lilydjwg)
2012-06-29 19:14:52 +02:00
Bram Moolenaar
3cd3e7ab17 updated for version 7.3.580
Problem:    Warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2012-06-29 17:52:02 +02:00
Bram Moolenaar
2afa3238a1 updated for version 7.3.579
Problem:    Can't compile with Python 2.5.
Solution:   Use PyCObject when Capsules are not available.
2012-06-29 16:28:28 +02:00
Bram Moolenaar
f27839c1a9 updated for version 7.3.578
Problem:    Misplaced declaration.
Solution:   Move declaration to start of block.
2012-06-29 16:19:50 +02:00
Bram Moolenaar
11b73d668f updated for version 7.3.577
Problem:    Size of memory does not fit in 32 bit unsigned.
Solution:   Use Kbyte instead of byte.  Call GlobalMemoryStatusEx() instead of
            GlobalMemoryStatus() when available.
2012-06-29 15:51:30 +02:00
Bram Moolenaar
96b7ca5142 updated for version 7.3.576
Problem:    Formatting of lists inside comments is not right yet.
Solution:   Use another solution and add a test. (Tor Perkins)
2012-06-29 15:04:49 +02:00
Bram Moolenaar
89f940fcac updated for version 7.3.575
Problem:    "ygt" tries to yank instead of giving an error. (Daniel Mueller)
Solution:   Check for a pending operator.
2012-06-29 13:56:06 +02:00
Bram Moolenaar
e79abddb2f updated for version 7.3.574
Problem:    When pasting a register in the search command line a CTRL-L
            character is not pasted. (Dominique Pelle)
Solution:   Escape the CTRL-L. (Christian Brabandt)
2012-06-29 13:44:41 +02:00
Bram Moolenaar
88b1ba151a updated for version 7.3.573
Problem:    Using array index before bounds checking.
Solution:   Swap the parts of the condition. (Dominique Pelle)
2012-06-29 13:34:19 +02:00
Bram Moolenaar
a53c60d33c updated for version 7.3.572
Problem:    Duplicate statement in if and else. (Dominique Pelle)
Solution:   Remove the condition and add a TODO.
2012-06-29 13:19:27 +02:00
Bram Moolenaar
f6a2b08c54 updated for version 7.3.571
Problem:    Duplicated condition.
Solution:   Remove one. (Dominique Pelle)
2012-06-29 13:14:03 +02:00
Bram Moolenaar
8f5c6f003a updated for version 7.3.570
Problem:    ":vimgrep" does not obey 'wildignore'.
Solution:   Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
2012-06-29 12:57:06 +02:00
Bram Moolenaar
db91395312 updated for version 7.3.569
Problem:    Evaluating Vim expression in Python is insufficient.
Solution:   Add vim.bindeval().  Also add pyeval() and py3eval(). (ZyX)
2012-06-29 12:54:53 +02:00
Bram Moolenaar
a7014df975 updated for version 7.3.568
Problem:    Bad indents for #ifdefs.
Solution:   Add and remove spaces. (Elias Diem)
2012-06-29 12:35:44 +02:00
Bram Moolenaar
002850940e updated for version 7.3.567
Problem:    Missing copyright notice.
Solution:   Add Vim copyright notice. (Taro Muraoka)
2012-06-29 11:46:33 +02:00
Bram Moolenaar
22189a4bd6 updated for version 7.3.566
Problem:    Redo after completion does not work correctly when refresh: always
            is not used. (Raymond Ko)
Solution:   Check the compl_opt_refresh_always flag. (Christian Brabandt)
2012-06-20 22:56:02 +02:00
Bram Moolenaar
3943156034 updated for version 7.3.565
Problem:    Can't generate proto file for Python 3.
Solution:   Add PYTHON3_CFLAGS to LINT_CFLAGS.
2012-06-20 18:39:15 +02:00
Bram Moolenaar
d12f811816 updated for version 7.3.564
Problem:    Warning for pointer conversion.
Solution:   Add type cast.
2012-06-20 17:56:09 +02:00
Bram Moolenaar
50a12b4078 updated for version 7.3.563
Problem:    Can't build with tiny features.
Solution:   Add #ifdef.
2012-06-20 17:54:38 +02:00
Bram Moolenaar
38bdbd6c6f updated for version 7.3.562
Problem:    ":profdel" should not work when the +profile feature is disabled.
Solution:   Call ex_ni(). (Yasuhiro Matsumoto)
2012-06-20 15:48:57 +02:00
Bram Moolenaar
5e1a0a9a65 updated for version 7.3.561
Problem:    Using refresh: always in a complete function breaks the "."
            command. (Val Markovic)
Solution:   Add match leader to the redo buffer. (Yasuhiro Matsumoto)
2012-06-20 14:26:35 +02:00
Bram Moolenaar
ed46560bf0 updated for version 7.3.560
Problem:    Get an error for a locked argument in extend().
Solution:   Initialize the lock flag for a dictionary. (Yukihiro Nakadaira)
2012-06-20 14:13:06 +02:00
Bram Moolenaar
9158f9e423 updated for version 7.3.559
Problem:    home_replace() does not work with 8.3 filename.
Solution:   Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto)
2012-06-20 14:02:27 +02:00
173 changed files with 8830 additions and 2421 deletions

View File

@@ -349,6 +349,12 @@ SRC_DOS_BIN = \
src/vim*.ico \
src/vim.tlb \
src/vimtbar.lib \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/include/*.h \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/vimtbar.dll \
nsis/icons/*.bmp \
nsis/icons/*.ico \
@@ -463,6 +469,7 @@ RT_ALL = \
runtime/macros/hanoi/hanoi.vim \
runtime/macros/hanoi/poster \
runtime/macros/justify.vim \
runtime/macros/less.bat \
runtime/macros/less.sh \
runtime/macros/less.vim \
runtime/macros/life/click.me \
@@ -666,6 +673,8 @@ EXTRA = \
# generic language files
LANG_GEN = \
runtime/doc/*-de.1 \
runtime/doc/*-de.UTF-8.1 \
runtime/doc/*-fr.1 \
runtime/doc/*-fr.UTF-8.1 \
runtime/doc/*-it.1 \

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 Dec 30
" Last Change: 2012 Jun 20
let s:cpo_save = &cpo
set cpo&vim
@@ -500,7 +500,7 @@ function! s:StructMembers(typename, items, all)
endif
if !cached
while 1
exe 'silent! ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
exe 'silent! keepj noautocmd ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
let qflist = getqflist()
if len(qflist) > 0 || match(typename, "::") < 0

View File

@@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Apr 05
" Last Change: 2012 Jun 30
"
" Additional contributors:
"
@@ -11,7 +11,7 @@
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo-=C
set cpo&vim
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
@@ -391,12 +391,25 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, '<meta name="plugin-version" content="'.g:loaded_2html_plugin.'"'.tag_close)
call add(html, '<meta name="settings" content="'.
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
\ ',prevent_copy='.s:settings.prevent_copy.
\ '"'.tag_close)
call add(html, '<meta name="colorscheme" content="'.
\ (exists('g:colors_name')
\ ? g:colors_name
\ : 'none'). '"'.tag_close)
call add(html, '</head>')
let body_line_num = len(html)
call add(html, '<body>')
call add(html, '<table border="1" width="100%">')
if !empty(s:settings.prevent_copy)
call add(html, "<body onload='FixCharWidth();'>")
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
call add(html, "<div id='oneCharWidth'>0</div>")
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
else
call add(html, '<body>')
endif
call add(html, "<table border='1' width='100%' id='vimCodeElement'>")
call add(html, '<tr>')
for buf in a:win_list
@@ -454,16 +467,19 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let insert_index = diff_style_start
endif
" Delete those parts that are not needed so
" we can include the rest into the resulting table
1,/^<body/d_
" Delete those parts that are not needed so we can include the rest into the
" resulting table.
1,/^<body.*\%(\n<!--.*-->\_s\+.*id='oneCharWidth'.*\_s\+.*id='oneInputWidth'.*\_s\+.*id='oneEmWidth'\)\?\zs/d_
$
?</body>?,$d_
let temp = getline(1,'$')
" clean out id on the main content container because we already set it on
" the table
let temp[0] = substitute(temp[0], " id='vimCodeElement'", "", "")
" undo deletion of start and end part
" so we can later save the file as valid html
" TODO: restore using grabbed lines if undolevel is 1?
normal 2u
normal! 2u
if s:settings.use_css
call add(html, '<td valign="top"><div>')
elseif s:settings.use_xhtml
@@ -520,12 +536,47 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
1
let style_start = search('^</head>')-1
" add required javascript in reverse order so we can just call append again
" and again without adjusting {{{
" insert script closing tag if any javascript is needed
if s:settings.dynamic_folds || !empty(s:settings.prevent_copy)
call append(style_start, [
\ '',
\ s:settings.use_xhtml ? '//]]>' : '-->',
\ "</script>"
\ ])
endif
" insert script which corrects the size of small input elements in
" prevent_copy mode. See 2html.vim for details on why this is needed and how
" it works.
if !empty(s:settings.prevent_copy)
call append(style_start, [
\ '',
\ '/* simulate a "ch" unit by asking the browser how big a zero character is */',
\ 'function FixCharWidth() {',
\ ' /* get the hidden element which gives the width of a single character */',
\ ' var goodWidth = document.getElementById("oneCharWidth").clientWidth;',
\ ' /* get all input elements, we''ll filter on class later */',
\ ' var inputTags = document.getElementsByTagName("input");',
\ ' var ratio = 5;',
\ ' var inputWidth = document.getElementById("oneInputWidth").clientWidth;',
\ ' var emWidth = document.getElementById("oneEmWidth").clientWidth;',
\ ' if (inputWidth > goodWidth) {',
\ ' while (ratio < 100*goodWidth/emWidth && ratio < 100) {',
\ ' ratio += 5;',
\ ' }',
\ ' document.getElementById("vimCodeElement").className = "em"+ratio;',
\ ' }',
\ '}'
\ ])
endif
" 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'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : " <!--",
\ " function toggleFold(objID)",
\ " {",
\ " for (win_num = 1; win_num <= ".len(a:buf_list)."; win_num++)",
@@ -542,9 +593,14 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
\ " }",
\ " }",
\ " }",
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif
" insert script tag if any javascript is needed
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
endif "}}}
" Insert styles from all the generated html documents and additional styles
@@ -609,9 +665,10 @@ func! tohtml#GetUserSettings() "{{{
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, 'no_foldcolumn', user_settings.ignore_folding)
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" }}}
@@ -637,6 +694,8 @@ func! tohtml#GetUserSettings() "{{{
" dynamic folding implies css
if user_settings.dynamic_folds
let user_settings.use_css = 1
else
let user_settings.no_foldcolumn = 1 " won't do anything but for consistency and for the test suite
endif
" if we're not using CSS we cannot use a pre section because <font> tags
@@ -663,6 +722,7 @@ func! tohtml#GetUserSettings() "{{{
endif
" }}}
" textual options
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
@@ -705,6 +765,45 @@ func! tohtml#GetUserSettings() "{{{
endif
endif "}}}
" Default to making nothing uncopyable, because we default to
" not-standards way of doing things, and also because Microsoft Word and
" others paste the <input> elements anyway.
"
" html_prevent_copy only has an effect when using CSS.
"
" All options:
" f - fold column
" n - line numbers (also within fold text)
" t - fold text
" d - diff filler
" c - concealed text (reserved future)
" l - listchars (reserved possible future)
" s - signs (reserved possible future)
"
" Normal text is always selectable.
let user_settings.prevent_copy = ""
if user_settings.use_css
if exists("g:html_prevent_copy")
if user_settings.dynamic_folds && !user_settings.no_foldcolumn && g:html_prevent_copy =~# 'f'
let user_settings.prevent_copy .= 'f'
endif
if user_settings.number_lines && g:html_prevent_copy =~# 'n'
let user_settings.prevent_copy .= 'n'
endif
if &diff && g:html_prevent_copy =~# 'd'
let user_settings.prevent_copy .= 'd'
endif
if !user_settings.ignore_folding && g:html_prevent_copy =~# 't'
let user_settings.prevent_copy .= 't'
endif
else
let user_settings.prevent_copy = ""
endif
endif
if empty(user_settings.prevent_copy)
let user_settings.no_invalid = 0
endif
" TODO: font
return user_settings

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: Mono C# Compiler
" Maintainer: Jarek Sobiecki <harijari@go2.pl>
" Latest Revision: 2006-06-18
" Last Updated By: Peter Collingbourne
" Latest Revision: 2012 Jul 19
if exists("current_compiler")
finish
@@ -12,13 +13,18 @@ let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
\%D%.%#Project\ \"%f/%[%^/\"]%#\"%.%#,
\%X%.%#Done\ building\ project\ \"%f/%[%^/\"]%#\"%.%#,
\%-G%\\s%.%#,
\%E%f(%l):\ error\ CS%n:%m,
\%W%f(%l):\ warning\ CS%n:%m,
\%E%f(%l\\,%c):\ error\ CS%n:%m,
\%W%f(%l\\,%c):\ warning\ CS%n:%m,
\%E%>syntax\ error\\,%m,%Z%f(%l\\,%c):\ error\ CS%n:%m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f,
\%G-%.%#
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2012 Feb 22
*autocmd.txt* For Vim version 7.3. Last change: 2012 Jul 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -385,6 +385,10 @@ BufRead or BufReadPost When starting to edit a new buffer, after
This does NOT work for ":r file". Not used
when the file doesn't exist. Also used after
successfully recovering a file.
Also triggered for the filetypedetect group
when executing ":filetype detect" and when
writing an unnamed buffer in a way that the
buffer gets a name.
*BufReadCmd*
BufReadCmd Before starting to edit a new buffer. Should
read the file into the buffer. |Cmd-event|
@@ -474,6 +478,11 @@ CmdwinLeave Before leaving the command-line window.
*ColorScheme*
ColorScheme After loading a color scheme. |:colorscheme|
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning
completion. |ins-completion|
*CursorHold*
CursorHold When the user doesn't press a key for the time
specified with 'updatetime'. Not re-triggered
@@ -717,6 +726,12 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
it is run after error file is read and before
moving to the first error.
See |QuickFixCmdPost-example|.
*QuitPre*
QuitPre When using `:quit`, before deciding whether it
closes the current window or quits Vim. Can
be used to close any non-essential window if
the current window is the last ordinary
window.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|. The

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2012 Apr 30
*change.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -666,6 +666,8 @@ The flags that you can use for the substitute commands:
[n] Report the number of matches, do not actually substitute. The [c]
flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match.
[p] Print the line containing the last substitute.
@@ -1502,6 +1504,7 @@ n When formatting text, recognize numbered lists. This actually uses
first line of a paragraph
second line of the same paragraph
third line.
< This also works inside comments, ignoring the comment leader.
v Vi-compatible auto-wrapping in insert mode: Only break a line at a
blank that you have entered during the current insert command. (Note:
this is not 100% Vi compatible. Vi has some "unexpected features" or

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.3. Last change: 2012 Feb 05
*cmdline.txt* For Vim version 7.3. Last change: 2012 Jun 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -826,10 +826,11 @@ These modifiers can be given, in this order:
the home directory. If the name is a directory a path
separator is added at the end. For a file name that does not
exist and does not have an absolute path the result is
unpredictable.
unpredictable. On MS-Windows an 8.3 filename is expanded to
the long name.
:8 Converts the path to 8.3 short format (currently only on
win32). Will act on as much of a path that is an existing
path.
MS-Windows). Will act on as much of a path that is an
existing path.
:~ Reduce file name to be relative to the home directory, if
possible. File name is unmodified if it is not below the home
directory.

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2012 May 18
*diff.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -333,7 +333,7 @@ diff. This example explains the format that Vim expects: >
The "1a2" item appends the line "bbb".
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
The "7c7" item replaces the line "GGG" with "ggg".
When 'diffexpr' is not empty, Vim evaluates it to obtain a diff file in the
format mentioned. These variables are set to the file names used:

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2012 Apr 03
*editing.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -377,8 +377,9 @@ command that accepts more than one file name (like ":next file1 file2")
embedded spaces must be escaped with a backslash.
*wildcard* *wildcards*
Wildcards in {file} are expanded. Which wildcards are supported depends on
the system. These are the common ones:
Wildcards in {file} are expanded, but as with file completion, 'wildignore'
and 'suffixes' apply. Which wildcards are supported depends on the system.
These are the common ones:
? matches one character
* matches anything, including nothing
** matches anything, including nothing, recurses into directories
@@ -392,7 +393,7 @@ is to use "path\[[]abc]". Then the file "path[abc]" literally.
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
This allows searching a directory tree. This goes up to 100 directories deep.
Note there are some commands where this works slightly different, see
Note there are some commands where this works slightly differently, see
|file-searching|.
Example: >
:n **/*.txt
@@ -422,9 +423,11 @@ You can have the backticks expanded as a Vim expression, instead of an
external command, by using the syntax `={expr}` e.g.: >
:e `=tempname()`
The expression can contain just about anything, thus this can also be used to
avoid the special meaning of '"', '|', '%' and '#'. Names are to be separated
with line breaks. When the result is a |List| then each item is used as a
name. Line breaks also separate names.
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
does apply like to other wildcars.
If the expression returns a string then names are to be separated with line
breaks. When the result is a |List| then each item is used as a name. Line
breaks also separate names.
*++opt* *[++opt]*
The [++opt] argument can be used to force the value of 'fileformat',
@@ -1066,6 +1069,7 @@ The names can be in upper- or lowercase.
If there are other tab pages and quitting the last
window in the current tab page the current tab page is
closed |tab-page|.
Triggers the |QuitPre| autocommand event.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
@@ -1215,13 +1219,13 @@ For versions of Vim where browsing is not supported, the command is executed
unmodified.
*browsefilter*
For MS Windows, you can modify the filters that are used in the browse dialog.
By setting the g:browsefilter or b:browsefilter variables, you can change the
filters globally or locally to the buffer. The variable is set to a string in
the format "{filter label}\t{pattern};{pattern}\n" where {filter label} is the
text that appears in the "Files of Type" comboBox, and {pattern} is the
pattern which filters the filenames. Several patterns can be given, separated
by ';'.
For MS Windows and GTK, you can modify the filters that are used in the browse
dialog. By setting the g:browsefilter or b:browsefilter variables, you can
change the filters globally or locally to the buffer. The variable is set to
a string in the format "{filter label}\t{pattern};{pattern}\n" where {filter
label} is the text that appears in the "Files of Type" comboBox, and {pattern}
is the pattern which filters the filenames. Several patterns can be given,
separated by ';'.
For Motif the same format is used, but only the very first pattern is actually
used (Motif only offers one pattern, but you can edit it).
@@ -1229,7 +1233,7 @@ used (Motif only offers one pattern, but you can edit it).
For example, to have only Vim files in the dialog, you could use the following
command: >
let g:browsefilter="Vim Scripts\t*.vim\nVim Startup Files\t*vimrc\n"
let g:browsefilter = "Vim Scripts\t*.vim\nVim Startup Files\t*vimrc\n"
You can override the filter setting on a per-buffer basis by setting the
b:browsefilter variable. You would most likely set b:browsefilter in a
@@ -1239,6 +1243,13 @@ difficult to start editing a file of a different type. To overcome this, you
may want to add "All Files\t*.*\n" as the final filter, so that the user can
still access any desired file.
To avoid setting browsefilter when Vim does not actually support it, you can
use has("browsefilter"): >
if has("browsefilter")
let g:browsefilter = "whatever"
endif
==============================================================================
7. The current directory *current-directory*

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2012 May 18
*eval.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1880,6 +1880,8 @@ pow( {x}, {y}) Float {x} to the power of {y}
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
pumvisible() Number whether popup menu is visible
pyeval( {expr}) any evaluate |Python| expression
py3eval( {expr}) any evaluate |python3| expression
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile( {fname} [, {binary} [, {max}]])
@@ -3286,8 +3288,9 @@ getfperm({fname}) *getfperm()*
"rwx" flags represent, in turn, the permissions of the owner
of the file, the group the file belongs to, and other users.
If a user does not have a given permission the flag for this
is replaced with the string "-". Example: >
is replaced with the string "-". Examples: >
:echo getfperm("/etc/passwd")
:echo getfperm(expand("~/.vimrc"))
< This will hopefully (from a security point of view) display
the string "rw-r--r--" or even "rw-------".
@@ -3565,6 +3568,9 @@ histadd({history}, {item}) *histadd()*
"search" or "/" search pattern history
"expr" or "=" typed expression history
"input" or "@" input line history
"debug" or ">" debug command history
The {history} string does not need to be the whole name, one
character is sufficient.
If {item} does already exist in the history, it will be
shifted to become the newest entry.
The result is a Number: 1 if the operation was successful,
@@ -4033,7 +4039,7 @@ map({expr}, {string}) *map()*
The operation is done in-place. If you want a |List| or
|Dictionary| to remain unmodified make a copy first: >
:let tlist = map(copy(mylist), ' & . "\t"')
:let tlist = map(copy(mylist), ' v:val . "\t"')
< Returns {expr}, the |List| or |Dictionary| that was filtered.
When an error is encountered while evaluating {string} no
@@ -4610,6 +4616,29 @@ pumvisible() *pumvisible()*
This can be used to avoid some things that would remove the
popup menu.
*E860* *E861*
py3eval({expr}) *py3eval()*
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Numbers and strings are returned as they are (strings are
copied though, unicode strings are additionally converted to
'encoding').
Lists are represented as Vim |List| type.
Dictionaries are represented as Vim |Dictionary| type with
keys converted to strings.
{only available when compiled with the |+python3| feature}
*E858* *E859*
pyeval({expr}) *pyeval()*
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Numbers and strings are returned as they are (strings are
copied though).
Lists are represented as Vim |List| type.
Dictionaries are represented as Vim |Dictionary| type with
keys converted to strings.
{only available when compiled with the |+python| feature}
*E726* *E727*
range({expr} [, {max} [, {stride}]]) *range()*
Returns a |List| with Numbers:
@@ -6219,6 +6248,7 @@ balloon_multiline GUI supports multiline balloons.
beos BeOS version of Vim.
browse Compiled with |:browse| support, and browse() will
work.
browsefilter Compiled with support for |browsefilter|.
builtin_terms Compiled with some builtin terminals.
byte_offset Compiled with support for 'o' in 'statusline'
cindent Compiled with 'cindent' support.
@@ -6296,6 +6326,7 @@ 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_sgr Compiled with support for sgr mouse.
mouse_urxvt Compiled with support for urxvt mouse.
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2011 Jul 23
*gui_w32.txt* For Vim version 7.3. Last change: 2012 Aug 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -489,4 +489,16 @@ to:
And add gvim to the list of applications. This problem only appears to happen
with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on.
XPM support *w32-xpm-support*
Gvim can be build on MS-Windows with support for XPM files. |+xpm_w32|
See the Make_mvc.mak file for instructions, search for XPM.
To try out if XPM support works do this: >
:help
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
<
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 7.3. Last change: 2012 Jan 16
*if_lua.txt* For Vim version 7.3. Last change: 2012 Jun 29
VIM REFERENCE MANUAL by Luis Carvalho
@@ -313,7 +313,7 @@ Examples:
<
==============================================================================
7. The luaeval function *lua-luaeval*
7. The luaeval function *lua-luaeval* *lua-eval*
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 7.3. Last change: 2010 Jul 21
*if_perl.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -44,15 +44,17 @@ The Perl patches for Vim were made by:
Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
Matt Gerassimof
Perl for MS-Windows can be found at:
http://www.perl.com/CPAN/ports/nt/Standard/x86/
Perl for MS-Windows can be found at: http://www.perl.com/
The ActiveState one should work.
==============================================================================
3. Using the Perl interface *perl-using*
*:perl* *:pe*
:pe[rl] {cmd} Execute Perl command {cmd}. The current package
is "main".
is "main". Simple example to test if `:perl` is
working: >
:perl VIM::Msg("Hello")
:pe[rl] << {endpattern}
{script}

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2012 Feb 04
*if_pyth.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Paul Moore
@@ -6,13 +6,14 @@
The Python Interface to Vim *python* *Python*
1. Commands |python-commands|
2. The vim module |python-vim|
3. Buffer objects |python-buffer|
4. Range objects |python-range|
5. Window objects |python-window|
6. Dynamic loading |python-dynamic|
7. Python 3 |python3|
1. Commands |python-commands|
2. The vim module |python-vim|
3. Buffer objects |python-buffer|
4. Range objects |python-range|
5. Window objects |python-window|
6. pyeval(), py3eval() Vim functions |python-pyeval|
7. Dynamic loading |python-dynamic|
8. Python 3 |python3|
{Vi does not have any of these commands}
@@ -26,7 +27,9 @@ The Python 3 interface is available only when Vim was compiled with the
*:python* *:py* *E205* *E263* *E264*
:[range]py[thon] {stmt}
Execute Python statement {stmt}.
Execute Python statement {stmt}. A simple check if
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << {endmarker}
{script}
@@ -150,6 +153,22 @@ vim.eval(str) *python-eval*
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name':
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
vim.bindeval(str) *python-bindeval*
Like |python-eval|, but
1. if expression evaluates to |List| or |Dictionary| it is returned as
vimlist or vimdictionary python type that are connected to original
list or dictionary. Thus modifications to these objects imply
modifications of the original.
2. if expression evaluates to a function reference, then it returns
callable vimfunction object. Use self keyword argument to assign
|self| object for dictionary functions.
Note: this function has the same behavior as |lua-eval| (except that
lua does not support running vim functions), |python-eval| is
kept for backwards compatibility in order not to make scripts
relying on outputs of vim.eval() being a copy of original or
vim.eval("1") returning a string.
Error object of the "vim" module
@@ -319,7 +338,13 @@ The height attribute is writable only if the screen is split horizontally.
The width attribute is writable only if the screen is split vertically.
==============================================================================
6. Dynamic loading *python-dynamic*
6. pyeval() and py3eval() Vim functions *python-pyeval*
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
functions to evaluate Python expressions and pass their values to VimL.
==============================================================================
7. Dynamic loading *python-dynamic*
On MS-Windows the Python library can be loaded dynamically. The |:version|
output then includes |+python/dyn|.
@@ -336,13 +361,16 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
sure edit "gvim.exe" and search for "python\d*.dll\c".
==============================================================================
7. Python 3 *python3*
8. Python 3 *python3*
*:py3* *:python3*
The |:py3| and |:python3| commands work similar to |:python|.
*:py3file*
The |:py3| and |:python3| commands work similar to |:python|. A simple check
if the `:py3` command is wrong: >
:py3 print("Hello")
< *:py3file*
The |:py3file| command works similar to |:pyfile|.
Vim can be built in four ways (:version output):
1. No Python support (-python, -python3)
2. Python 2 support only (+python or +python/dyn, -python3)

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Oct 27
*if_ruby.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Shugo Maeda
@@ -25,7 +25,8 @@ downloading Ruby there.
1. Commands *ruby-commands*
*:ruby* *:rub*
:rub[y] {cmd} Execute Ruby command {cmd}.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << {endpattern}
{script}
@@ -40,9 +41,6 @@ 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()
@@ -211,6 +209,8 @@ for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
and comment-out the check for _MSC_VER.
You may also need to rename the include directory name to match the version,
strangely for Ruby 1.9.3 the directory is called 1.9.1.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 7.3. Last change: 2008 Aug 16
*if_tcl.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Ingo Wilken
@@ -27,7 +27,9 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
1. Commands *tcl-ex-commands* *E571* *E572*
*:tcl* *:tc*
:tc[l] {cmd} Execute Tcl command {cmd}.
:tc[l] {cmd} Execute Tcl command {cmd}. A simple check if `:tcl`
is working: >
:tcl puts "Hello"
:[range]tc[l] << {endmarker}
{script}

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2011 Aug 06
*index.txt* For Vim version 7.3. Last change: 2012 Jul 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -719,6 +719,8 @@ tag char note action in Normal mode ~
|gH| gH start Select line mode
|gI| gI 2 like "I", but always start in column 1
|gJ| gJ 2 join lines without inserting space
|gN| gN 1,2 find the previous match with the last used
search pattern and Visually select it
|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
@@ -751,6 +753,8 @@ tag char note action in Normal mode ~
lines down
|gk| gk 1 like "k", but when 'wrap' on go N screen
lines up
|gn| gn 1,2 find the next match with the last used
search pattern and Visually select it
|gm| gm 1 go to character at middle of the screenline
|go| go 1 cursor to byte N in the buffer
|gp| ["x]gp 2 put the text [from register x] after the

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2012 May 18
*insert.txt* For Vim version 7.3. Last change: 2012 Jul 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -491,7 +491,7 @@ option}
*ins-smarttab*
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
the beginning of a line and 'tabstop' positions in other places. This means
that often spaces instead of a <Tab> character are inserted. When 'smarttab
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
used for ">>" and the like. {not in Vi}
@@ -1044,6 +1044,8 @@ that contains the List. The Dict can have these items:
leading text is changed.
Other items are ignored.
For acting upon end of completion, see the |CompleteDone| autocommand event.
For example, the function can contain this: >
let matches = ... list of words ...
return {'words': matches, 'refresh': 'always'}

View File

@@ -1244,6 +1244,7 @@ completion can be enabled:
-complete=syntax syntax file names |'syntax'|
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-complete=user user names
-complete=var user variables
-complete=custom,{func} custom completion, defined via {func}
-complete=customlist,{func} custom completion, defined via {func}

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.3. Last change: 2012 Feb 29
*mbyte.txt* For Vim version 7.3. Last change: 2012 Jun 06
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -475,7 +475,7 @@ Useful utilities for converting the charset:
|charset| converter. Supported |charset|: ISO-2022-CN, ISO-2022-JP,
ISO-2022-KR, EUC-CN, EUC-JP, EUC-KR, EUC-TW, UTF-7, UTF-8, ISO-8859
series, Shift_JIS, Big5 and HZ. Lv can be found at:
http://www.ff.iij4u.or.jp/~nrt/freeware/lv4495.tar.gz
http://www.ff.iij4u.or.jp/~nrt/lv/index.html
*mbyte-conversion*
@@ -615,7 +615,7 @@ Each field means:
charsets, such as JIS X 0208, if this field is 0, code points has
the same value as GL, and GR if 1.
For example, in case of a 14 dots font corresponding to JIS X 0208, it is
For example, in case of a 16 dots font corresponding to JIS X 0208, it is
written like:
-misc-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1990-0

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.3. Last change: 2011 Jul 19
*motion.txt* For Vim version 7.3. Last change: 2012 Aug 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -57,7 +57,7 @@ or change text. The following operators are available:
|>| > shift right
|<| < shift left
|zf| zf define a fold
|g@| g@ call function set with the 'operatorfunc' option
|g@| g@ call function set with the 'operatorfunc' option
If the motion includes a count and the operator also had a count before it,
the two counts are multiplied. For example: "2d3w" deletes six words.
@@ -326,6 +326,7 @@ gg Goto line [count], default first line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
*:[range]*
:[range] Set the cursor on the last line number in [range].
[range] can also be just one line number, e.g., ":1"
or ":'m".
@@ -513,6 +514,8 @@ always select less text than the "a" commands.
These commands are {not in Vi}.
These commands are not available when the |+textobjects| feature has been
disabled at compile time.
Also see `gn` and `gN`, operating on the last search pattern.
*v_aw* *aw*
aw "a word", select [count] words (see |word|).
Leading or trailing white space is included, but not
@@ -689,6 +692,7 @@ movement commands are used.
"daw" delete a word *daw*
"diW" delete inner WORD (see |WORD|) *diW*
"daW" delete a WORD (see |WORD|) *daW*
"dgn" delete the next search pattern match *dgn*
"dd" delete one line |dd|
"dis" delete inner sentence *dis*
"das" delete a sentence *das*
@@ -750,6 +754,13 @@ m[ or m] Set the |'[| or |']| mark. Useful when an operator is
to be simulated by multiple commands. (does not move
the cursor, this is not a motion command).
*m<* *m>*
m< or m> Set the |'<| or |'>| mark. Useful to change what the
`gv` command selects. (does not move the cursor, this
is not a motion command).
Note that the Visual mode cannot be set, only the
start and end position.
*:ma* *:mark* *E191*
:[range]ma[rk] {a-zA-Z'}
Set mark {a-zA-Z'} at last line number in [range],

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2012 May 16
*options.txt* For Vim version 7.3. Last change: 2012 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1107,8 +1107,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Vim does not try to send a message to an external debugger (Netbeans
or Sun Workshop).
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'balloonexpr' |textlock|.
@@ -1452,6 +1452,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option is a list of comma separated names.
These names are recognized:
*clipboard-unnamed*
unnamed When included, Vim will use the clipboard register '*'
for all yank, delete, change and put operations which
would normally go to the unnamed register. When a
@@ -1461,6 +1462,7 @@ 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|.
*clipboard-unnamedplus*
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
@@ -1470,6 +1472,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Availability can be checked with: >
if has('unnamedplus')
<
*clipboard-autoselect*
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
@@ -1481,9 +1484,16 @@ A jump table for the options with a short description can be found at |Q_op|.
"autoselect" flag is used.
Also applies to the modeless selection.
*clipboard-autoselectplus*
autoselectplus Like "autoselect" but using the + register instead of
the * register. Compare to the 'P' flag in
'guioptions'.
*clipboard-autoselectml*
autoselectml Like "autoselect", but for the modeless selection
only. Compare to the 'A' flag in 'guioptions'.
*clipboard-html*
html When the clipboard contains HTML, use this when
pasting. When putting text on the clipboard, mark it
as HTML. This works to copy rendered HTML from
@@ -1494,6 +1504,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Only supported for GTK version 2 and later.
Only available with the |+multi_byte| feature.
*clipboard-exclude*
exclude:{pattern}
Defines a pattern that is matched against the name of
the terminal 'term'. If there is a match, no
@@ -3040,8 +3051,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The expression used for when 'foldmethod' is "expr". It is evaluated
for each line to obtain its fold level. See |fold-expr|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
This option can't be set from a |modeline| when the 'diff' option is
on.
@@ -3183,8 +3194,8 @@ A jump table for the options with a short description can be found at |Q_op|.
An expression which is used to specify the text displayed for a closed
fold. See |fold-foldtext|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'foldtext' |textlock|.
@@ -3229,8 +3240,8 @@ A jump table for the options with a short description can be found at |Q_op|.
format function will be used |C-indenting|.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
@@ -3263,9 +3274,9 @@ A jump table for the options with a short description can be found at |Q_op|.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|. That stops the option from working, since changing
the buffer text is not allowed.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'fsync'* *'fs'*
'fsync' 'fs' boolean (default on)
@@ -3589,6 +3600,9 @@ A jump table for the options with a short description can be found at |Q_op|.
windowing system's global selection unless explicitly told to
by a yank or delete operation for the "* register.
The same applies to the modeless selection.
*'go-P'*
'P' Like autoselect but using the "+ register instead of the "*
register.
*'go-A'*
'A' Autoselect for the modeless selection. Like 'a', but only
applies to the modeless selection.
@@ -4086,8 +4100,8 @@ A jump table for the options with a short description can be found at |Q_op|.
found. Allows doing "gf" on the name after an 'include' statement.
Also used for |<cfile>|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'includeexpr' |textlock|.
@@ -4151,8 +4165,8 @@ A jump table for the options with a short description can be found at |Q_op|.
See |indent-expression|.
NOTE: This option is made empty when 'compatible' is set.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'indentexpr' |textlock|.
@@ -4581,24 +4595,31 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Strings to use in 'list' mode and for the |:list| command. It is a
comma separated list of string settings.
*lcs-eol*
eol:c Character to show at the end of each line. When
omitted, there is no extra character at the end of the
line.
*lcs-tab*
tab:xy Two characters to be used to show a tab. The first
char is used once. The second char is repeated to
fill the space that the tab normally occupies.
"tab:>-" will show a tab that takes four spaces as
">---". When omitted, a tab is show as ^I.
*lcs-trail*
trail:c Character to show for trailing spaces. When omitted,
trailing spaces are blank.
*lcs-extends*
extends:c Character to show in the last column, when 'wrap' is
off and the line continues beyond the right of the
screen.
*lcs-precedes*
precedes:c Character to show in the first column, when 'wrap'
is off and there is text preceding the character
visible in the first column.
*lcs-conceal*
conceal:c Character to show in place of concealed text, when
'conceallevel' is set to 1.
*lcs-nbsp*
nbsp:c Character to show for a non-breakable space (character
0xA0, 160). Left blank when omitted.
@@ -5119,6 +5140,8 @@ A jump table for the options with a short description can be found at |Q_op|.
invoked and what it should return.
This option is usually set by a filetype plugin:
|:filetype-plugin-on|
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
@@ -6096,6 +6119,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
Number of spaces to use for each step of (auto)indent. Used for
|'cindent'|, |>>|, |<<|, etc.
When zero the 'ts' value will be used.
*'shortmess'* *'shm'*
'shortmess' 'shm' string (Vim default "filnxtToO", Vi default: "",
@@ -6680,8 +6704,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The variable "actual_curbuf" is set to the 'bufnr()' number of the
real current buffer.
The 'statusline' option may be evaluated in the |sandbox|, see
|sandbox-option|.
The 'statusline' option will be evaluated in the |sandbox| if set from
a modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'statusline' |textlock|.
@@ -7402,6 +7426,10 @@ A jump table for the options with a short description can be found at |Q_op|.
pterm QNX pterm mouse handling.
*urxvt-mouse*
urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
*sgr-mouse*
sgr Mouse handling for the terminal that emits SGR-styled
mouse reporting. Works with xterm version 277 or
later.
The mouse handling must be enabled at compile time |+mouse_xterm|
|+mouse_dec| |+mouse_netterm|.
@@ -7414,6 +7442,7 @@ A jump table for the options with a short description can be found at |Q_op|.
or "xterm2" already. The main use of this option is to set it to
"xterm", when the terminal name doesn't start with "xterm", but it can
handle xterm mouse codes.
The "sgr" value will be set if the xterm version is 277 or later.
The "xterm2" value will be set if the xterm version is reported to be
95 or higher. This only works when compiled with the |+termresponse|
feature and if |t_RV| is set to the escape sequence to request the
@@ -7841,9 +7870,9 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+wildignore|
feature}
A list of file patterns. A file that matches with one of these
patterns is ignored when completing file or directory names, and
influences the result of |expand()|, |glob()| and |globpath()| unless
a flag is passed to disable this.
patterns is ignored when expanding |wildcards|, completing file or
directory names, and influences the result of |expand()|, |glob()| and
|globpath()| unless a flag is passed to disable this.
The pattern is used like with |:autocmd|, see |autocmd-patterns|.
Also see 'suffixes'.
Example: >

View File

@@ -1,4 +1,4 @@
*pi_gzip.txt* For Vim version 7.3. Last change: 2002 Oct 29
*pi_gzip.txt* For Vim version 7.3. Last change: 2012 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -25,6 +25,8 @@ with these extensions:
*.Z compress (Lempel-Ziv)
*.gz gzip
*.bz2 bzip2
*.lzma lzma
*.xz xz
That's actually the only thing you need to know. There are no options.

View File

@@ -561,7 +561,9 @@ commands can be combined to create a NewGrep command: >
*:vim* *:vimgrep* *E682* *E683*
:vim[grep][!] /{pattern}/[g][j] {file} ...
Search for {pattern} in the files {file} ... and set
the error list to the matches.
the error list to the matches. Files matching
'wildignore' are ignored; files in 'suffixes' are
searched last.
Without the 'g' flag each line is added only once.
With 'g' every match is added.

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 7.3. Last change: 2012 Jan 04
*sign.txt* For Vim version 7.3. Last change: 2012 Jul 10
VIM REFERENCE MANUAL by Gordon Prieur
@@ -153,8 +153,14 @@ REMOVING SIGNS *:sign-unplace* *E159*
Remove the previously placed sign {id} from file {fname}.
See remark above about {fname} |:sign-fname|.
:sign unplace * file={fname}
Remove all placed signs in file {fname}.
:sign unplace {id} buffer={nr}
Same, but use buffer {nr}.
Remove the previously placed sign {id} from buffer {nr}.
:sign unplace * buffer={nr}
Remove all placed signs in buffer {nr}.
:sign unplace {id}
Remove the previously placed sign {id} from all files it

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2012 Apr 06
*syntax.txt* For Vim version 7.3. Last change: 2012 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -380,194 +380,23 @@ settings, depending on which syntax is active. Example: >
This is not a syntax file itself, but a script that converts the current
window into HTML. Vim opens a new window in which it builds the HTML file.
After you save the resulting file, you can view it with any browser. The
colors should be exactly the same as you see them in Vim.
You are not supposed to set the 'filetype' or 'syntax' option to "2html"!
Source the script to convert the current file: >
:runtime! syntax/2html.vim
<
*:TOhtml*
Or use the ":TOhtml" user command. It is defined in a standard plugin.
":TOhtml" also works with a range and in a Visual area: >
:10,40TOhtml
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
":TOhtml" has another special feature: if the window is in diff mode, it will
generate HTML that shows all the related windows. This can be disabled by
setting the g:html_diff_one_file variable: >
let g:html_diff_one_file = 1
After you save the resulting file, you can view it with any browser. The
colors should be exactly the same as you see them in Vim.
To restrict the conversion to a range of lines, use a range with the |:TOhtml|
command, or set "g:html_start_line" and "g:html_end_line" to the first and
last line to be converted. Example, using the last set Visual area: >
:let g:html_start_line = line("'<")
:let g:html_end_line = line("'>")
The lines are numbered according to 'number' option and the Number
highlighting. You can force lines to be numbered in the HTML output by
setting "html_number_lines" to non-zero value: >
:let g:html_number_lines = 1
Force to omit the line numbers by using a zero value: >
:let g:html_number_lines = 0
Go back to the default to use 'number' by deleting the variable: >
:unlet g:html_number_lines
By default, valid HTML 4.01 using cascading style sheets (CSS1) is generated.
If you need to generate markup for really old browsers or some other user
agent that lacks basic CSS support, use: >
:let g:html_use_css = 0
Concealed text is removed from the HTML and replaced with the appropriate
character from |:syn-cchar| or 'listchars' depending on the current value of
'conceallevel'. If you always want to display all text in your document,
either set 'conceallevel' to zero before invoking 2html, or use: >
:let g:html_ignore_conceal = 1
Similarly, closed folds are put in the HTML as they are displayed. If you
don't want this, use the |zR| command before invoking 2html, or use: >
:let g:html_ignore_folding = 1
You may want to generate HTML that includes all the data within the folds, and
allow the user to view the folded data similar to how they would in Vim. To
generate this dynamic fold information, use: >
:let g:html_dynamic_folds = 1
Using html_dynamic_folds will imply html_use_css, because it would be far too
difficult to do it for old browsers. However, html_ignore_folding overrides
html_dynamic_folds.
Using html_dynamic_folds will default to generating a foldcolumn in the html
similar to Vim's foldcolumn, that will use javascript to open and close the
folds in the HTML document. The width of this foldcolumn starts at the current
setting of |'foldcolumn'| but grows to fit the greatest foldlevel in your
document. If you do not want to show a foldcolumn at all, use: >
:let g:html_no_foldcolumn = 1
Using this option, there will be no foldcolumn available to open the folds in
the HTML. For this reason, another option is provided: html_hover_unfold.
Enabling this option will use CSS 2.0 to allow a user to open a fold by
hovering the mouse pointer over it. Note that old browsers (notably Internet
Explorer 6) will not support this feature. Browser-specific markup for IE6 is
included to fall back to the normal CSS1 code so that the folds show up
correctly for this browser, but they will not be openable without a
foldcolumn. Note that using html_hover_unfold will allow modern browsers with
disabled javascript to view closed folds. To use this option, use: >
:let g:html_hover_unfold = 1
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>" 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. Doing it this way is more compatible with old browsers, but modern
browsers support the "white-space" method.
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'}
<
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*
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 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|.
Many variables affect the output of 2html.vim; see below. Any of the on/off
options listed below 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:
- 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
- The latest TOhtml may actually 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.
@@ -575,6 +404,311 @@ Here is an example how to run the script over all .c and .h files from a
Unix shell: >
for f in *.[ch]; do gvim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" $f; done
<
*g:html_start_line* *g:html_end_line*
To restrict the conversion to a range of lines, use a range with the |:TOhtml|
command below, or set "g:html_start_line" and "g:html_end_line" to the first
and last line to be converted. Example, using the last set Visual area: >
:let g:html_start_line = line("'<")
:let g:html_end_line = line("'>")
:runtime! syntax/2html.vim
<
*:TOhtml*
:[range]TOhtml The ":TOhtml" command is defined in a standard plugin.
This command will source |2html.vim| for you. When a
range is given, set |g:html_start_line| and
|g:html_end_line| to the start and end of the range,
respectively. Default range is the entire buffer.
If the current window is part of a |diff|, unless
|g:html_diff_one_file| is set, :TOhtml will convert
all windows which are part of the diff in the current
tab and place them side-by-side in a <table> element
in the generated HTML.
Examples: >
:10,40TOhtml " convert lines 10-40 to html
:'<,'>TOhtml " convert current/last visual selection
:TOhtml " convert entire buffer
<
*g:html_diff_one_file*
Default: 0.
When 0, all windows involved in a |diff| in the current tab page are converted
to HTML and placed side-by-side in a <table> element.
When 1, only the current buffer is converted.
Example: >
let g:html_diff_one_file = 1
<
*g:html_whole_filler*
Default: 0.
When 0, if |g:html_diff_one_file| is 1, a sequence of more than 3 filler lines
is displayed as three lines with the middle line mentioning the total number
of inserted lines.
When 1, always display all inserted lines as if |g:html_diff_one_file| were
not set.
>
:let g:html_whole_filler = 1
<
*TOhtml-performance* *g:html_no_progress*
Default: 0.
When 0, display a progress bar in the statusline for each major step in the
2html.vim conversion process.
When 1, do not display the progress bar. This offers a minor speed improvement
but you won't have any idea how much longer the conversion might take; for big
files it can take a long time!
Example: >
let g:html_no_progress = 1
<
You can obtain better performance improvements by also instructing Vim to not
run interactively, so that too much time is not taken to redraw as the script
moves through the buffer, switches windows, and the like: >
vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c
<
Note that the -s flag prevents loading your .vimrc and any plugins, so you
need to explicitly source/enable anything that will affect the HTML
conversion. See |-E| and |-s-ex| for details. It is probably best to create a
script to replace all the -c commands and use it with the -u flag instead of
specifying each command separately.
*g:html_number_lines*
Default: current 'number' setting.
When 0, buffer text is displayed in the generated HTML without line numbering.
When 1, a column of line numbers is added to the generated HTML with the same
highlighting as the line number column in Vim (|hl-LineNr|).
Force line numbers even if 'number' is not set: >
:let g:html_number_lines = 1
Force to omit the line numbers: >
:let g:html_number_lines = 0
Go back to the default to use 'number' by deleting the variable: >
:unlet g:html_number_lines
<
*g:html_use_css*
Default: 1.
When 1, generate valid HTML 4.01 markup with CSS1 styling, supported in all
modern browsers and most old browsers.
When 0, generate <font> tags and similar outdated markup. This is not
recommended but it may work better in really old browsers, email clients,
forum posts, and similar situations where basic CSS support is unavailable.
Example: >
:let g:html_use_css = 0
<
*g:html_ignore_conceal*
Default: 0.
When 0, concealed text is removed from the HTML and replaced with a character
from |:syn-cchar| or 'listchars' as appropriate, depending on the current
value of 'conceallevel'.
When 1, include all text from the buffer in the generated HTML, even if it is
|conceal|ed.
Either of the following commands will ensure that all text in the buffer is
included in the generated HTML (unless it is folded): >
:let g:html_ignore_conceal = 1
:setl conceallevel=0
<
*g:html_ignore_folding*
Default: 0.
When 0, text in a closed fold is replaced by the text shown for the fold in
Vim (|fold-foldtext|). See |g:html_dynamic_folds| if you also want to allow
the user to expand the fold as in Vim to see the text inside.
When 1, include all text from the buffer in the generated HTML; whether the
text is in a fold has no impact at all. |g:html_dynamic_folds| has no effect.
Either of these commands will ensure that all text in the buffer is included
in the generated HTML (unless it is concealed): >
zR
:let g:html_ignore_folding = 1
<
*g:html_dynamic_folds*
Default: 0.
When 0, text in a closed fold is not included at all in the generated HTML.
When 1, generate javascript to open a fold and show the text within, just like
in Vim.
Setting this variable to 1 causes 2html.vim to always use CSS for styling,
regardless of what |g:html_use_css| is set to.
This variable is ignored when |g:html_ignore_folding| is set.
>
:let g:html_dynamic_folds = 1
<
*g:html_no_foldcolumn*
Default: 0.
When 0, if |g:html_dynamic_folds| is 1, generate a column of text similar to
Vim's foldcolumn (|fold-foldcolumn|) the user can click on to toggle folds
open or closed. The minimum width of the generated text column is the current
'foldcolumn' setting.
When 1, do not generate this column; instead, hovering the mouse cursor over
folded text will open the fold as if |g:html_hover_unfold| were set.
>
:let g:html_no_foldcolumn = 1
<
*TOhtml-uncopyable-text* *g:html_prevent_copy*
Default: empty string.
This option prevents certain regions of the generated HTML from being copied,
when you select all text in document rendered in a browser and copy it. Useful
for allowing users to copy-paste only the source text even if a fold column or
line numbers are shown in the generated content. Specify regions to be
affected in this way as follows:
f: fold column
n: line numbers (also within fold text)
t: fold text
d: diff filler
Example, to make the fold column and line numbers uncopyable: >
:let g:html_prevent_copy = "fn"
<
This feature is currently implemented by inserting read-only <input> elements
into the markup to contain the uncopyable areas. This does not work well in
all cases. When pasting to some applications which understand HTML, the
<input> elements also get pasted. But plain-text paste destinations should
always work.
*g:html_no_invalid*
Default: 0.
When 0, if |g:html_prevent_copy| is non-empty, an invalid attribute is
intentionally inserted into the <input> element for the uncopyable areas. This
increases the number of applications you can paste to without also pasting the
<input> elements. Specifically, Microsoft Word will not paste the <input>
elements if they contain this invalid attribute.
When 1, no invalid markup is ever intentionally inserted, and the generated
page should validate. However, be careful pasting into Microsoft Word when
|g:html_prevent_copy| is non-empty; it can be hard to get rid of the <input>
elements which get pasted.
*g:html_hover_unfold*
Default: 0.
When 0, the only way to open a fold generated by 2html.vim with
|g:html_dynamic_folds| set, is to click on the generated fold column.
When 1, use CSS 2.0 to allow the user to open a fold by moving the mouse
cursor over the displayed fold text. This is useful to allow users with
disabled javascript to view the folded text.
Note that old browsers (notably Internet Explorer 6) will not support this
feature. Browser-specific markup for IE6 is included to fall back to the
normal CSS1 styling so that the folds show up correctly for this browser, but
they will not be openable without a foldcolumn.
>
:let g:html_hover_unfold = 1
<
*TOhtml-wrap-text* *g:html_pre_wrap*
Default: current 'wrap' setting.
When 0, if |g:html_no_pre| is 0 or unset, the text in the generated HTML does
not wrap at the edge of the browser window.
When 1, if |g:html_use_css| is 1, the CSS 2.0 "white-space:pre-wrap" value is
used, causing the text to wrap at whitespace at the edge of the browser
window.
Explicitly enable text wrapping: >
:let g:html_pre_wrap = 1
Explicitly disable wrapping: >
:let g:html_pre_wrap = 0
Go back to default, determine wrapping from 'wrap' setting: >
:unlet g:html_pre_wrap
<
*g:html_no_pre*
Default: 0.
When 0, buffer text in the generated HTML is surrounded by <pre>...</pre>
tags. Series of whitespace is shown as in Vim without special markup, and tab
characters can be included literally (see |g:html_expand_tabs|).
When 1 (not recommended), the <pre> tags are omitted, and a plain <div> is
used instead. Whitespace is replaced by a series of &nbsp; character
references, and <br> is used to end each line. This is another way to allow
text in the generated HTML is wrap (see |g:html_pre_wrap|) which also works in
old browsers, but may cause noticeable differences between Vim's display and
the rendered page generated by 2html.vim.
>
:let g:html_no_pre = 1
<
*g:html_expand_tabs*
Default: 1 if 'tabstop' is 8, 'expandtab' is 0, and no fold column or line
numbers occur in the generated HTML;
0 otherwise.
When 0, <Tab> characters in the buffer text are replaced with an appropriate
number of space characters, or &nbsp; references if |g:html_no_pre| is 1.
When 1, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text
are included as-is in the generated HTML. This is useful for when you want to
allow copy and paste from a browser without losing the actual whitespace in
the source document. Note that this can easily break text alignment and
indentation in the HTML, unless set by default.
Force |2html.vim| to keep <Tab> characters: >
:let g:html_expand_tabs = 0
<
Force tabs to be expanded: >
:let g:html_expand_tabs = 1
<
*TOhtml-encoding-detect* *TOhtml-encoding*
It is highly recommended to set your desired encoding with
|g:html_use_encoding| for any content which will be placed on a web server.
If you do not specify an encoding, |2html.vim| uses the preferred IANA name
for the current value of 'fileencoding' if set, or 'encoding' if not.
'encoding' is always used for certain 'buftype' values. 'fileencoding' will be
set to match the chosen document encoding.
Automatic detection works for the encodings mentioned specifically by name in
|encoding-names|, but TOhtml will only automatically use those encodings with
wide browser support. However, you can override this to support specific
encodings that may not be automatically detected by default (see options
below). See http://www.iana.org/assignments/character-sets for the IANA names.
Note, by default all Unicode encodings are converted to UTF-8 with no BOM in
the generated HTML, as recommended by W3C:
http://www.w3.org/International/questions/qa-choosing-encodings
http://www.w3.org/International/questions/qa-byte-order-mark
*g:html_use_encoding*
Default: none, uses IANA name for current 'fileencoding' as above.
To overrule all automatic charset detection, set g:html_use_encoding to the
name of the charset to be used. 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 (NOT recommended): >
:let g:html_use_encoding = ""
To go back to the automatic mechanism, delete the |g:html_use_encoding|
variable: >
:unlet g:html_use_encoding
<
*g:html_encoding_override*
Default: none, autoload/tohtml.vim contains default conversions for encodings
mentioned by name at |encoding-names|.
This option allows |2html.vim| to detect the correct 'fileencoding' when you
specify an encoding with |g:html_use_encoding| which is not in the default
list of conversions.
This is a dictionary of charset-encoding pairs that will replace existing
pairs automatically detected by TOhtml, or supplement with new pairs.
Detect the HTML charset "windows-1252" as the encoding "8bit-cp1252": >
:let g:html_encoding_override = {'windows-1252': '8bit-cp1252'}
<
*g:html_charset_override*
Default: none, autoload/tohtml.vim contains default conversions for encodings
mentioned by name at |encoding-names| and which have wide
browser support.
This option allows |2html.vim| 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 some major browsers.
*convert-to-XML* *convert-to-XHTML* *g:html_use_xhtml*
Default: 0.
When 0, generate standard HTML 4.01 (strict when possible).
When 1, generate XHTML 1.0 instead (XML compliant HTML).
>
:let g:html_use_xhtml = 1
<
ABEL *abel.vim* *ft-abel-syntax*
@@ -650,7 +784,11 @@ The most flexible is to add a line in your assembly file containing: >
asmsyntax=nasm
Replace "nasm" with the name of the real assembly syntax. This line must be
one of the first five lines in the file. No non-white text must be
immediately before or after this text.
immediately before or after this text. Note that specifying asmsyntax=foo is
equivalent to setting ft=foo in a |modeline|, and that in case of a conflict
between the two settings the one from the modeline will take precedence (in
particular, if you have ft=asm in the modeline, you will get the GNU syntax
highlighting regardless of what is specified as asmsyntax).
The syntax type can always be overruled for a specific buffer by setting the
b:asmsyntax variable: >
@@ -2909,7 +3047,7 @@ Some folding is now supported with syntax/vim.vim: >
g:vimsyn_folding =~ 'P' : fold python script
g:vimsyn_folding =~ 'r' : fold ruby script
g:vimsyn_folding =~ 't' : fold tcl script
<
*g:vimsyn_noerror*
Not all error highlighting that syntax/vim.vim does may be correct; VimL is a
difficult language to highlight correctly. A way to suppress error

View File

@@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 7.3. Last change: 2010 Jul 31
*tabpage.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -113,7 +113,7 @@ something else.
this is a "safe" command.
:tabc[lose][!] {count}
Close tab page {count}. Fails in the same way as ':tabclose"
Close tab page {count}. Fails in the same way as `:tabclose`
above.
*:tabo* *:tabonly*
@@ -173,10 +173,20 @@ Other commands:
REORDERING TAB PAGES:
:tabm[ove] [N] *:tabm* *:tabmove*
:[N]tabm[ove]
Move the current tab page to after tab page N. Use zero to
make the current tab page the first one. Without N the tab
page is made the last one.
:tabm[ove] +[N]
:tabm[ove] -[N]
Move the current tab page N places to the right (with +) or to
the left (with -).
Note that although it is possible to move a tab behind the N-th one by using
:Ntabmove, it is impossible to move it by N places by using :+Ntabmove. For
clarification what +N means in this context see |[range]|.
LOOPING OVER TAB PAGES:

View File

@@ -281,6 +281,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'go-F' options.txt /*'go-F'*
'go-L' options.txt /*'go-L'*
'go-M' options.txt /*'go-M'*
'go-P' options.txt /*'go-P'*
'go-R' options.txt /*'go-R'*
'go-T' options.txt /*'go-T'*
'go-a' options.txt /*'go-a'*
@@ -1185,6 +1186,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
+mouse_gpm various.txt /*+mouse_gpm*
+mouse_netterm various.txt /*+mouse_netterm*
+mouse_pterm various.txt /*+mouse_pterm*
+mouse_sgr various.txt /*+mouse_sgr*
+mouse_sysmouse various.txt /*+mouse_sysmouse*
+mouse_urxvt various.txt /*+mouse_urxvt*
+mouse_xterm various.txt /*+mouse_xterm*
@@ -1835,6 +1837,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:X editing.txt /*:X*
:XMLent insert.txt /*:XMLent*
:XMLns insert.txt /*:XMLns*
:[range] motion.txt /*:[range]*
:\bar cmdline.txt /*:\\bar*
:_! cmdline.txt /*:_!*
:_# cmdline.txt /*:_#*
@@ -3408,6 +3411,7 @@ CmdwinLeave autocmd.txt /*CmdwinLeave*
ColorScheme autocmd.txt /*ColorScheme*
Command-line cmdline.txt /*Command-line*
Command-line-mode cmdline.txt /*Command-line-mode*
CompleteDone autocmd.txt /*CompleteDone*
Contents quickref.txt /*Contents*
Cscope if_cscop.txt /*Cscope*
CursorHold autocmd.txt /*CursorHold*
@@ -4242,7 +4246,11 @@ E852 gui_x11.txt /*E852*
E853 eval.txt /*E853*
E854 options.txt /*E854*
E855 autocmd.txt /*E855*
E858 eval.txt /*E858*
E859 eval.txt /*E859*
E86 windows.txt /*E86*
E860 eval.txt /*E860*
E861 eval.txt /*E861*
E87 windows.txt /*E87*
E88 windows.txt /*E88*
E89 message.txt /*E89*
@@ -4425,6 +4433,7 @@ QuickFixCmdPost autocmd.txt /*QuickFixCmdPost*
QuickFixCmdPost-example quickfix.txt /*QuickFixCmdPost-example*
QuickFixCmdPre autocmd.txt /*QuickFixCmdPre*
Quickfix quickfix.txt /*Quickfix*
QuitPre autocmd.txt /*QuitPre*
R change.txt /*R*
RISC-OS os_risc.txt /*RISC-OS*
RISCOS os_risc.txt /*RISCOS*
@@ -4456,6 +4465,11 @@ Syntax autocmd.txt /*Syntax*
T motion.txt /*T*
TCL if_tcl.txt /*TCL*
TERM starting.txt /*TERM*
TOhtml-encoding syntax.txt /*TOhtml-encoding*
TOhtml-encoding-detect syntax.txt /*TOhtml-encoding-detect*
TOhtml-performance syntax.txt /*TOhtml-performance*
TOhtml-uncopyable-text syntax.txt /*TOhtml-uncopyable-text*
TOhtml-wrap-text syntax.txt /*TOhtml-wrap-text*
TSQL ft_sql.txt /*TSQL*
TTpro-telnet syntax.txt /*TTpro-telnet*
Tab intro.txt /*Tab*
@@ -5011,6 +5025,13 @@ clearmatches() eval.txt /*clearmatches()*
client-server remote.txt /*client-server*
clientserver remote.txt /*clientserver*
clipboard gui.txt /*clipboard*
clipboard-autoselect options.txt /*clipboard-autoselect*
clipboard-autoselectml options.txt /*clipboard-autoselectml*
clipboard-autoselectplus options.txt /*clipboard-autoselectplus*
clipboard-exclude options.txt /*clipboard-exclude*
clipboard-html options.txt /*clipboard-html*
clipboard-unnamed options.txt /*clipboard-unnamed*
clipboard-unnamedplus options.txt /*clipboard-unnamedplus*
cmdarg-variable eval.txt /*cmdarg-variable*
cmdbang-variable eval.txt /*cmdbang-variable*
cmdline-arguments vi_diff.txt /*cmdline-arguments*
@@ -5271,6 +5292,7 @@ develop-spell develop.txt /*develop-spell*
develop-spell-suggestions develop.txt /*develop-spell-suggestions*
develop.txt develop.txt /*develop.txt*
development develop.txt /*development*
dgn motion.txt /*dgn*
dh change.txt /*dh*
diB motion.txt /*diB*
diW motion.txt /*diW*
@@ -5814,6 +5836,27 @@ g:gnat.Project_File ft_ada.txt /*g:gnat.Project_File*
g:gnat.Set_Project_File() ft_ada.txt /*g:gnat.Set_Project_File()*
g:gnat.Tags() ft_ada.txt /*g:gnat.Tags()*
g:gnat.Tags_Command ft_ada.txt /*g:gnat.Tags_Command*
g:html_charset_override syntax.txt /*g:html_charset_override*
g:html_diff_one_file syntax.txt /*g:html_diff_one_file*
g:html_dynamic_folds syntax.txt /*g:html_dynamic_folds*
g:html_encoding_override syntax.txt /*g:html_encoding_override*
g:html_end_line syntax.txt /*g:html_end_line*
g:html_expand_tabs syntax.txt /*g:html_expand_tabs*
g:html_hover_unfold syntax.txt /*g:html_hover_unfold*
g:html_ignore_conceal syntax.txt /*g:html_ignore_conceal*
g:html_ignore_folding syntax.txt /*g:html_ignore_folding*
g:html_no_foldcolumn syntax.txt /*g:html_no_foldcolumn*
g:html_no_invalid syntax.txt /*g:html_no_invalid*
g:html_no_pre syntax.txt /*g:html_no_pre*
g:html_no_progress syntax.txt /*g:html_no_progress*
g:html_number_lines syntax.txt /*g:html_number_lines*
g:html_pre_wrap syntax.txt /*g:html_pre_wrap*
g:html_prevent_copy syntax.txt /*g:html_prevent_copy*
g:html_start_line syntax.txt /*g:html_start_line*
g:html_use_css syntax.txt /*g:html_use_css*
g:html_use_encoding syntax.txt /*g:html_use_encoding*
g:html_use_xhtml syntax.txt /*g:html_use_xhtml*
g:html_whole_filler syntax.txt /*g:html_whole_filler*
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
@@ -5935,6 +5978,7 @@ gF editing.txt /*gF*
gH visual.txt /*gH*
gI insert.txt /*gI*
gJ change.txt /*gJ*
gN visual.txt /*gN*
gP change.txt /*gP*
gQ intro.txt /*gQ*
gR change.txt /*gR*
@@ -6019,6 +6063,7 @@ glvs-options pi_getscript.txt /*glvs-options*
glvs-plugins pi_getscript.txt /*glvs-plugins*
glvs-usage pi_getscript.txt /*glvs-usage*
gm motion.txt /*gm*
gn visual.txt /*gn*
gnat#Insert_Tags_Header() ft_ada.txt /*gnat#Insert_Tags_Header()*
gnat#New() ft_ada.txt /*gnat#New()*
gnat-xref ft_ada.txt /*gnat-xref*
@@ -6513,6 +6558,13 @@ last-pattern pattern.txt /*last-pattern*
last-position-jump eval.txt /*last-position-jump*
last_buffer_nr() eval.txt /*last_buffer_nr()*
lc_time-variable eval.txt /*lc_time-variable*
lcs-conceal options.txt /*lcs-conceal*
lcs-eol options.txt /*lcs-eol*
lcs-extends options.txt /*lcs-extends*
lcs-nbsp options.txt /*lcs-nbsp*
lcs-precedes options.txt /*lcs-precedes*
lcs-tab options.txt /*lcs-tab*
lcs-trail options.txt /*lcs-trail*
left-right-motions motion.txt /*left-right-motions*
len() eval.txt /*len()*
less various.txt /*less*
@@ -6564,6 +6616,7 @@ lua if_lua.txt /*lua*
lua-buffer if_lua.txt /*lua-buffer*
lua-commands if_lua.txt /*lua-commands*
lua-dict if_lua.txt /*lua-dict*
lua-eval if_lua.txt /*lua-eval*
lua-list if_lua.txt /*lua-list*
lua-luaeval if_lua.txt /*lua-luaeval*
lua-vim if_lua.txt /*lua-vim*
@@ -6572,6 +6625,8 @@ lua.vim syntax.txt /*lua.vim*
luaeval() eval.txt /*luaeval()*
m motion.txt /*m*
m' motion.txt /*m'*
m< motion.txt /*m<*
m> motion.txt /*m>*
m[ motion.txt /*m[*
m] motion.txt /*m]*
m` motion.txt /*m`*
@@ -7231,7 +7286,10 @@ pterm-mouse options.txt /*pterm-mouse*
pumvisible() eval.txt /*pumvisible()*
put change.txt /*put*
put-Visual-mode change.txt /*put-Visual-mode*
py3eval() eval.txt /*py3eval()*
pyeval() eval.txt /*pyeval()*
python if_pyth.txt /*python*
python-bindeval if_pyth.txt /*python-bindeval*
python-buffer if_pyth.txt /*python-buffer*
python-buffers if_pyth.txt /*python-buffers*
python-command if_pyth.txt /*python-command*
@@ -7243,6 +7301,7 @@ python-eval if_pyth.txt /*python-eval*
python-examples if_pyth.txt /*python-examples*
python-input if_pyth.txt /*python-input*
python-output if_pyth.txt /*python-output*
python-pyeval if_pyth.txt /*python-pyeval*
python-range if_pyth.txt /*python-range*
python-vim if_pyth.txt /*python-vim*
python-window if_pyth.txt /*python-window*
@@ -7482,6 +7541,7 @@ setuid change.txt /*setuid*
setwinvar() eval.txt /*setwinvar()*
sftp pi_netrw.txt /*sftp*
sgml.vim syntax.txt /*sgml.vim*
sgr-mouse options.txt /*sgr-mouse*
sh-awk syntax.txt /*sh-awk*
sh-embed syntax.txt /*sh-embed*
sh.vim syntax.txt /*sh.vim*
@@ -8268,11 +8328,13 @@ v_d change.txt /*v_d*
v_g? change.txt /*v_g?*
v_gF editing.txt /*v_gF*
v_gJ change.txt /*v_gJ*
v_gN visual.txt /*v_gN*
v_gV visual.txt /*v_gV*
v_g] tagsrch.txt /*v_g]*
v_g_CTRL-G editing.txt /*v_g_CTRL-G*
v_g_CTRL-] tagsrch.txt /*v_g_CTRL-]*
v_gf editing.txt /*v_gf*
v_gn visual.txt /*v_gn*
v_gq change.txt /*v_gq*
v_gv visual.txt /*v_gv*
v_gw change.txt /*v_gw*
@@ -8435,6 +8497,7 @@ vt100-cursor-keys term.txt /*vt100-cursor-keys*
vt100-function-keys term.txt /*vt100-function-keys*
w motion.txt /*w*
w32-clientserver remote.txt /*w32-clientserver*
w32-xpm-support gui_w32.txt /*w32-xpm-support*
w:current_syntax syntax.txt /*w:current_syntax*
w:quickfix_title quickfix.txt /*w:quickfix_title*
w:var eval.txt /*w:var*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2012 Jun 01
*todo.txt* For Vim version 7.3. Last change: 2012 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41,24 +41,28 @@ Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro
Matsumoto, 2012 Apr 18) Asked for another version of the patch.
Again May 18. Update May 29 on github. Does not handle multi-byte chars.
Checking runtime scripts: Thilo Six, 2012 Jun 6.
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
The CompleteDone autocommand needs some info passed to it:
- The word that was selected (empty if abandoned complete)
- Type of completion: tag, omnifunc, user func.
":gundo" command: global undo. Undoes changes spread over multiple files in
the order they were made. Also ":gredo". Both with a count. Useful when
tests fail after making changes and you forgot in which files.
Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5)
Patch for this request: (Lech Lorens, 2012 May 26)
7 Add 'j' flag to 'formatoptions': Remove comment leader when joining lines.
Issue 54: document behavior of -complete, also expands arg.
Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30)
Fix by Christian Brabandt, 2012 May 2. But calling changed_window_setting()
would be a simpler solution.
Issue 72: 'autochdir' causes problems for :vimgrep.
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Syntax update problem in one buffer opened in two windows, bottom window is
not correctly updated. (Paul Harris, 2012 Feb 27)
@@ -66,49 +70,42 @@ not correctly updated. (Paul Harris, 2012 Feb 27)
Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
Or use expand('<sid>')?
Win32: When the taskbar is at the top of the screen creating the tabbar causes
the window to move unnecessarily. (William E. Skeith III, 2012 Jan 12)
Patch: 2012 Jan 13 Needs more work (2012 Feb 2)
Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
ml_get error when using syntastic plugin. (Alex Efros, 2012 May 24)
Probably caused by recursive use of :lclose.
May also crash Vim (May 25)
Patch by Christian Brabandt, May 26. Is this right?
Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
2012 Aug 4)
Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
2012 Aug 11) Disallow :new when BufUnload is being handled?
MS-Windows resizing problems:
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
20. Uses getWindowRect() instead of GetWindowPlacement()
- Win32: When the taskbar is at the top of the screen creating the tabbar
causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan
12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2)
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
Help for b:undo_indent'. (Thilo Six, 2012 May 28)
Also question if examples are correct.
Docs patch for BufRead/BufReadPost. (Gary Johnson, 2012 May 28)
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
Suggestion for another map. (Philip Mat, 2012 Jun 18)
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
URXVT:
- will get stuck if byte sequence does not containe expected semicolon.
- Use urxvt mouse support also in xterm. Explanations:
http://www.midnight-commander.org/ticket/2662
Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26)
Patch for configure (Stephen Bovy, 2012 Apr 28)
Updates later. Context diff May 7.
Patch to support browserfilter for GTK. (Christian Brabandt, 2012 May 22)
Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)
New tests Jul 13. Update Jul 17. Discussion Jul 18.
When running Vim in silent ex mode, an existing swapfile causes Vim to wait
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
Patch for auto copy selecting to + register. (by Christian Brabant, in email
from Sergey Vakulenko, 2012 Apr 27)
Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
Another for CompleteFuncOk. (Florian Klein, 2012 Jan 31)
Name it "CompleteFuncDone".
Patch for Make_mvc.mak and Make_ming.mak for Ruby support. (Yasuhiro
Matsumoto, 2012 Jan 30)
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
2012 Mar 21, update Mar 31)
@@ -119,11 +116,20 @@ Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
Patch Sep 18.
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
2012 Jul 20)
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
And one for gui_x11.txt.
Patch for Python: add pyeval() and vim.bindeval() (zyx, 2012 Apr 15, update
Apr 16) Also changes for Lua. Update Apr 19. Update Apr 22.
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
More recent version: https://retracile.net/wiki/VimBreakIndent
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
Problem with starting Visual block mode with :norm when 'virtualedit' is set.
(David glts, 2012 Jun 5)
":cd" doesn't work when current directory path contains "**".
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
@@ -131,8 +137,13 @@ Requires a rewrite of the file_file_in_path code.
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
Should use has("browsefilter") in ftplugins. Requires patch 7.3.593.
Issue 48: foldopen error can't be caught by try/catch
"dg_" deletes including the last character, "d:normal! g_" doesn't.
(Nomen Nescio, 2012 Jun 27)
Patch to sort functions starting with '<' after others. Omit dict functions,
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
@@ -142,6 +153,7 @@ Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011
Nov 20)
Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
Update Jun 2.
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
@@ -169,6 +181,9 @@ Needs more work. Pinged 2012 Jan 4.
Issue 64: when 'incsearch' is on can't paste LF on command line.
On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz,
2012 Jun 19)
'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
@@ -266,6 +281,10 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
Patch to make "z=" work when 'spell' is off. Does this have nasty side
effects? (Christian Brabandt, 2012 Aug 5)
Would also need to do this for spellbadword() and spellsuggest().
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.
@@ -371,7 +390,7 @@ Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov
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
- 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,
@@ -524,7 +543,7 @@ Find tail? Might have a / in argument. Find space? Might have space in
path.
Test 51 fails when language set to German. (Marco, 2011 Jan 9)
Dominique can't reproduc it.
Dominique can't reproduce it.
'ambiwidth' should be global-local.
@@ -579,9 +598,6 @@ 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.
":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
@@ -1625,11 +1641,6 @@ Awaiting updated patches:
7 Completion of network shares, patch by Yasuhiro Matsumoto.
Update 2004 Sep 6.
How does this work? Missing comments.
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
More recent version: https://retracile.net/wiki/VimBreakIndent
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
8 Add a few more command names to the menus. Patch from Jiri Brezina
(28 feb 2002). Will mess the translations...
7 ATTENTION dialog choices are more logical when "Delete it' appears
@@ -2647,8 +2658,6 @@ Tab pages:
font, etc.)
8 Make GUI menu in tab pages line configurable. Like the popup menu.
8 balloons for the tab page labels that are shortened to show the full path.
8 :tabmove +N move tab page N pages forward
8 :tabmove -N move tab page N pages backward
7 :tabdup duplicate the tab with all its windows.
7 Option to put tab line at the left or right? Need an option to specify
its width. It's like a separate window with ":tabs" output.
@@ -2950,6 +2959,8 @@ Syntax highlighting:
this isn't reset. Add a special keyword definition for the syntax rules?
When this is done, use vim.vim syntax highlighting for help file examples,
but without ":" in 'iskeyword' for syntax.
Also need a separate 'iskeyword' for the command line, e.g., in a help
window ":e /asdf/asdf/" CTRL-W works different.
8 Add specific syntax item to match with parens/braces that don't have a
"%" match. :syntax nomatch cMatchError (,{,[,),},] [contained]
8 Highlight the text between two matching parens (e.g., with a grey
@@ -4906,6 +4917,7 @@ Various improvements:
- Make it possible for the 'showbreak' to be displayed at the end of the
line. Use a comma to separate the part at the end and the start of the
line? Highlight the linebreak characters, add flag in 'highlight'.
Make 'showbreak' local to a window.
- Some string options should be expanded if they have wildcards, e.g.
'dictionary' when it is "*.h".
- Use a specific type for number and boolean options, making it possible to

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2012 Jan 15
*various.txt* For Vim version 7.3. Last change: 2012 Aug 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -355,6 +355,7 @@ N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
N *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
B *+multi_byte* 16 and 32 bit characters |multibyte|
@@ -415,7 +416,7 @@ S *+windows* more than one window
m *+writebackup* |'writebackup'| is default on
m *+xim* X input method |xim|
*+xfontset* X fontset support |xfontset|
m *+xpm_w32* Win32 GUI only: pixmap support |:sign-define|
m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support|
*+xsmp* XSMP (X session management) support
*+xsmp_interact* interactive XSMP (X session management) support
N *+xterm_clipboard* Unix only: xterm clipboard handling

View File

@@ -1,4 +1,4 @@
*version5.txt* For Vim version 7.3. Last change: 2008 Dec 17
*version5.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,7 +6,7 @@
Welcome to Vim Version 5.0!
This document lists the differences between Vim 4.x and Vim 5.0.
Although 5.0 is mentioned here, this is also for version 5.1, 5.2, etc..
Although 5.0 is mentioned here, this is also for version 5.1, 5.2, etc.
See |vi_diff.txt| for an overview of differences between Vi and Vim 5.0.
See |version4.txt| for differences between Vim 3.0 and Vim 4.0.
@@ -3888,7 +3888,7 @@ character is typed. Helps to close a /* */ comment in C. (Webb)
When expand() has a second argument which is non-zero, don't use 'suffixes'
and 'wildignore', return all matches.
'O' flag in 'cpoptions: When not included, Vim will not overwrite a file, if
'O' flag in 'cpoptions' When not included, Vim will not overwrite a file, if
it didn't exist when editing started but it does exist when the buffer is
written to the file. The file must have been created outside of Vim, possibly
without the user knowing it. When this is detected after a shell command,
@@ -4499,7 +4499,7 @@ Could not get all windows back when using a smaller terminal screen. Didn't
restore all windows when "winsize" was not in 'sessionoptions'. (Webb)
Command line completion for ":buffer" depended on 'ignorecase' for Unix, but
not for DOS et al.. Now don't use 'ignorecase', but let it depend on whether
not for DOS et al. Now don't use 'ignorecase', but let it depend on whether
file names are case sensitive or not (like when expanding file names).
Win32 GUI: (Negri)

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.3. Last change: 2010 Nov 03
*version7.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3587,7 +3587,7 @@ Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c
Patch 7.0.085
Problem: When doing "make test" the viminfo file is modified.
Solution: Use another viminfo file after setting 'compatible.
Solution: Use another viminfo file after setting 'compatible'.
Files: src/testdir/test56.in
Patch 7.0.086
@@ -7314,8 +7314,6 @@ Command line completion for :lmap and :lunmap.
Support syntax and filetype completion for user commands. (Christian Brabandt)
Add completion for ":ownsyntax" and improve completion for ":filetype".
Avoid use of the GTK main_loop() so that the GtkFileChooser can be used.
(James Vega)

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2011 Aug 29
*vi_diff.txt* For Vim version 7.3. Last change: 2012 Aug 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -192,7 +192,7 @@ Syntax highlighting. |:syntax|
Spell checking. |spell|
When the 'spell' option is set Vim will highlight spelling mistakes.
About 40 languages are currently supported, selected with the
About 50 languages are currently supported, selected with the
'spelllang' option. In source code only comments and strings are
checked for spelling.
@@ -653,7 +653,7 @@ You can backspace, CTRL-U and CTRL-W over line breaks if the 'backspace' (bs)
option includes "eol". You can backspace over the start of insert if the
'backspace' option includes "start".
When the 'paste' option is set, a few option are reset and mapping in insert
When the 'paste' option is set, a few options are reset and mapping in insert
mode and abbreviation are disabled. This allows for pasting text in windowing
systems without unexpected results. When the 'paste' option is reset, the old
option values are restored.

478
runtime/doc/vim-de.1 Normal file
View File

@@ -0,0 +1,478 @@
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" Translated by bw1 (2008) and Florian Rehnisch <fm-r@gmx.de> (2012)
.\" Kudos to the folks on vim-dev and debian-l10n-german
.TH VIM 1 "2006 Apr 11"
.SH BEZEICHNUNG
vim \- Vi IMproved, ein Text\-Editor f<>r Programmierer
.SH <EFBFBD>BERSICHT
.br
\fBvim\fP [Optionen] [Datei ...]
.br
\fBvim\fP [Optionen] \-
.br
\fBvim\fP [Optionen] \-t Tag
.br
\fBvim\fP [Optionen] \-q [Fehlerdatei]
.PP
.br
\fBex\fP
.br
\fBview\fP
.br
\fBgvim\fP \fBgview\fP \fBevim\fP \fBeview\fP
.br
\fBrvim\fP \fBrview\fP \fBrgvim\fP \fBrgview\fP
.SH BESCHREIBUNG
\fBVim\fP ist ein Text\-Editor, der aufw<66>rtskompatibel zu Vi ist. Er kann
verwendet werden, um alle Arten von Klartext zu bearbeiten. Er ist besonders
n<EFBFBD>tzlich, um Programme zu bearbeiten.
.PP
Vim hat einige Erweiterungen gegen<65>ber Vi, z.B.: R<>ckg<6B>ngigmachen in
mehreren Schritten, mehrere Fenster und Puffer, Syntax\-Hervorhebung,
Bearbeiten der Befehlszeile, Dateinamenerg<72>nzung, eingebaute Hilfe, visuelle
Auswahl, usw. ... Siehe <20>:help vi_diff.txt<78> f<>r eine <20>bersicht der
Unterschiede zwischen \fBVim\fP und Vi.
.PP
Im laufenden \fBVim\fP kann mit dem Befehl <20>:help<6C> viel Hilfe durch das
eingebaute Hilfesystem erlangt werden. Siehe den Abschnitt EINGEBAUTE HILFE
weiter unten.
.PP
Meistens wird \fBVim\fP zum Editieren einer einzigen Datei mit dem folgende
Befehl gestartet:
.PP
vim Datei
.PP
Allgemeiner betrachtet, wird \fBVim\fP folgenderma<6D>en gestartet:
.PP
vim [Optionen] [Dateiliste]
.PP
Bei einer fehlenden Dateiliste startet der Editor mit einem leeren
Puffer. Andernfalls werden nach den folgenden vier M<>glichkeiten eine oder
mehrere Dateien bearbeitet:
.TP 12
Datei ...
Eine Liste von Dateinamen. Die erste Datei wird in den Puffer geladen und
zur aktuellen. Der Cursor wird auf der ersten Zeile des Puffers
platziert. Zu den anderen Dateien kann mit dem Befehl <20>:next<78> gelangt
werden. Falls einer der Dateinamen mit einem Bindestrich beginnt, stellen
Sie der Dateiliste <20>\-\-<EFBFBD> voran.
.TP
\-
Die zu bearbeitende Datei wird von der Standardeingabe gelesen. Befehle
werden von der Standardfehlerausgabe gelesen, die ein Text\-Terminal sein
sollte.
.TP
\-t {Tag}
Die zu editierende Datei und die anf<6E>ngliche Cursor\-Position h<>ngen von
einem <20>Tag<61> ab, einer Art Sprungmarke. {Tag} wird in der Tag\-Datei
nachgeschlagen, die zugeh<65>rige Datei wird zur aktuellen und der zugeh<65>rige
Befehl wird ausgef<65>hrt. Dies wird meistens f<>r Programme in der Sprache <20>C<EFBFBD>
benutzt, wobei {Tag} ein Funktionsname sein k<>nnte. Die Wirkung dieses
Befehls ist, dass die Datei, die die Funktion enth<74>lt, als aktuelle im
Editor ge<67>ffnet und angezeigt wird und der Cursor auf dem Beginn der
Funktion positioniert wird. Siehe <20>:help tag\-commands<EFBFBD>.
.TP
\-q [Fehlerdatei]
Startet im QuickFix\-Modus. Die Datei [Fehlerdatei] wird gelesen und der
erste Fehler wird angezeigt. Falls [Fehlerdatei] ausgelassen wird, wird der
Dateiname aus der Option 'errorfile' verwendet (bei AmigaOS ist dies
vorgabem<EFBFBD><EFBFBD>ig <20>AztecC.Err<72>, sowie "errors.err<72> bei anderen). Weitere Fehler
k<EFBFBD>nnen mit dem <20>:cn<63>\-Befehl angesprungen werden. Siehe ":help quickfix<69>.
.PP
\fBVim\fP reagiert unterschiedlich auf den Namen, der verwendet wird, um Vim zu
starten (die ausf<73>hrbare Datei kann dieselbe sein).
.TP 10
vim
der <20>normale<6C> Weg, alles ist standardm<64><6D>ig
.TP
ex
Startet im Ex\-Modus. Mit dem Befehl <20>:vi<76> gelangt man in den normalen
Modus. Funktioniert auch mit dem Argument <20>\-e<EFBFBD>.
.TP
view
Startet im Nur\-Lesen\-Modus. Die Datei wird vor dem <20>berschreiben
gesch<EFBFBD>tzt. Dasselbe wird mit dem Parameter <20>\-R<EFBFBD> erreicht.
.TP
gvim gview
Die grafische Version: <20>ffnet ein neues Fenster. Dasselbe wird mit dem
Parameter <20>\-g<EFBFBD> erreicht.
.TP
evim eview
Die grafische Version im einfachen Modus: <20>ffnet ein neues Fenster. Dasselbe
wird mit dem Parameter <20>\-y<EFBFBD> erreicht.
.TP
rvim rview rgvim rgview
Wie die obigen, aber mit Beschr<68>nkungen: Es ist nicht m<>glich, Shell\-Befehle
aufzurufen oder mit Unterbrechung in eine Shell zur<75>ckzuspringen. Dasselbe
wird mit dem Parameter <20>\-Z<EFBFBD> erreicht.
.SH OPTIONEN
Die Optionen k<>nnen in beliebiger Reihenfolge vor oder nach den Dateinamen
angegeben werden. Optionen ohne Parameter k<>nnen hinter einem einzigen
Bindestrich gruppiert werden.
.TP 12
+[Nummer]
In der ersten Datei wird der Cursor auf die Zeile [Nummer] gesetzt. Falls
[Nummer] nicht angegeben wird, wird der Cursor in die letzte Zeile der Datei
gesetzt.
.TP
+/{Suchmuster}
In der ersten Datei wird der Cursor auf das erste Auftreten von {Suchmuster}
gesetzt. Siehe <20>:help search\-pattern<EFBFBD>.
.TP
+{Befehl}
.TP
\-c {Befehl}
{Befehl} wird nach dem Lesen der ersten Datei ausgef<65>hrt. Als {Befehl} wird
ein Ex\-Befehl erwartet. Sind in {Befehl} Leerzeichen vorhanden, muss alles
in Anf<6E>hrungszeichen gesetzt werden (h<>ngt von der verwendeten Shell
ab). Beispiel: vim "+set si" main.c
.br
Anmerkung: Sie k<>nnen bis zu 10 <20>+<2B>\- oder "\-c<EFBFBD>\-Befehle verwenden.
.TP
\-S {Datei}
{Datei} wird nach dem Lesen der ersten Datei ausgef<65>hrt. Dies entspricht <20>\-c
"source {Datei}"<22>. {Datei} darf nicht mit einem Bindestrich (\-)
anfangen. Wenn kein Dateiname angegeben wird, wird <20>Session.vim<69> verwendet
(Funktioniert nur, wenn <20>\-S<EFBFBD> als letzter Parameter steht).
.TP
\-\-cmd {Befehl}
Wie <20>\-c<EFBFBD>, aber dieser Befehl wird vor allen VimRC\-Dateien ausgef<65>hrt. Sie
k<EFBFBD>nnen unabh<62>ngig von den <20>\-c<EFBFBD>\-Befehlen bis zu 10 dieser Befehle verwenden.
.TP
\-A
Falls \fBVim\fP mit Unterst<73>tzung f<>r das Schreiben von rechts nach links und
arabischer Tastaturbelegung compiliert wurde (ARABIC), startet dieser
Parameter den Modus f<>rs Arabische (:set arabic). Anderenfalls beendet sich
\fBVim\fP mit einer Fehlermeldung.
.TP
b
Bin<EFBFBD>rer Modus: Es werden einige Variablen gesetzt, sodass es m<>glich ist,
eine bin<69>re oder ausf<73>hrbare Datei zu bearbeiten.
.TP
\-C
Kompatibel: Setzt die Option 'compatible'. Das macht \fBVim\fP im Verhalten
sehr <20>hnlich zu Vi, selbst wenn eine VimRC\-Datei existiert.
.TP
\-d
Startet im diff\-Modus. Es sollten zwei, drei oder vier Dateinamen als
Parameter <20>bergeben werden. \fBVim\fP <20>ffnet sie alle und zeigt die
Unterschiede an. Arbeitet wie vimdiff(1).
.TP
\-d {Ger<65>t}
<EFBFBD>ffnet das {Ger<65>t}, um es als Terminal zu nutzen. Nur f<>r AmigaOS. Beispiel:
"\-d con:20/30/600/150".
.TP
D
Debug\-Modus: \fBVim\fP geht in den Debug\-Modus, wenn der erste Befehl in einem
Skript ausgef<65>hrt wird.
.TP
\-e
Startet \fBVim\fP im Ex\-Modus, als w<>rde als ausf<73>hrbare Datei <20>ex<65> aufgerufen.
.TP
\-E
Startet \fBVim\fP im erweiterten Ex\-Modus, als w<>rde die ausf<73>hrbare Datei als
<EFBFBD>exim<EFBFBD> aufgerufen.
.TP
\-f
Vordergrund: Bei der GUI\-Version erzeugt \fBVim\fP keinen neuen Prozess und
l<EFBFBD>st sich nicht von der Shell, in der er aufgerufen wurde. Bei AmigaOS wird
kein neues Fenster ge<67>ffnet. Dieser Parameter wird benutzt, damit das
aufrufende Programm auf das Beenden des Bearbeitungssitzung wartet (z.B.:
mail). Bei AmigaOS funktionieren die Befehle <20>:sh<73> und ":!<21> nicht.
.TP
\-\-nofork
Vordergrund: Bei der GUI\-Version erzeugt \fBVim\fP keinen neuen Prozess und
l<EFBFBD>st sich nicht von der Shell, in der er aufgerufen wurde.
.TP
\-F
Wenn \fBVim\fP mit FKMAP\-Unterst<EFBFBD>tzung f<>r das Schreiben von rechts nach links
und Farsi\-Tastatur\-Belegung kompiliert wurde, startet Vim im Farsi\-Modus,
d.h. die Optionen 'fkmap' und 'rightleft' werden gesetzt. Andernfalls bricht
\fBVim\fP mit einer Fehlermeldung ab.
.TP
\-g
Falls \fBVim\fP mit GUI\-Unterst<EFBFBD>tzung kompiliert wurde, wird die GUI
aktiviert. Falls keine GUI\-Unterst<EFBFBD>tzung einkompiliert wurde, wird mit einer
Fehlermeldung abgebrochen.
.TP
\-h
Gibt eine kleine Hilfe f<>r die Befehlszeilenparameter aus. Danach beendet
sich \fBVim.\fP
.TP
\-H
Hebr<EFBFBD>isch\-Modus, falls \fBVim\fP mit RIGHTLEFT\-Unterst<EFBFBD>tzung f<>r das Schreiben
von rechts nach links und hebr<62>ischer Tastaturbelegung kompiliert wurde,
werden die Optionen 'hkmap' und 'rightleft' gesetzt. Andernfalls beendet
sich \fBVim\fP mit einer Fehlermeldung.
.TP
\-i {VimInfo}
Wenn eine VimInfo\-Datei verwendet wird: Verwendet statt <20>~/.viminfo<66> die
angegebene Datei. Es ist auch m<>glich die Verwendung einer VimInfo\-Datei
durch Angabe des Dateinamen <20>NONE<4E> zu verhindern,
.TP
\-L
dasselbe wie <20>\-r<EFBFBD>
.TP
\-l
Lisp\-Modus. Aktiviert die Optionen 'lisp' und 'showmatch'.
.TP
\-m
Deaktiviert das Ver<65>ndern von Dateien, indem die Option 'write' gel<65>scht
wird. Der Puffer kann ver<65>ndert werden, nur das Schreiben einer Datei ist
nicht m<>glich.
.TP
\-M
Keine Ver<65>nderungen erlaubt: Die Optionen 'modifiable' und 'write' werden
gel<EFBFBD>scht, so dass <20>nderungen nicht erlaubt sind und Dateien nicht
geschrieben werden k<>nnen. Man beachte, dass diese Optionen ('modifiable',
\&'write') dennnoch nachtr<74>glich zum Erlauben von <20>nderungen gesetzt werden
k<EFBFBD>nnen.
.TP
\-N
Nicht\-kompatibler Modus: L<>scht die Option 'compatible'. Dies veranlasst
\fBVim\fP, sich ein wenig besser, aber weniger Vi\-kompatibel zu verhalten,
selbst wenn es keine VimRC\-Datei gibt.
.TP
\-n
Verwendet keine Auslagerungsdatei: Eine Wiederherstellung nach einem Absturz
ist nicht m<>glich. Auf einem langsamen Medium (Diskette) kann diese
Einstellung n<>tzlich sein. Kann auch mit <20>set uc=0<> erreicht werden; kann
mit <20>set uc=200<30> aufgehoben werden.
.TP
\-nb
\fBVim\fP fungiert als Server f<>r NetBeans. Details siehe Dokumentation.
.TP
\-o[N]
<EFBFBD>ffnet [N] Fenster <20>bereinander. Wenn keine Zahl angegeben wird, <20>ffne ein
Fenster pro Datei.
.TP
\-O[N]
<EFBFBD>ffnet [N] Fenster nebeneinander. Wenn keine Zahl angegeben wird, <20>ffne ein
Fenster pro Datei.
.TP
\-p[N]
<EFBFBD>ffnet [N] Reiterseiten. Wenn keine Zahl angegeben wird, <20>ffne eine
Reiterseite pro Datei.
.TP
\-R
Nur\-Lesen\-Modus: Die Option 'readonly' wird gesetzt. Der Puffer kann noch
bearbeitet werden, aber es wird verhindert, eine Datei aus Versehen zu
<EFBFBD>berschreiben. Wenn Sie wirklich eine Datei <20>berschreiben wollen, f<>gen Sie
dem Ex\-Befehl ein Ausrufezeichen hinzu (wie in <20>:w!<21>). Die Option "\-R<EFBFBD>
bedingt die Option <20>\-n<EFBFBD> (siehe oben). Die Option 'readonly' kann durch ":set
noro<EFBFBD> gel<65>scht werden. Siehe <20>:help 'readonly'<27>.
.TP
\-r
Listet die Auslagerungsdateien und gibt Informationen zu ihrer
Verwendbarkeit zur Wiederherstellung.
.TP
\-r {Datei}
Wiederherstellungsmodus: Die Auslagerungsdatei wird zur Wiederherstellung
verwendet und hat denselben Dateinamen wie die Text\-Datei + <20>.swp<77>. Siehe
":help recovery<72>.
.TP
\-s
Der stille Modus: Nur wenn die ausf<73>hrbare Datei als <20>ex<65> aufgerufen wird
oder vor <20>\-s<EFBFBD> die Option "\-e<EFBFBD> gegeben wird.
.TP
\-s {Eingabeskript}
Die Datei {Eingabeskript} wird gelesen und ausgef<65>hrt, als w<>rden Sie die
Zeichen in ihr tippen. Dasselbe kann mit dem Befehl <20>:source!
{Eingabeskript}<7D> erreicht werden. Wird das Ende der Datei vor dem Beenden
des Editors erreicht, werden weitere Zeichen von der Tastatur gelesen.
.TP
\-T {Terminal}
Setzt den Namen des benutzten Terminals. Nur erforderlich, wenn die
Automatik nicht funktioniert. Sollte ein \fBVim\fP bekanntes Terminal sein:
(builtin) oder in einer termcap\- oder terminfo\-Datei definiert.
.TP
\-u {VimRC}
Verwendet zur Initialisierung die Befehle in der Datei {VimRC}. Alle anderen
Initialisierungen werden <20>bersprungen. Benutzen Sie dies, um eine besondere
Art von Dateien zu bearbeiten. Dies kann auch benutzt werden, um alle
Initialisierungen zu <20>berspringen, indem der Name <20>NONE<4E> angegeben wird. F<>r
weitere Einzelheiten siehe <20>:help initialisation<6F> innerhalb von Vim.
.TP
\-U {GvimRC}
Benutzt die Befehle in der Datei {GvimRC} f<>r die Initialisierung der
grafischen Oberfl<66>che. Alle anderen Initialisierungen werden
<EFBFBD>bersprungen. Dies kann ebenfalls benutzt werden, um alle
GUI\-Initialisierungen zu <20>berspringen, indem der Name <20>NONE<4E> angegeben
wird. Siehe <20>:help gui\-init<EFBFBD> innerhalb von Vim f<>r weitere Einzelheiten.
.TP
\-V[N]
Ausf<EFBFBD>hrlich (verbose): Gibt Meldungen dar<61>ber, welche Befehlsdateien
eingelesen werden, und <20>ber das Lesen und Schreiben einer VimInfo\-Datei. Die
optionale Zahl N ist der Wert f<>r 'verbose'. Vorgabe ist 10.
.TP
\-v
Startet \fBVim\fP im Vi\-Modus, so als w<>rde die ausf<73>hrbare Datei mit <20>vi<76>
aufgerufen. Dies wirkt sich nur aus, wenn die ausf<73>hrbare Datei als <20>ex<65>
aufgerufen wird.
.TP
\-w {Ausgabeskript}
Alle Zeichen, die eingetippt werden, werden in der Datei {Ausgabeskript}
aufgezeichnet, solange bis Sie \fBVim\fP beenden. Dies ist n<>tzlich, falls Sie
eine Skript\-Datei zum Benutzen mit <20>vim \-s<EFBFBD> oder ":source!<21> erzeugen
wollen. Falls die Datei {Ausgabeskript} vorhanden ist, werden die Zeichen
angeh<EFBFBD>ngt.
.TP
\-W {Ausgabeskript}
Wie \-w, aber eine bereits vorhandene Datei wird <20>berschrieben.
.TP
\-x
Benutzt beim Schreiben von Dateien eine Verschl<68>sselung. Fragt nach dem
Schl<EFBFBD>ssel.
.TP
\-X
F<EFBFBD>hrt keine Verbindung zum X\-Server durch. Dadurch verk<72>rzt sich die
Startzeit, aber der Fenstertitel und die Zwischenablage werden nicht
verwendet.
.TP
\-y
Startet \fBVim\fP im einfachen Modus, als w<>rde die ausf<73>hrbare Datei mit
<EFBFBD>evim<EFBFBD> oder <20>eview<65> aufgerufen. \fBVim\fP verh<72>lt sich dann wie ein Editor zum
Klicken und Tippen.
.TP
\-Z
Eingeschr<EFBFBD>nkter Modus: Funktioniert, als w<>rde der Name der ausf<73>hrbaren
Datei mit <20>r<EFBFBD> beginnen.
.TP
\-\-
Markiert das Ende der Optionen. Argumente, die folgen, werden als Dateinamen
behandelt. Dies kann benutzt werden, um einen Dateinamen mit <20>\-<EFBFBD> am Anfang
zu verwenden.
.TP
\-\-echo\-wid
Nur GTK\-GUI: Schreibe die Fenster\-ID auf die Standardausgabe.
.TP
\-\-help
Gibt eine Hilfe\-Nachricht aus und beendet, wie <20>\-h<EFBFBD>.
.TP
\-\-literal
Nimmt die Dateinamen so wie sie sind und vervollst<73>ndigt sie nicht nach
Metazeichen (*,?). Dies wirkt sich nicht unter Unix aus, wo die Shell die
Metazeichen expandiert.
.TP
\-\-noplugin
Lade keine Plugins. Impliziert durch <20>\-u NONE<4E>.
.TP
\-\-remote
Verbindet mit einem Vim\-Server und l<>sst ihn die in den restlichen
Argumenten angegeben Dateien editieren. Wenn kein Server gefunden wird,
f<EFBFBD>hrt dies zu einer Warnmeldung und die Dateien werden im gegenw<6E>rtigen Vim
zum Bearbeiten ge<67>ffnet.
.TP
\-\-remote\-expr {Ausdruck}
Verbindet mit einem Vim\-Server, f<>hrt {Ausdruck} aus und zeigt das Ergebnis
auf der Standardausgabe an.
.TP
\-\-remote\-send {Zeichen}
Verbindet mit einem Vim\-Server und sendet ihm {Zeichen}.
.TP
\-\-remote\-silent
Wie <20>\-\-remote<EFBFBD>, aber ohne Warnung, wenn kein Server gefunden wird.
.TP
\-\-remote\-wait
Wie <20>\-\-remote<EFBFBD>, aber Vim beendet sich nicht, bis die Dateien bearbeitet
wurden.
.TP
\-\-remote\-wait\-silent
Wie <20>\-\-remote\-wait<EFBFBD>, aber ohne Warnung, wenn kein Server gefunden wird.
.TP
\-\-serverlist
Listet die Namen aller gefundenen Vim\-Server auf.
.TP
\-\-servername {Name}
Benutzt {Name} als Server\-Namen. Wird f<>r den gegenw<6E>rtigen Vim benutzt,
au<EFBFBD>er es wird mit dem Argument <20>\-\-remote<EFBFBD> benutzt, dann ist es der Name des
zu kontaktierenden Servers.
.TP
\-\-socketid {id}
Nur GTK\-GUI: Benutzt den GtkPlug\-Mechanismus, um GVim in einem anderen
Fenster laufen zu lassen.
.TP
\-\-version
Versionsinformation anzeigen und beenden
.SH "EINGEBAUTE HILFE"
Tippen Sie in \fBVim\fP <20>:help<6C>, um zu beginnen. Geben Sie ":help begriff<66> ein,
um Hilfe <20>ber ein bestimmtes Thema zu bekommen. Zum Beispiel <20>:help ZZ<5A> f<>r
Hilfe <20>ber den Befehl <20>ZZ<5A>. Benutzen Sie <Tab> und CTRL\-D, um
Begriffe zu vervollst<73>ndigen (<28>:help cmdline\-completion<EFBFBD>). Tags sind
vorhanden, um von einem Ort zum anderen zu springen (eine Art
Hypertext\-Verkn<EFBFBD>pfungen, siehe <20>:help<6C>). Auf diese Weise k<>nnen alle
Dokumentations\-Dateien aufgerufen werden, zum Beispiel <20>:help syntax.txt<78>.
.SH DATEIEN
.TP 15
/usr/local/lib/vim/doc/*.txt
Dokumentations\-Dateien f<>r \fBVim\fP. Verwenden Sie <20>:help doc\-file\-list<EFBFBD>, um
die gesamte Liste zu bekommen.
.TP
/usr/local/lib/vim/doc/tags
Die <20>Tag<61>\-Datei, die verwendet wird, um Informationen in der Dokumentation
zu finden.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Die systemweite Einrichtung der Syntaxhervorhebung.
.TP
/usr/local/lib/vim/syntax/*.vim
Syntaxdateien f<>r die verschiedenen Sprachen.
.TP
/usr/local/lib/vim/vimrc
Systemweite Einstellungsdatei f<>r \fBVim\fP
.TP
~/.vimrc
Pers<EFBFBD>nliche Einstellungsdatei f<>r \fBVim\fP
.TP
/usr/local/lib/vim/gvimrc
Systemweite Einstellungsdatei f<>r GVim
.TP
~/.gvimrc
Pers<EFBFBD>nliche Einstellungsdatei f<>r GVim
.TP
/usr/local/lib/vim/optwin.vim
Das Script, das von dem Befehl <20>:options<6E> verwendet wird, eine sch<63>ne
M<EFBFBD>glichkeit, um Optionen zu betrachten und zu setzen.
.TP
/usr/local/lib/vim/menu.vim
Systemweite Einstellungsdatei f<>r das Men<65> von GVim
.TP
/usr/local/lib/vim/bugreport.vim
Das Script zum Generieren eines Fehlerberichts. Siehe <20>:help bugs<67>.
.TP
/usr/local/lib/vim/filetype.vim
Mit diesem Script erkennt Vim den Typ einer Datei anhand ihres
Dateinamens. Siehe <20>:help 'filetype'<27>.
.TP
/usr/local/lib/vim/scripts.vim
Mit diesem Script erkennt Vim den Typ einer Datei anhand ihres
Inhaltes. Siehe <20>:help 'filetype'<27>.
.TP
/usr/local/lib/vim/print/*.ps
Diese Dateien werden zum Drucken von PostScript verwendet.
.PP
F<EFBFBD>r die neuesten Informationen lesen Sie die Vim\-Homepage:
.br
<URL:http://www.vim.org/>
.SH "SIEHE AUCH"
vimtutor(1)
.SH AUTOR
\fBVim\fP wurde gr<67><72>tenteils von Bram Moolenaar erstellt, mit viel Hilfe von
anderen Leuten. Siehe <20>:help credits<74> in \fBVim.\fP
.br
\fBVim\fP basiert auf Stevie, der von Tim Thompson, Tony Andrews und
G.R. (Fred) Walter geschrieben wurde. Es ist jedoch kaum etwas vom
urspr<EFBFBD>nglichen Code <20>brig geblieben.
.SH FEHLER
Die sind m<>glich. Siehe <20>:help todo<64> f<>r eine Liste bekannter Probleme.
.PP
Beachten Sie, dass gewisse Dinge, die manche Leute als Fehler betrachten
m<EFBFBD>gen, in Wirklichkeit durch zu getreue Nachbildung des Vi\-Verhaltens
verursacht werden. Und falls Sie denken, dass andere Dinge Fehler sind,
<EFBFBD>weil Vi es anders tut<75>, sollten Sie einen genaueren Blick auf die Datei
vi_diff.txt werfen (oder in Vim <20>:help vi_diff.txt<78> tippen). Sehen Sie sich
auch die Optionen 'compatible' und 'cpoptions' an.

478
runtime/doc/vim-de.UTF-8.1 Normal file
View File

@@ -0,0 +1,478 @@
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\" Translated by bw1 (2008) and Florian Rehnisch <fm-r@gmx.de> (2012)
.\" Kudos to the folks on vim-dev and debian-l10n-german
.TH VIM 1 "2006 Apr 11"
.SH BEZEICHNUNG
vim \- Vi IMproved, ein Text\-Editor für Programmierer
.SH ÜBERSICHT
.br
\fBvim\fP [Optionen] [Datei …]
.br
\fBvim\fP [Optionen] \-
.br
\fBvim\fP [Optionen] \-t Tag
.br
\fBvim\fP [Optionen] \-q [Fehlerdatei]
.PP
.br
\fBex\fP
.br
\fBview\fP
.br
\fBgvim\fP \fBgview\fP \fBevim\fP \fBeview\fP
.br
\fBrvim\fP \fBrview\fP \fBrgvim\fP \fBrgview\fP
.SH BESCHREIBUNG
\fBVim\fP ist ein Text\-Editor, der aufwärtskompatibel zu Vi ist. Er kann
verwendet werden, um alle Arten von Klartext zu bearbeiten. Er ist besonders
nützlich, um Programme zu bearbeiten.
.PP
Vim hat einige Erweiterungen gegenüber Vi, z.B.: Rückgängigmachen in
mehreren Schritten, mehrere Fenster und Puffer, Syntax\-Hervorhebung,
Bearbeiten der Befehlszeile, Dateinamenergänzung, eingebaute Hilfe, visuelle
Auswahl, usw. … Siehe »:help vi_diff.txt« für eine Übersicht der
Unterschiede zwischen \fBVim\fP und Vi.
.PP
Im laufenden \fBVim\fP kann mit dem Befehl »:help« viel Hilfe durch das
eingebaute Hilfesystem erlangt werden. Siehe den Abschnitt EINGEBAUTE HILFE
weiter unten.
.PP
Meistens wird \fBVim\fP zum Editieren einer einzigen Datei mit dem folgende
Befehl gestartet:
.PP
vim Datei
.PP
Allgemeiner betrachtet, wird \fBVim\fP folgendermaßen gestartet:
.PP
vim [Optionen] [Dateiliste]
.PP
Bei einer fehlenden Dateiliste startet der Editor mit einem leeren
Puffer. Andernfalls werden nach den folgenden vier Möglichkeiten eine oder
mehrere Dateien bearbeitet:
.TP 12
Datei …
Eine Liste von Dateinamen. Die erste Datei wird in den Puffer geladen und
zur aktuellen. Der Cursor wird auf der ersten Zeile des Puffers
platziert. Zu den anderen Dateien kann mit dem Befehl »:next« gelangt
werden. Falls einer der Dateinamen mit einem Bindestrich beginnt, stellen
Sie der Dateiliste »\-\-« voran.
.TP
\-
Die zu bearbeitende Datei wird von der Standardeingabe gelesen. Befehle
werden von der Standardfehlerausgabe gelesen, die ein Text\-Terminal sein
sollte.
.TP
\-t {Tag}
Die zu editierende Datei und die anfängliche Cursor\-Position hängen von
einem »Tag« ab, einer Art Sprungmarke. {Tag} wird in der Tag\-Datei
nachgeschlagen, die zugehörige Datei wird zur aktuellen und der zugehörige
Befehl wird ausgeführt. Dies wird meistens für Programme in der Sprache »C«
benutzt, wobei {Tag} ein Funktionsname sein könnte. Die Wirkung dieses
Befehls ist, dass die Datei, die die Funktion enthält, als aktuelle im
Editor geöffnet und angezeigt wird und der Cursor auf dem Beginn der
Funktion positioniert wird. Siehe »:help tag\-commands«.
.TP
\-q [Fehlerdatei]
Startet im QuickFix\-Modus. Die Datei [Fehlerdatei] wird gelesen und der
erste Fehler wird angezeigt. Falls [Fehlerdatei] ausgelassen wird, wird der
Dateiname aus der Option 'errorfile' verwendet (bei AmigaOS ist dies
vorgabemäßig »AztecC.Err«, sowie „errors.err« bei anderen). Weitere Fehler
können mit dem »:cn«\-Befehl angesprungen werden. Siehe „:help quickfix«.
.PP
\fBVim\fP reagiert unterschiedlich auf den Namen, der verwendet wird, um Vim zu
starten (die ausführbare Datei kann dieselbe sein).
.TP 10
vim
der »normale« Weg, alles ist standardmäßig
.TP
ex
Startet im Ex\-Modus. Mit dem Befehl »:vi« gelangt man in den normalen
Modus. Funktioniert auch mit dem Argument »\-e«.
.TP
view
Startet im Nur\-Lesen\-Modus. Die Datei wird vor dem Überschreiben
geschützt. Dasselbe wird mit dem Parameter »\-R« erreicht.
.TP
gvim gview
Die grafische Version: Öffnet ein neues Fenster. Dasselbe wird mit dem
Parameter »\-g« erreicht.
.TP
evim eview
Die grafische Version im einfachen Modus: Öffnet ein neues Fenster. Dasselbe
wird mit dem Parameter »\-y« erreicht.
.TP
rvim rview rgvim rgview
Wie die obigen, aber mit Beschränkungen: Es ist nicht möglich, Shell\-Befehle
aufzurufen oder mit Unterbrechung in eine Shell zurückzuspringen. Dasselbe
wird mit dem Parameter »\-Z« erreicht.
.SH OPTIONEN
Die Optionen können in beliebiger Reihenfolge vor oder nach den Dateinamen
angegeben werden. Optionen ohne Parameter können hinter einem einzigen
Bindestrich gruppiert werden.
.TP 12
+[Nummer]
In der ersten Datei wird der Cursor auf die Zeile [Nummer] gesetzt. Falls
[Nummer] nicht angegeben wird, wird der Cursor in die letzte Zeile der Datei
gesetzt.
.TP
+/{Suchmuster}
In der ersten Datei wird der Cursor auf das erste Auftreten von {Suchmuster}
gesetzt. Siehe »:help search\-pattern«.
.TP
+{Befehl}
.TP
\-c {Befehl}
{Befehl} wird nach dem Lesen der ersten Datei ausgeführt. Als {Befehl} wird
ein Ex\-Befehl erwartet. Sind in {Befehl} Leerzeichen vorhanden, muss alles
in Anführungszeichen gesetzt werden (hängt von der verwendeten Shell
ab). Beispiel: vim "+set si" main.c
.br
Anmerkung: Sie können bis zu 10 »+«\- oder „\-\-Befehle verwenden.
.TP
\-S {Datei}
{Datei} wird nach dem Lesen der ersten Datei ausgeführt. Dies entspricht »\-c
"source {Datei}"«. {Datei} darf nicht mit einem Bindestrich (\-)
anfangen. Wenn kein Dateiname angegeben wird, wird »Session.vim« verwendet
(Funktioniert nur, wenn »\-S« als letzter Parameter steht).
.TP
\-\-cmd {Befehl}
Wie »\-c«, aber dieser Befehl wird vor allen VimRC\-Dateien ausgeführt. Sie
können unabhängig von den »\-\-Befehlen bis zu 10 dieser Befehle verwenden.
.TP
\-A
Falls \fBVim\fP mit Unterstützung für das Schreiben von rechts nach links und
arabischer Tastaturbelegung compiliert wurde (ARABIC), startet dieser
Parameter den Modus fürs Arabische (:set arabic). Anderenfalls beendet sich
\fBVim\fP mit einer Fehlermeldung.
.TP
b
Binärer Modus: Es werden einige Variablen gesetzt, sodass es möglich ist,
eine binäre oder ausführbare Datei zu bearbeiten.
.TP
\-C
Kompatibel: Setzt die Option 'compatible'. Das macht \fBVim\fP im Verhalten
sehr ähnlich zu Vi, selbst wenn eine VimRC\-Datei existiert.
.TP
\-d
Startet im diff\-Modus. Es sollten zwei, drei oder vier Dateinamen als
Parameter übergeben werden. \fBVim\fP öffnet sie alle und zeigt die
Unterschiede an. Arbeitet wie vimdiff(1).
.TP
\-d {Gerät}
Öffnet das {Gerät}, um es als Terminal zu nutzen. Nur für AmigaOS. Beispiel:
"\-d con:20/30/600/150".
.TP
D
Debug\-Modus: \fBVim\fP geht in den Debug\-Modus, wenn der erste Befehl in einem
Skript ausgeführt wird.
.TP
\-e
Startet \fBVim\fP im Ex\-Modus, als würde als ausführbare Datei »ex« aufgerufen.
.TP
\-E
Startet \fBVim\fP im erweiterten Ex\-Modus, als würde die ausführbare Datei als
»exim« aufgerufen.
.TP
\-f
Vordergrund: Bei der GUI\-Version erzeugt \fBVim\fP keinen neuen Prozess und
löst sich nicht von der Shell, in der er aufgerufen wurde. Bei AmigaOS wird
kein neues Fenster geöffnet. Dieser Parameter wird benutzt, damit das
aufrufende Programm auf das Beenden des Bearbeitungssitzung wartet (z.B.:
mail). Bei AmigaOS funktionieren die Befehle »:sh« und „:!« nicht.
.TP
\-\-nofork
Vordergrund: Bei der GUI\-Version erzeugt \fBVim\fP keinen neuen Prozess und
löst sich nicht von der Shell, in der er aufgerufen wurde.
.TP
\-F
Wenn \fBVim\fP mit FKMAP\-Unterstützung für das Schreiben von rechts nach links
und Farsi\-Tastatur\-Belegung kompiliert wurde, startet Vim im Farsi\-Modus,
d.h. die Optionen 'fkmap' und 'rightleft' werden gesetzt. Andernfalls bricht
\fBVim\fP mit einer Fehlermeldung ab.
.TP
\-g
Falls \fBVim\fP mit GUI\-Unterstützung kompiliert wurde, wird die GUI
aktiviert. Falls keine GUI\-Unterstützung einkompiliert wurde, wird mit einer
Fehlermeldung abgebrochen.
.TP
\-h
Gibt eine kleine Hilfe für die Befehlszeilenparameter aus. Danach beendet
sich \fBVim.\fP
.TP
\-H
Hebräisch\-Modus, falls \fBVim\fP mit RIGHTLEFT\-Unterstützung für das Schreiben
von rechts nach links und hebräischer Tastaturbelegung kompiliert wurde,
werden die Optionen 'hkmap' und 'rightleft' gesetzt. Andernfalls beendet
sich \fBVim\fP mit einer Fehlermeldung.
.TP
\-i {VimInfo}
Wenn eine VimInfo\-Datei verwendet wird: Verwendet statt »~/.viminfo« die
angegebene Datei. Es ist auch möglich die Verwendung einer VimInfo\-Datei
durch Angabe des Dateinamen »NONE« zu verhindern,
.TP
\-L
dasselbe wie »\-
.TP
\-l
Lisp\-Modus. Aktiviert die Optionen 'lisp' und 'showmatch'.
.TP
\-m
Deaktiviert das Verändern von Dateien, indem die Option 'write' gelöscht
wird. Der Puffer kann verändert werden, nur das Schreiben einer Datei ist
nicht möglich.
.TP
\-M
Keine Veränderungen erlaubt: Die Optionen 'modifiable' und 'write' werden
gelöscht, so dass Änderungen nicht erlaubt sind und Dateien nicht
geschrieben werden können. Man beachte, dass diese Optionen ('modifiable',
\&'write') dennnoch nachträglich zum Erlauben von Änderungen gesetzt werden
können.
.TP
\-N
Nicht\-kompatibler Modus: Löscht die Option 'compatible'. Dies veranlasst
\fBVim\fP, sich ein wenig besser, aber weniger Vi\-kompatibel zu verhalten,
selbst wenn es keine VimRC\-Datei gibt.
.TP
\-n
Verwendet keine Auslagerungsdatei: Eine Wiederherstellung nach einem Absturz
ist nicht möglich. Auf einem langsamen Medium (Diskette) kann diese
Einstellung nützlich sein. Kann auch mit »set uc=0« erreicht werden; kann
mit »set uc=200« aufgehoben werden.
.TP
\-nb
\fBVim\fP fungiert als Server für NetBeans. Details siehe Dokumentation.
.TP
\-o[N]
Öffnet [N] Fenster übereinander. Wenn keine Zahl angegeben wird, öffne ein
Fenster pro Datei.
.TP
\-O[N]
Öffnet [N] Fenster nebeneinander. Wenn keine Zahl angegeben wird, öffne ein
Fenster pro Datei.
.TP
\-p[N]
Öffnet [N] Reiterseiten. Wenn keine Zahl angegeben wird, öffne eine
Reiterseite pro Datei.
.TP
\-R
Nur\-Lesen\-Modus: Die Option 'readonly' wird gesetzt. Der Puffer kann noch
bearbeitet werden, aber es wird verhindert, eine Datei aus Versehen zu
überschreiben. Wenn Sie wirklich eine Datei überschreiben wollen, fügen Sie
dem Ex\-Befehl ein Ausrufezeichen hinzu (wie in »:w!«). Die Option „\-
bedingt die Option »\-n« (siehe oben). Die Option 'readonly' kann durch „:set
noro« gelöscht werden. Siehe »:help 'readonly'«.
.TP
\-r
Listet die Auslagerungsdateien und gibt Informationen zu ihrer
Verwendbarkeit zur Wiederherstellung.
.TP
\-r {Datei}
Wiederherstellungsmodus: Die Auslagerungsdatei wird zur Wiederherstellung
verwendet und hat denselben Dateinamen wie die Text\-Datei + ».swp«. Siehe
„:help recovery«.
.TP
\-s
Der stille Modus: Nur wenn die ausführbare Datei als »ex« aufgerufen wird
oder vor »\-s« die Option „\-e« gegeben wird.
.TP
\-s {Eingabeskript}
Die Datei {Eingabeskript} wird gelesen und ausgeführt, als würden Sie die
Zeichen in ihr tippen. Dasselbe kann mit dem Befehl »:source!
{Eingabeskript}« erreicht werden. Wird das Ende der Datei vor dem Beenden
des Editors erreicht, werden weitere Zeichen von der Tastatur gelesen.
.TP
\-T {Terminal}
Setzt den Namen des benutzten Terminals. Nur erforderlich, wenn die
Automatik nicht funktioniert. Sollte ein \fBVim\fP bekanntes Terminal sein:
(builtin) oder in einer termcap\- oder terminfo\-Datei definiert.
.TP
\-u {VimRC}
Verwendet zur Initialisierung die Befehle in der Datei {VimRC}. Alle anderen
Initialisierungen werden übersprungen. Benutzen Sie dies, um eine besondere
Art von Dateien zu bearbeiten. Dies kann auch benutzt werden, um alle
Initialisierungen zu überspringen, indem der Name »NONE« angegeben wird. Für
weitere Einzelheiten siehe »:help initialisation« innerhalb von Vim.
.TP
\-U {GvimRC}
Benutzt die Befehle in der Datei {GvimRC} für die Initialisierung der
grafischen Oberfläche. Alle anderen Initialisierungen werden
übersprungen. Dies kann ebenfalls benutzt werden, um alle
GUI\-Initialisierungen zu überspringen, indem der Name »NONE« angegeben
wird. Siehe »:help gui\-init« innerhalb von Vim für weitere Einzelheiten.
.TP
\-V[N]
Ausführlich (verbose): Gibt Meldungen darüber, welche Befehlsdateien
eingelesen werden, und über das Lesen und Schreiben einer VimInfo\-Datei. Die
optionale Zahl N ist der Wert für 'verbose'. Vorgabe ist 10.
.TP
\-v
Startet \fBVim\fP im Vi\-Modus, so als würde die ausführbare Datei mit »vi«
aufgerufen. Dies wirkt sich nur aus, wenn die ausführbare Datei als »ex«
aufgerufen wird.
.TP
\-w {Ausgabeskript}
Alle Zeichen, die eingetippt werden, werden in der Datei {Ausgabeskript}
aufgezeichnet, solange bis Sie \fBVim\fP beenden. Dies ist nützlich, falls Sie
eine Skript\-Datei zum Benutzen mit »vim \-s« oder „:source!« erzeugen
wollen. Falls die Datei {Ausgabeskript} vorhanden ist, werden die Zeichen
angehängt.
.TP
\-W {Ausgabeskript}
Wie \-w, aber eine bereits vorhandene Datei wird überschrieben.
.TP
\-x
Benutzt beim Schreiben von Dateien eine Verschlüsselung. Fragt nach dem
Schlüssel.
.TP
\-X
Führt keine Verbindung zum X\-Server durch. Dadurch verkürzt sich die
Startzeit, aber der Fenstertitel und die Zwischenablage werden nicht
verwendet.
.TP
\-y
Startet \fBVim\fP im einfachen Modus, als würde die ausführbare Datei mit
»evim« oder »eview« aufgerufen. \fBVim\fP verhält sich dann wie ein Editor zum
Klicken und Tippen.
.TP
\-Z
Eingeschränkter Modus: Funktioniert, als würde der Name der ausführbaren
Datei mit »r« beginnen.
.TP
\-\-
Markiert das Ende der Optionen. Argumente, die folgen, werden als Dateinamen
behandelt. Dies kann benutzt werden, um einen Dateinamen mit »\-« am Anfang
zu verwenden.
.TP
\-\-echo\-wid
Nur GTK\-GUI: Schreibe die Fenster\-ID auf die Standardausgabe.
.TP
\-\-help
Gibt eine Hilfe\-Nachricht aus und beendet, wie »\-h«.
.TP
\-\-literal
Nimmt die Dateinamen so wie sie sind und vervollständigt sie nicht nach
Metazeichen (*,?). Dies wirkt sich nicht unter Unix aus, wo die Shell die
Metazeichen expandiert.
.TP
\-\-noplugin
Lade keine Plugins. Impliziert durch »\-u NONE«.
.TP
\-\-remote
Verbindet mit einem Vim\-Server und lässt ihn die in den restlichen
Argumenten angegeben Dateien editieren. Wenn kein Server gefunden wird,
führt dies zu einer Warnmeldung und die Dateien werden im gegenwärtigen Vim
zum Bearbeiten geöffnet.
.TP
\-\-remote\-expr {Ausdruck}
Verbindet mit einem Vim\-Server, führt {Ausdruck} aus und zeigt das Ergebnis
auf der Standardausgabe an.
.TP
\-\-remote\-send {Zeichen}
Verbindet mit einem Vim\-Server und sendet ihm {Zeichen}.
.TP
\-\-remote\-silent
Wie »\-\-remote«, aber ohne Warnung, wenn kein Server gefunden wird.
.TP
\-\-remote\-wait
Wie »\-\-remote«, aber Vim beendet sich nicht, bis die Dateien bearbeitet
wurden.
.TP
\-\-remote\-wait\-silent
Wie »\-\-remote\-wait«, aber ohne Warnung, wenn kein Server gefunden wird.
.TP
\-\-serverlist
Listet die Namen aller gefundenen Vim\-Server auf.
.TP
\-\-servername {Name}
Benutzt {Name} als Server\-Namen. Wird für den gegenwärtigen Vim benutzt,
außer es wird mit dem Argument »\-\-remote« benutzt, dann ist es der Name des
zu kontaktierenden Servers.
.TP
\-\-socketid {id}
Nur GTK\-GUI: Benutzt den GtkPlug\-Mechanismus, um GVim in einem anderen
Fenster laufen zu lassen.
.TP
\-\-version
Versionsinformation anzeigen und beenden
.SH "EINGEBAUTE HILFE"
Tippen Sie in \fBVim\fP »:help«, um zu beginnen. Geben Sie „:help begriff« ein,
um Hilfe über ein bestimmtes Thema zu bekommen. Zum Beispiel »:help ZZ« für
Hilfe über den Befehl »ZZ«. Benutzen Sie <Tab> und CTRL\-D, um
Begriffe zu vervollständigen (»:help cmdline\-completion«). Tags sind
vorhanden, um von einem Ort zum anderen zu springen (eine Art
Hypertext\-Verknüpfungen, siehe »:help«). Auf diese Weise können alle
Dokumentations\-Dateien aufgerufen werden, zum Beispiel »:help syntax.txt«.
.SH DATEIEN
.TP 15
/usr/local/lib/vim/doc/*.txt
Dokumentations\-Dateien für \fBVim\fP. Verwenden Sie »:help doc\-file\-list«, um
die gesamte Liste zu bekommen.
.TP
/usr/local/lib/vim/doc/tags
Die »Tag«\-Datei, die verwendet wird, um Informationen in der Dokumentation
zu finden.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Die systemweite Einrichtung der Syntaxhervorhebung.
.TP
/usr/local/lib/vim/syntax/*.vim
Syntaxdateien für die verschiedenen Sprachen.
.TP
/usr/local/lib/vim/vimrc
Systemweite Einstellungsdatei für \fBVim\fP
.TP
~/.vimrc
Persönliche Einstellungsdatei für \fBVim\fP
.TP
/usr/local/lib/vim/gvimrc
Systemweite Einstellungsdatei für GVim
.TP
~/.gvimrc
Persönliche Einstellungsdatei für GVim
.TP
/usr/local/lib/vim/optwin.vim
Das Script, das von dem Befehl »:options« verwendet wird, eine schöne
Möglichkeit, um Optionen zu betrachten und zu setzen.
.TP
/usr/local/lib/vim/menu.vim
Systemweite Einstellungsdatei für das Menü von GVim
.TP
/usr/local/lib/vim/bugreport.vim
Das Script zum Generieren eines Fehlerberichts. Siehe »:help bugs«.
.TP
/usr/local/lib/vim/filetype.vim
Mit diesem Script erkennt Vim den Typ einer Datei anhand ihres
Dateinamens. Siehe »:help 'filetype'«.
.TP
/usr/local/lib/vim/scripts.vim
Mit diesem Script erkennt Vim den Typ einer Datei anhand ihres
Inhaltes. Siehe »:help 'filetype'«.
.TP
/usr/local/lib/vim/print/*.ps
Diese Dateien werden zum Drucken von PostScript verwendet.
.PP
Für die neuesten Informationen lesen Sie die Vim\-Homepage:
.br
<URL:http://www.vim.org/>
.SH "SIEHE AUCH"
vimtutor(1)
.SH AUTOR
\fBVim\fP wurde größtenteils von Bram Moolenaar erstellt, mit viel Hilfe von
anderen Leuten. Siehe »:help credits« in \fBVim.\fP
.br
\fBVim\fP basiert auf Stevie, der von Tim Thompson, Tony Andrews und
G.R. (Fred) Walter geschrieben wurde. Es ist jedoch kaum etwas vom
ursprünglichen Code übrig geblieben.
.SH FEHLER
Die sind möglich. Siehe »:help todo« für eine Liste bekannter Probleme.
.PP
Beachten Sie, dass gewisse Dinge, die manche Leute als Fehler betrachten
mögen, in Wirklichkeit durch zu getreue Nachbildung des Vi\-Verhaltens
verursacht werden. Und falls Sie denken, dass andere Dinge Fehler sind,
»weil Vi es anders tut«, sollten Sie einen genaueren Blick auf die Datei
vi_diff.txt werfen (oder in Vim »:help vi_diff.txt« tippen). Sehen Sie sich
auch die Optionen 'compatible' und 'cpoptions' an.

View File

@@ -1,4 +1,4 @@
*visual.txt* For Vim version 7.3. Last change: 2012 May 25
*visual.txt* For Vim version 7.3. Last change: 2012 Aug 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -62,8 +62,15 @@ position.
*v* *characterwise-visual*
[count]v Start Visual mode per character.
With [count] select that many characters, like moving
the cursor right [count] characters. One less when
With [count] select the same number of characters or
lines as used for the last Visual operation, but at
the current cursor position, multiplied by [count].
When the previous Visual operation was on a block both
the width and height of the block are multipiled by
[count].
When there was no previous Visual operation [count]
characters are selected. This is like moving the
cursor right N * [count] characters. One less when
'selection' is not "exclusive".
*V* *linewise-visual*
@@ -99,6 +106,18 @@ gv Start Visual mode with the same area as the previous
After using "p" or "P" in Visual mode the text that
was put will be selected.
*gn* *v_gn*
gn Search forward for the last used search pattern, like
with `n`, and start Visual mode to select the match.
If the cursor is on the match, visually selects it.
If an operator is pending, operates on the match.
E.g., "dgn" deletes the text of the next match.
If Visual mode is active, extends the selection
until the end of the next match.
*gN* *v_gN*
gN Like |gn| but searches backward, like with `N`.
*<LeftMouse>*
<LeftMouse> Set the current cursor position. If Visual mode is
active it is stopped. Only when 'mouse' option is
@@ -274,7 +293,10 @@ with {motion}, which is only ONE movement command.
Another way to operate on the Visual area is using the |/\%V| item in a
pattern. For example, to replace all '(' in the Visual area with '#': >
:%s/\%V(/X/g
:'<,'>s/\%V(/#/g
Note that the "'<,'>" will appear automatically when you press ":" in Visual
mode.
==============================================================================
5. Blockwise operators *blockwise-operators*

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 May 18
" Last Change: 2012 Aug 02
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -1119,6 +1119,9 @@ au BufNewFile,BufRead *.nb setf mma
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
" Mercurial (hg) commit file
au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
@@ -1200,7 +1203,7 @@ au BufNewFile,BufRead *.mysql setf mysql
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
" M$ Resource files
au BufNewFile,BufRead *.rc setf rc
au BufNewFile,BufRead *.rc,*.rch setf rc
" MuPAD source
au BufRead,BufNewFile *.mu setf mupad

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 Aug 04
" Last Change: 2012 Jul 10
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -40,7 +40,7 @@ let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^
let b:match_skip = 's:comment\|string\|character'
" Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter")
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
if &ft == "cpp"
let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
\ "C Header Files (*.h)\t*.h\n" .

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 May 20
" Last Change: 2012 Aug 02
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -22,6 +22,16 @@ let s:keepcpo= &cpo
set cpo&vim
function GetVimIndent()
let ignorecase_save = &ignorecase
try
let &ignorecase = 0
return GetVimIndentIntern()
finally
let &ignorecase = ignorecase_save
endtry
endfunc
function GetVimIndentIntern()
" Find a non-blank line above the current line.
let lnum = prevnonblank(v:lnum - 1)

View File

@@ -1,6 +1,6 @@
" Language: xml
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2012 May 18
" Last Change: 2012 Jul 25
" Notes: 1) does not indent pure non-xml code (e.g. embedded scripts)
" 2) will be confused by unbalanced tags in comments
" or CDATA sections.
@@ -31,8 +31,16 @@ if !exists('b:xml_indent_close')
" let b:xml_indent_close = '.\{-}</\(address\)\@!'
endif
let &cpo = s:keepcpo
unlet s:keepcpo
" [-- finish, if the function already exists --]
if exists('*XmlIndentGet') | finish | endif
if exists('*XmlIndentGet')
finish
endif
let s:keepcpo= &cpo
set cpo&vim
fun! <SID>XmlIndentWithPattern(line, pat)
let s = substitute('x'.a:line, a:pat, "\1", 'g')

View File

@@ -0,0 +1,87 @@
" Vim Keymap file for Belarusian characters, layout 'jcuken', classical variant
" Useful mainly with UTF-8, but may work with other encodings.
" Derived From: russian-jcuken.vim
" Maintainer: Aliaksei Nestserau <aliaksei@screencustoms.com>
" Last Changed: 2012 Jul 23
" All characters are given literally, conversion to another encoding (e.g.,
" UTF-8) should work.
scriptencoding utf-8
let b:keymap_name = "by"
loadkeymap
~ Ё CYRILLIC CAPITAL LETTER IO
` ё CYRILLIC SMALL LETTER IO
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B І CYRILLIC CAPITAL LETTER I
Q Й CYRILLIC CAPITAL LETTER SHORT I
R К CYRILLIC CAPITAL LETTER KA
K Л CYRILLIC CAPITAL LETTER EL
V М CYRILLIC CAPITAL LETTER EM
Y Н CYRILLIC CAPITAL LETTER EN
J О CYRILLIC CAPITAL LETTER O
G П CYRILLIC CAPITAL LETTER PE
H Р CYRILLIC CAPITAL LETTER ER
C С CYRILLIC CAPITAL LETTER ES
N Т CYRILLIC CAPITAL LETTER TE
E У CYRILLIC CAPITAL LETTER U
A Ф CYRILLIC CAPITAL LETTER EF
{ Х CYRILLIC CAPITAL LETTER HA
W Ц CYRILLIC CAPITAL LETTER TSE
X Ч CYRILLIC CAPITAL LETTER CHE
I Ш CYRILLIC CAPITAL LETTER SHA
O Ў CYRILLIC CAPITAL LETTER ASYLLABIC U
} ' APOSTROPHE
S Ы CYRILLIC CAPITAL LETTER YERU
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
\" Э CYRILLIC CAPITAL LETTER E
> Ю CYRILLIC CAPITAL LETTER YU
Z Я CYRILLIC CAPITAL LETTER YA
f а CYRILLIC SMALL LETTER A
, б CYRILLIC SMALL LETTER BE
d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b і CYRILLIC SMALL LETTER I
q й CYRILLIC SMALL LETTER SHORT I
r к CYRILLIC SMALL LETTER KA
k л CYRILLIC SMALL LETTER EL
v м CYRILLIC SMALL LETTER EM
y н CYRILLIC SMALL LETTER EN
j о CYRILLIC SMALL LETTER O
g п CYRILLIC SMALL LETTER PE
h р CYRILLIC SMALL LETTER ER
c с CYRILLIC SMALL LETTER ES
n т CYRILLIC SMALL LETTER TE
e у CYRILLIC SMALL LETTER U
a ф CYRILLIC SMALL LETTER EF
[ х CYRILLIC SMALL LETTER HA
w ц CYRILLIC SMALL LETTER TSE
x ч CYRILLIC SMALL LETTER CHE
i ш CYRILLIC SMALL LETTER SHA
o ў CYRILLIC SMALL LETTER ASYLLABIC U
] ' APOSTROPHE
s ы CYRILLIC SMALL LETTER YERU
m ь CYRILLIC SMALL LETTER SOFT SIGN
' э CYRILLIC SMALL LETTER E
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
@ "
# '
$ *
% :
^ ,
& .
* ;

View File

@@ -1,5 +1,8 @@
" Menu Translations: Japanese (for Windows)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 29-Apr-2004.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
source <sfile>:p:h/menu_japanese_japan.932.vim

View File

@@ -1,6 +1,9 @@
" Menu Translations: Japanese (for UNIX)
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
" Last Change: 08:50:47 25-Mar-2001.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" eucjp is the same as euc-jp. Source the other one from here.
source <sfile>:p:h/menu_ja_jp.euc-jp.vim

View File

@@ -1,6 +1,9 @@
" Menu Translations: Japanese (for UNIX)
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
" Last Change: 08:50:47 25-Mar-2001.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" eucjp is the same as euc-jp. Source the other one from here.
source <sfile>:p:h/menu_ja_jp.euc-jp.vim

View File

@@ -1,6 +1,9 @@
" Menu Translations: Japanese (for UNIX)
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
" Last Change: 08:50:47 25-Mar-2001.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" ujis is the same as euc-jp. Source the other one from here.
source <sfile>:p:h/menu_ja_jp.euc-jp.vim

View File

@@ -1,5 +1,8 @@
" Menu Translations: Japanese (for Windows)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 29-Apr-2004.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
source <sfile>:p:h/menu_japanese_japan.932.vim

View File

@@ -2,7 +2,10 @@
"
" Menu Translations: Japanese (EUC-JP)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
if exists("did_menu_trans")

View File

@@ -1,6 +1,9 @@
" Menu Translations: Japanese (for UNIX)
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
" Last Change: 08:50:47 25-Mar-2001.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" eucjp is the same as euc-jp. Source the other one from here.
source <sfile>:p:h/menu_ja_jp.euc-jp.vim

View File

@@ -1,6 +1,9 @@
" Menu Translations: Japanese (for UNIX)
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
" Last Change: 08:50:47 25-Mar-2001.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2004,12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" ujis is the same as euc-jp. Source the other one from here.
source <sfile>:p:h/menu_ja_jp.euc-jp.vim

View File

@@ -2,7 +2,10 @@
"
" Menu Translations: Japanese (UTF-8)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
if exists("did_menu_trans")

View File

@@ -2,7 +2,10 @@
"
" Menu Translations: Japanese (CP932)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Last Change: 15-Jun-2012.
"
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
if exists("did_menu_trans")

View File

@@ -1,7 +1,7 @@
" Set options and add mapping such that Vim behaves a lot like MS-Windows
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2006 Apr 02
" Last change: 2012 Jul 25
" bail out if this isn't wanted (mrsvim.vim uses this).
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
@@ -42,9 +42,10 @@ cmap <S-Insert> <C-R>+
" Visual mode without the +virtualedit feature. They are pasted as if they
" were characterwise instead.
" Uses the paste.vim autoload script.
" Use CTRL-G u to have CTRL-Z only undo the paste.
exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']
exe 'inoremap <script> <C-V> <C-G>u' . paste#paste_cmd['i']
exe 'vnoremap <script> <C-V> ' . paste#paste_cmd['v']
imap <S-Insert> <C-V>
vmap <S-Insert> <C-V>

View File

@@ -1,40 +1,95 @@
" Vim plugin for converting a syntax highlighted file to HTML.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 May 26
" Last Change: 2012 Jul 12
"
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
" $VIMRUNTIME/syntax/2html.vim
"
" TODO:
" TODO: {{{
" * Bug: still a 1px gap throughout the fold column when html_prevent_copy is
" "fn" in some browsers. Specifically, in Chromium on Ubuntu (but not Chrome
" on Windows). Perhaps it is font related?
" * Bug: still some gaps in the fold column when html_prevent_copy contains
" 'd' and showing the whole diff (observed in multiple browsers). Only gaps
" on diff lines though.
" * anchors on each line so you can do file.html#1234 to get to line 1234
" * add a modeline to the generated html to set nofoldenable or fdm=manual
" because syntax folding takes a terribly long time to work with the weird
" formatting the script does.
" * 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?
" * Undercurl support via CSS3, with fallback to dotted or something:
" https://groups.google.com/d/topic/vim_use/BzXA6He1pHg/discussion
" * Redo updates for modified default foldtext (v11) when/if the patch is
" accepted to modify it.
" * Test case +diff_one_file-dynamic_folds+expand_tabs-hover_unfold
" +ignore_conceal-ignore_folding+no_foldcolumn+no_pre+no_progress
" +number_lines-pre_wrap-use_css+use_xhtml+whole_filler.xhtml
" does not show the whole diff filler as it is supposed to.
" * Add option for not generating the hyperlink on stuff that looks like a
" URL? Or just color the link to fit with the colorscheme (and only special
" when hovering)?
" * Bug: when 'isprint' is wrong for the current encoding, will generate
" invalid content. Can/should anything be done about this? Maybe a separate
" plugin to correct 'isprint' based on encoding?
" * Check to see if the windows-125\d encodings actually work in Unix without
" the 8bit- prefix. Add prefix to autoload dictionaries for Unix if not.
" * Font auto-detection similar to
" http://www.vim.org/scripts/script.php?script_id=2384 but for a variety of
" platforms.
" * Error thrown when sourcing 2html.vim directly when plugins are not loaded.
" * 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
" * Explicitly trigger IE8+ Standards Mode? Doesn't seem necessary yet.
" * Make it so deleted lines in a diff don't create side-scrolling (get it
" free with full-line background highlight above).
" * Restore open/closed folds and cursor position after processing each file
" with option not to restore for speed increase
" * Undercurl support via dotted bottom border?
" with option not to restore for speed increase.
" * 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
"
"}}}
if exists('g:loaded_2html_plugin')
finish
endif
let g:loaded_2html_plugin = 'vim7.3_v10'
let g:loaded_2html_plugin = 'vim7.3_v12'
"
" Changelog:
" 7.3_v10 (this version): Fix error E684 when converting a range wholly inside
" Changelog: {{{
"
" 7.3_v12 (this version): Fix modeline mangling to also work for when multiple
" highlight groups make up the start-of-modeline text.
" Improve render time of page with uncopyable regions
" by not using one-input-per-char. Change name of
" uncopyable option from html_unselectable to
" html_prevent_copy. Added html_no_invalid option and
" default to inserting invalid markup for uncopyable
" regions to prevent MS Word from pasting undeletable
" <input> elements. Fix 'cpo' handling (Thilo Six).
" 7.3_v12b1: Add html_unselectable option. Rework logic to
" eliminate post-processing substitute commands in
" favor of doing the work up front. Remove unnecessary
" special treatment of 'LineNr' highlight group. Minor
" speed improvements. Fix modeline mangling in
" generated output so it works for text in the first
" column. Fix missing line number and fold column in
" diff filler lines. Fix that some fonts have a 1px
" gap (using a dirty hack, improvements welcome). Add
" "colorscheme" meta tag. Does NOT include support for
" the new default foldtext added in v11, as the patch
" adding it has not yet been included in Vim.
" 7.3_v11 ( unreleased ): Support new default foldtext from patch by Christian
" Brabandt in
" http://groups.google.com/d/topic/vim_dev/B6FSGfq9VoI/discussion.
" This patch has not yet been included in Vim, thus
" these changes are removed in the next version.
" 7.3_v10 (fd09a9c8468e): Fix error E684 when converting a range wholly inside
" multiple nested folds with dynamic folding on.
" Also fix problem with foldtext in this situation.
" 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css
@@ -81,14 +136,15 @@ let g:loaded_2html_plugin = 'vim7.3_v10'
" 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
"}}}
" Define the :TOhtml command when:
" - 'compatible' is not set
" - this plugin was not already loaded
" - user commands are available.
" - user commands are available. {{{
if !&cp && !exists(":TOhtml") && has("user_commands")
command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
endif
endif "}}}
" 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,13 +1,23 @@
*** br_FR.orig.aff 2010-04-14 18:44:36.365731271 +0200
--- br_FR.aff 2010-04-14 18:43:31.069137439 +0200
*** br_FR.aff.orig 2012-08-01 22:40:24.000000000 +0200
--- br_FR.aff 2012-08-01 22:46:03.028851510 +0200
***************
*** 9,14 ****
--- 9,16 ----
*** 13,20 ****
SET UTF-8
TRY esiaùnñrtolcdugmphbyfvkwzESIAÙNÑRTOLCDUGMPHBYFVKWZ'
# Permet à l'utilitaire en ligne de commande hunspell de fonctionner avec les mots contenant des quotes (lec'hienn, ...)
! WORDCHARS '
FLAG long
--- 13,22 ----
SET UTF-8
TRY esiaùnñrtolcdugmphbyfvkwzESIAÙNÑRTOLCDUGMPHBYFVKWZ'
+ MIDWORD '
+
PFX m Y 1
PFX m 0 m' [aehiouy]
# Permet à l'utilitaire en ligne de commande hunspell de fonctionner avec les mots contenant des quotes (lec'hienn, ...)
! WORDCHARS '-
FLAG long

View File

@@ -25,16 +25,16 @@ $SPELLDIR/br.utf-8.spl : $FILES
#
# Fetching the files from OpenOffice.org.
#
OODIR = http://extensions.services.openoffice.org/e-files/2207/3
:attr {fetch = $OODIR/%file%} dict-br_0.3.oxt
OODIR = http://extensions.services.openoffice.org/e-files/2207/6
:attr {fetch = $OODIR/%file%} dict-br_0.8.oxt
# The files don't depend on the .zip file so that we can delete it.
# Only download the zip file if the targets don't exist.
br_FR.aff br_FR.dic: {buildcheck=}
:assertpkg unzip patch
:fetch dict-br_0.3.oxt
:sys $UNZIP dict-br_0.3.oxt
:delete dict-br_0.3.oxt
:fetch dict-br_0.8.oxt
:sys $UNZIP dict-br_0.8.oxt
:delete dict-br_0.8.oxt
:copy dictionaries/br_FR.aff br_FR.aff
:copy dictionaries/br_FR.dic br_FR.dic
# The br_FR.aff file contains a BOM, remove it.
@@ -65,12 +65,12 @@ diff:
check:
:assertpkg unzip diff
:fetch dict-br_0.3.oxt
:fetch dict-br_0.8.oxt
:mkdir tmp
:cd tmp
@try:
@import stat
:sys $UNZIP ../dict-br_0.3.oxt
:sys $UNZIP ../dict-br_0.8.oxt
:sys {force} diff ../dictionaries/br_FR.aff br_FR.aff >d
@if os.stat('d')[stat.ST_SIZE] > 0:
:copy br_FR.aff ../br_FR.new.aff
@@ -80,7 +80,7 @@ check:
@finally:
:cd ..
:delete {r}{f}{q} tmp
:delete dict-br_0.3.oxt
:delete dict-br_0.8.oxt
# vim: set sts=4 sw=4 :

Binary file not shown.

Binary file not shown.

View File

@@ -7,19 +7,20 @@
:progsearch VIM vim
SPELLDIR = ..
VIMRC = ../spell.vim
FILES = hu_HU.aff hu_HU.dic
all: $SPELLDIR/hu.iso-8859-2.spl $SPELLDIR/hu.utf-8.spl \
$SPELLDIR/hu.cp1250.spl ../README_hu.txt
$SPELLDIR/hu.iso-8859-2.spl : $FILES
:sys env LANG=hu_HU.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
:sys env LANG=hu_HU.ISO8859-2 $VIM -u $VIMRC -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
$SPELLDIR/hu.utf-8.spl : $FILES
:sys env LANG=hu_HU.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
:sys env LANG=hu_HU.UTF-8 $VIM -u $VIMRC -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q
$SPELLDIR/hu.cp1250.spl : $FILES
:sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hu hu_HU" -c q
:sys $VIM -u $VIMRC -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hu hu_HU" -c q
../README_hu.txt: README_hu_HU.txt
:copy $source $target

4
runtime/spell/spell.vim Normal file
View File

@@ -0,0 +1,4 @@
" Settings for when generating spellfiles.
"
" Assume we have 2 Gbyte RAM available.
set mkspellmem=1800000,6000,1600

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Good old CFG files
" Maintainer: Igor N. Prischepoff (igor@tyumbit.ru, pri_igor@mail.ru)
" Last change: 2001 Sep 02
" Last change: 2012 Aug 11
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -18,7 +18,7 @@ syn match UncPath "\\\\\p*" contained
"Dos Drive:\Path
syn match CfgDirectory "[a-zA-Z]:\\\p*" contained
"Parameters
syn match CfgParams ".*="me=e-1 contains=CfgComment
syn match CfgParams ".\{0}="me=e-1 contains=CfgComment
"... and their values (don't want to highlight '=' sign)
syn match CfgValues "=.*"hs=s+1 contains=CfgDirectory,UncPath,CfgComment,CfgString,CfgOnOff

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77)
" Version: 0.93
" Last Change: 2012 Jan. 18
" Version: 0.94
" Last Change: 2012 June 18
" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
" Usage: For instructions, do :help fortran-syntax from Vim
" Credits:
@@ -233,7 +233,8 @@ syn match fortranConditional "\<end\s*select"
syn match fortranType "\<end\s*type"
syn match fortranType "\<in\s*out"
syn keyword fortranType procedure
syn keyword fortranType procedure
syn match fortranType "\<module\ze\s\+procedure\>"
syn keyword fortranIOR namelist
syn keyword fortranConditionalR while
syn keyword fortranIntrinsicR achar iachar transfer

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: group(5) user group file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
" Latest Revision: 2012-08-05
if exists("b:current_syntax")
finish
@@ -12,7 +12,7 @@ set cpo&vim
syn match groupBegin display '^' nextgroup=groupName
syn match groupName contained display '[a-z_][a-z0-9_-]\{0,15}'
syn match groupName contained display '[^:]\+'
\ nextgroup=groupPasswordColon
syn match groupPasswordColon contained display ':'
@@ -30,7 +30,7 @@ syn match groupGID contained display '\d*'
syn match groupUserListColon contained display ':' nextgroup=groupUserList
syn match groupUserList contained '[a-z_][a-z0-9_-]*'
syn match groupUserList contained '[^,]\+'
\ nextgroup=groupUserListSep
syn match groupUserListSep contained display ',' nextgroup=groupUserList

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2012 May 18
" Last Change: 2012 Jul 16
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -12,8 +12,8 @@ let s:cpo_save = &cpo
set cpo&vim
syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()]*[ \t]\+\*"me=e-1
syn match helpSectionDelim "^=\{3,}.*===$"
syn match helpSectionDelim "^-\{3,}.*--$"
syn match helpSectionDelim "^===.*===$"
syn match helpSectionDelim "^---.*--$"
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
if has("ebcdic")
syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar

View File

@@ -0,0 +1,27 @@
" Vim syntax file
" Language: hg (Mercurial) commit file
" Maintainer: Ken Takata <kentkt at csc dot jp>
" Last Change: 2012 Aug 2
" Filenames: hg-editor-*.txt
" License: VIM License
" URL: https://github.com/k-takata/hg-vim
if exists("b:current_syntax")
finish
endif
syn match hgcommitComment "^HG:.*$"
syn match hgcommitUser "^HG: user: \zs.*$" contained containedin=hgcommitComment
syn match hgcommitBranch "^HG: branch \zs.*$" contained containedin=hgcommitComment
syn match hgcommitAdded "^HG: \zsadded .*$" contained containedin=hgcommitComment
syn match hgcommitChanged "^HG: \zschanged .*$" contained containedin=hgcommitComment
syn match hgcommitRemoved "^HG: \zsremoved .*$" contained containedin=hgcommitComment
hi def link hgcommitComment Comment
hi def link hgcommitUser String
hi def link hgcommitBranch String
hi def link hgcommitAdded Identifier
hi def link hgcommitChanged Special
hi def link hgcommitRemoved Constant
let b:current_syntax = "hgcommit"

View File

@@ -2,7 +2,7 @@
" Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
" Last Change: 2012 Feb 07
" Last Change: 2012 Aug 12
" Options: lua_version = 4 or 5
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2)
" default 5.2
@@ -48,39 +48,41 @@ syn match luaComment "\%^#!.*"
" catch errors caused by wrong parenthesis and wrong curly brackets or
" keywords placed outside their respective blocks
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
syn region luaParen transparent start='(' end=')' contains=TOP,luaParenError
syn match luaParenError ")"
syn match luaError "}"
syn match luaBraceError "}"
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
" Function declaration
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=TOP
" else
syn keyword luaCondElse matchgroup=luaCond contained containedin=luaCondEnd else
" then ... end
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=TOP
" elseif ... then
syn region luaCondElseif contained containedin=luaCondEnd transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=TOP
" function ... end
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
" if ... then
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=TOP nextgroup=luaCondEnd skipwhite skipempty
syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty
" then ... end
syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn
" elseif ... then
syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
" else
syn keyword luaElse contained else
" do ... end
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=TOP
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
" repeat ... until
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=TOP
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
" while ... do
syn region luaWhile transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaIn nextgroup=luaBlock skipwhite skipempty
" for ... do and for ... in ... do
syn region luaFor transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd nextgroup=luaBlock skipwhite skipempty
syn keyword luaFor contained containedin=luaFor in
syn keyword luaIn contained in
" other keywords
syn keyword luaStatement return local break
@@ -131,9 +133,6 @@ if lua_version >= 5
endif
endif
" tables
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=TOP,luaStatement
syn keyword luaFunc assert collectgarbage dofile error next
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
@@ -343,15 +342,17 @@ if version >= 508 || !exists("did_lua_syntax_inits")
HiLink luaString2 String
HiLink luaNumber Number
HiLink luaOperator Operator
HiLink luaIn Operator
HiLink luaConstant Constant
HiLink luaCond Conditional
HiLink luaCondElse Conditional
HiLink luaElse Conditional
HiLink luaFunction Function
HiLink luaComment Comment
HiLink luaTodo Todo
HiLink luaTable Structure
HiLink luaError Error
HiLink luaParenError Error
HiLink luaBraceError Error
HiLink luaSpecial SpecialChar
HiLink luaFunc Identifier
HiLink luaLabel Label

View File

@@ -1,8 +1,8 @@
" ninja build file syntax.
" Language: ninja build file as described at
" http://martine.github.com/ninja/manual.html
" Version: 1.1
" Last Change: 2012/05/13
" Version: 1.2
" Last Change: 2012/06/01
" Maintainer: Nicolas Weber <nicolasweber@gmx.de>
" ninja lexer and parser are at
@@ -15,7 +15,7 @@ endif
syn case match
syn match ninjaComment /#.*/
syn match ninjaComment /#.*/ contains=@Spell
" Toplevel statements are the ones listed here and
" toplevel variable assignments (ident '=' value).

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-01-23
" Latest Revision: 2012-08-05
if exists("b:current_syntax")
finish
@@ -141,8 +141,8 @@ syn sync minlines=50 linebreaks=1
hi def link rstTodo Todo
hi def link rstComment Comment
hi def link rstSections Type
hi def link rstTransition Type
hi def link rstSections Title
hi def link rstTransition rstSections
hi def link rstLiteralBlock String
hi def link rstQuotedLiteralBlock String
hi def link rstDoctestBlock PreProc

View File

@@ -2,14 +2,15 @@
" Language: Subversion (svn) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
" Last Change: 2012-04-15
" Last Change: 2012-07-21
" Filenames: svn-commit*.tmp
" Version: 1.8
" Version: 1.9
" Contributors:
" Stefano Zacchiroli
" A. S. Budden
" Myk Taylor
" Ingo Karkat
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
@@ -19,7 +20,9 @@ elseif exists("b:current_syntax")
finish
endif
syn region svnRegion start="^--.*--$" end="\%$" contains=ALL contains=@NoSpell
syn region svnText start="\%^" end="^--.*--$"me=s-1 contains=@Spell
syn region svnRegion start="^--.*--$" end="\%$" contains=ALL
syn match svnRemoved "^D .*$" contained
syn match svnRenamed "^R[ M][ U][ +] .*$" contained
syn match svnAdded "^A[ M][ U][ +] .*$" contained

View File

@@ -76,7 +76,7 @@ syn case match
" Function Names {{{2
syn keyword vimFuncName contained abs append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert items len line localtime map match matchdelete matchstr min mode nextnonblank pathshorten prevnonblank pumvisible readfile reltimestr remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth
syn keyword vimFuncName contained acos argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave isdirectory join libcall line2byte log maparg matchadd matchend max mkdir mzeval nr2char pow printf range reltime remote_expr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
syn keyword vimFuncName contained add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist
syn keyword vimFuncName contained add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist pyeval py3eval luaeval
"--- syntax above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1

View File

@@ -3,7 +3,7 @@
# vimparse.pl - Reformats the error messages of the Perl interpreter for use
# with the quickfix mode of Vim
#
# Copyright (<EFBFBD>) 2001 by J<EFBFBD>rg Ziefle <joerg.ziefle@gmx.de>
# Copyright (c) 2001 by Joerg Ziefle <joerg.ziefle@gmx.de>
# You may use and distribute this software under the same terms as Perl itself.
#
# Usage: put one of the two configurations below in your ~/.vimrc (without the

View File

@@ -2,16 +2,16 @@
== <20> d v <20> z <20> l j <20> k a V I M - o k t a t <20> b a n - 1.5-<2D>s verzi<7A> ==
===============================================================================
A Vim egy nagyon hat<61>kony szerkeszt<7A>, amelnyek rengeteg utas<61>t<EFBFBD>sa
A Vim egy nagyon hat<61>kony szerkeszt<7A>, amelynek rengeteg utas<61>t<EFBFBD>sa
van, t<>l sok, hogy egy ilyen oktat<61>ban (tutorban), mint az itteni
mindet elmagyar<61>zzuk. Ez az oktat<61> arra t<>rekszik, hogy annyit
elmagyar<61>zzon, amennyi el<65>g, hogy k<>nnyed<65>n haszn<7A>ljuk a Vim-et, az
<20>ltal<61>nos c<>l<EFBFBD> sz<73>vegszerkeszt<7A>t.
A feladatok megold<6C>s<EFBFBD>hoz 25-30 perc sz<73>ks<6B>ges att<74>l f<>gg<67>en,
mennyit t<>lt<6C>nk a kis<EFBFBD>rletez<EFBFBD>ssel.
mennyit t<>lt<6C>nk a k<EFBFBD>s<EFBFBD>rletez<EFBFBD>ssel.
A leck<63>ben szerepl<70> utas<61>t<EFBFBD>sok m<>dos<6F>tani fogj<67>k a sz<73>vegek.
A leck<63>ben szerepl<70> utas<61>t<EFBFBD>sok m<>dos<6F>tani fogj<67>k a sz<73>veget.
K<>sz<73>tsen m<>solatot err<72>l a f<>jlr<6C>l, ha gyakorolni akar.
(Ha "vimtutor"-ral ind<6E>totta, akkor ez m<>r egy m<>solat.)
@@ -81,7 +81,7 @@ Megj: A kurzor gomboknak is m
2. A hib<69>k kijav<61>t<EFBFBD>s<EFBFBD>hoz mozgassa a kurzort am<61>g a t<>rlend<6E> karakter
f<>l<EFBFBD> nem <20>r.
3. Nyomja meg az x gombot, hogy t<>r<EFBFBD>lje a nemk<6D>v<EFBFBD>nt karaktert.
3. Nyomja meg az x gombot, hogy t<>r<EFBFBD>lje a nem k<EFBFBD>v<EFBFBD>nt karaktert.
4. Ism<73>telje a 2, 3, 4-es l<>p<EFBFBD>seket, hogy kijav<61>tsa a mondatot.
@@ -172,7 +172,7 @@ Most folytassuk a 2. leck
3. Mozgassa a kurzort a helyes sor v<>g<EFBFBD>re (az els<6C> . UT<55>N)!
4. d$ beg<65>pel<65>s<EFBFBD>velt<6C>r<EFBFBD>lje a sor v<>g<EFBFBD>t!
4. d$ beg<65>pel<65>s<EFBFBD>vel t<EFBFBD>r<EFBFBD>lje a sor v<>g<EFBFBD>t!
---> Valaki a sor v<>g<EFBFBD>t k<>tszer g<>pelte be. k<>tszer g<>pelte be.
@@ -184,30 +184,30 @@ Most folytassuk a 2. leck
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.3. lecke: UTAS<41>T<EFBFBD>SOKR<4B>L <20>S OBJEKTUMOKR<EFBFBD>L
2.3. lecke: UTAS<41>T<EFBFBD>SOKR<4B>L <20>S MOZG<EFBFBD>SOKR<EFBFBD>L
A d (delete=t<>rl<72>s) utas<61>t<EFBFBD>s form<72>ja a k<>vetkez<65>:
[sz<73>m] d objektum VAGY d [sz<73>m] objektum
[sz<73>m] d mozg<EFBFBD>s VAGY d [sz<73>m] mozg<EFBFBD>s
Ahol:
sz<73>m - h<>nyszor hajt<6A>djon v<>gre a parancs (elhagyhat<61>, alap<61>rt<72>k=1).
d - a t<>rl<72>s (delete) utas<61>t<EFBFBD>s.
objektum - amin a parancsnak teljes<65>lnie kell (al<61>bb list<73>zva).
mozg<EFBFBD>s - amin a parancsnak teljes<65>lnie kell (al<61>bb list<73>zva).
Objektumok r<>vid list<73>ja:
Mozg<EFBFBD>sok r<>vid list<73>ja:
w - a kurzort<72>l a sz<73> v<>g<EFBFBD>ig, bele<6C>rtve a sz<73>k<EFBFBD>zt.
e - a kurzort<72>l a sz<73> v<>g<EFBFBD>ig, NEM bele<6C>rtve a sz<73>k<EFBFBD>zt.
$ - a kurzort<72>l a sor v<>g<EFBFBD>ig.
MEGJ: V<EFBFBD>llalkoz<EFBFBD>bbak kedv<64><76>rt, csup<75>n az objektum beg<65>pel<65>s<EFBFBD>vel parancs n<>lk<6C>l
a kurzor oda ker<65>l, amit az objektumlista megad.
MEGJ: Csup<EFBFBD>n a mozg<7A>s beg<65>pel<65>s<EFBFBD>vel (parancs n<>lk<6C>l)
a kurzor mozg<EFBFBD>s <20>ltal megadott helyre ker<65>l.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.4. lecke: EGY KIV<49>TEL A 'PARANCSOBJEKTUM' AL<41>L
2.4. lecke: EG<EFBFBD>SZ SOROK FELDOLGOZ<4F>SA
** dd be<62>r<EFBFBD>s<EFBFBD>val t<>r<EFBFBD>lheti az eg<65>sz sort. **
@@ -217,8 +217,8 @@ MEGJ: V
1. Mozgassa a kurzort az al<61>bbi kifejez<65>sek m<>sodik sor<6F>ra!
2. dd beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lje a sort!
3. Menjen a 4. (eredetileg 5.) sorra!
4. 2dd (ugyeb<65>r sz<73>m-utas<61>t<EFBFBD>s-objektum) beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>n k<>t sort!
3. Menjen a 3. (eredetileg 4.) sorra!
4. 2dd (ugyeb<65>r sz<73>m-utas<61>t<EFBFBD>s-mozg<EFBFBD>s) beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>n k<>t sort!
1) Alv<6C> szegek a j<>ghideg homokban,
2) - kezdi a k<>lt<6C> -
@@ -238,9 +238,9 @@ MEGJ: V
1. Menj<6E>nk az al<61>bbi ---> kezdet<65> sor els<6C> hib<69>j<EFBFBD>ra!
2. x lenyom<6F>s<EFBFBD>val t<>r<EFBFBD>lje az els<6C> felesleges karaktert!
3. u megnyom<6F>s<EFBFBD>val vonja vissza az utols<6C>nak v<>grehajtott utas<61>t<EFBFBD>st!
4. M<>sodj<64>ra jav<61>tson ki minden hib<69>t a sorben az x utas<61>t<EFBFBD>ssal!
4. M<>sodj<64>ra jav<61>tson ki minden hib<69>t a sorban az x utas<61>t<EFBFBD>ssal!
5. Most nagy U -val <20>ll<6C>tsa vissza a sor eredeti <20>llapot<6F>t!
6. Nyomja meg az u gombot p<>rszor, hogy az U <20>s sz el<65>z<EFBFBD> utas<61>t<EFBFBD>sokat
6. Nyomja meg az u gombot p<>rszor, hogy az U <20>s az azt megel<EFBFBD>z<EFBFBD> utas<61>t<EFBFBD>sokat
vissza<7A>ll<6C>tsa!
7. CTRL-R (CTRL gomb lenyom<6F>sa mellett <20>ss<73>n R-t) p<>rszor csin<69>lja <20>jra a
visszavont parancsokat (redo)!
@@ -263,11 +263,11 @@ MEGJ: V
4. Egy utas<61>t<EFBFBD>s alakja norm<72>l m<>dban:
[sz<73>m] utas<61>t<EFBFBD>s objektum VAGY utas<61>t<EFBFBD>s [sz<73>m] objektum
[sz<73>m] utas<61>t<EFBFBD>s mozg<EFBFBD>s VAGY utas<61>t<EFBFBD>s [sz<73>m] mozg<EFBFBD>s
ahol:
sz<73>m - h<>nyszor ism<73>telj<6C>k a parancsot
utas<61>t<EFBFBD>s - mit tegy<67>nk, pl. d a t<>rl<72>skor
objektum - mire hasson az utas<61>t<EFBFBD>s, p<>ld<6C>ul w (sz<73>=word),
mozg<EFBFBD>s - mire hasson az utas<61>t<EFBFBD>s, p<>ld<6C>ul w (sz<73>=word),
$ (a sor v<>g<EFBFBD>ig), stb.
5. Az el<65>z<EFBFBD> tett visszavon<6F>sa (undo): u (kis u)
@@ -278,11 +278,11 @@ MEGJ: V
3.1. lecke: A BEILLESZT<5A>S (PUT) PARANCS
** p le<6C>t<EFBFBD>s<EFBFBD>vel az utols<6C>nak t<>r<EFBFBD>ltet a kurzor ut<75>n illeszhetj<74>k. **
** p le<6C>t<EFBFBD>s<EFBFBD>vel az utols<6C>nak t<>r<EFBFBD>ltet a kurzor ut<75>n illeszthetj<EFBFBD>k. **
1. Mozgassuk a kurzort az al<61>bbi sorok els<6C> sor<6F>ra.
2. dd le<6C>t<EFBFBD>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>k a sort <20>s elt<6C>rol<6F>dik a Vim puffer<65>ben.
2. dd le<6C>t<EFBFBD>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>k a sort <20>s elt<6C>rol<6F>dik a Vim puffer<65>ben.
3. Mozgassuk a kurzort azel<65>tt a sor EL<45>TTI sorba, ahov<6F> mozgatni
szeretn<74>nk a t<>r<EFBFBD>lt sort.
@@ -350,13 +350,13 @@ Vegy
3.4. lecke: T<>BBF<42>LE V<>LTOZTAT<41>S c-VEL
** A c utas<61>t<EFBFBD>s haszn<7A>lhat<61> ugyanazokkal az objektumokkal mint a t<>rl<72>s **
** A c utas<61>t<EFBFBD>s haszn<7A>lhat<61> ugyanazokkal az mozg<EFBFBD>sokkal mint a t<>rl<72>s **
1. A change utas<61>t<EFBFBD>s a t<>rl<72>ssel azonosan viselkedik. A forma:
[sz<73>m] c objektum OR c [sz<73>m] objektum
[sz<73>m] c mozg<EFBFBD>s OR c [sz<73>m] mozg<EFBFBD>s
2. Az objektumok is azonosak, pl. w (sz<73>), $ (sorv<72>g), stb.
2. A mozg<7A>sok is azonosak, pl. w (sz<73>), $ (sorv<72>g), stb.
3. Mozgassuk a kurzort az els<6C> ---> kezdet<65> sorra!
@@ -374,18 +374,18 @@ Vegy
1. A m<>r t<>r<EFBFBD>lt sort beilleszt<7A>s<EFBFBD>hez nyomjunk p-t. Ez a t<>r<EFBFBD>lt sz<73>veget
a kurzor UT<55>N helyezi (ha sor ker<65>lt t<>rl<72>sre, a kurzor allatti sorba).
a kurzor UT<55>N helyezi (ha sor ker<65>lt t<>rl<72>sre, a kurzor alatti sorba).
2. A kurzor alatti karakter <20>t<EFBFBD>r<EFBFBD>s<EFBFBD>hoz az r-et <20>s azt a karaktert
nyomjuk, amellyel az eredetit fel<65>l szeretn<74>nk <20>rni.
3. A v<>ltoztat<61>s (c) utas<61>t<EFBFBD>s a karaktert<72>l az objektum v<>g<EFBFBD>ig
v<>ltoztatja meg az objektumot. P<>ld<6C>ul a cw a kurzort<72>l a sz<73> v<>g<EFBFBD>ig,
3. A v<>ltoztat<61>s (c) utas<61>t<EFBFBD>s a karaktert<72>l az mozg<EFBFBD>s v<>g<EFBFBD>ig
v<>ltoztatja meg az mozg<EFBFBD>st. P<>ld<6C>ul a cw a kurzort<72>l a sz<73> v<>g<EFBFBD>ig,
a c$ a sor v<>g<EFBFBD>ig.
4. A v<>ltoztat<61>s form<72>tuma:
[sz<73>m] c objektum VAGY c [sz<73>m] objektum
[sz<73>m] c mozg<EFBFBD>s VAGY c [sz<73>m] mozg<EFBFBD>s
Ugorjunk a k<>vetkez<65> leck<63>re!
@@ -428,7 +428,7 @@ Ugorjunk a k
3. A kifejez<65>s <20>jabb keres<65>s<EFBFBD>hez <20>ss<73>k le egyszer<65>en: n .
A kifejez<65>s ellenkez<65> ir<69>nyban t<>rt<72>n<EFBFBD> keres<65>s<EFBFBD>hez ezt <20>ss<73>k be: Shift-N .
4. Ha visszafel<65> szeretne keresni, akkor ? kell a ! helyett.
4. Ha visszafel<65> szeretne keresni, akkor ? kell a / helyett.
---> "hiibaa" nem a helyes m<>dja a hiba le<6C>r<EFBFBD>s<EFBFBD>nak; a hiibaa egy hiba.
@@ -462,7 +462,7 @@ Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a
4.4. lecke: A HIB<49>K KIJAV<41>T<EFBFBD>S<EFBFBD>NAK EGY M<>DJA
** :s/<EFBFBD>j/r<EFBFBD>gi/g beg<65>pel<65>s<EFBFBD>vel az '<27>j'-ra cser<65>lj<6C>k a 'r<>gi'-t. **
** :s/r<>gi/<EFBFBD>j/g beg<65>pel<65>s<EFBFBD>vel az '<27>j'-ra cser<65>lj<6C>k a 'r<>gi'-t. **
1. Menj<6E>nk a ---> kezdet<65> sorra!
@@ -579,7 +579,7 @@ Megj: Ha
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4. lecke: RETRIEVING AND MERGING FILES
5.4. lecke: F<EFBFBD>JLOK VISSZA<5A>LL<4C>T<EFBFBD>SA <20>S <20>SSZEF<45>Z<EFBFBD>SE
** Egy f<>jl tartalm<6C>nak beilleszt<7A>s<EFBFBD>hez <20>rja :r F<>JLN<4C>V **
@@ -592,11 +592,11 @@ MEGJ: A 3. l
keresse meg ism<73>t ezt a leck<63>t.
3. Most sz<73>rja be a TESZT nev<65> f<>jlt a :r TESZT paranccsal, ahol
TESZT az <20>n f<>jlj<6C>nak a neve.
TESZT az <20>n f<>jlj<6C>nak a neve.
MEGJ: A f<>jl, amit beillesztett a kurzora alatt helyezkedik el.
4. Hogy ellen<65>rizz<7A>k, hogy a f<>jlt t<>nyleg beillsztett<74>k, menjen
4. Hogy ellen<65>rizz<7A>k, hogy a f<>jlt t<>nyleg beillesztett<EFBFBD>k, menjen
vissza, <20>s n<>zze meg, hogy k<>tszer szerepel az 5.3. lecke! Az eredeti
mellett a f<>jlb<6C>l bem<65>solt is ott van.
@@ -616,11 +616,11 @@ MEGJ: A f
2. :w F<>JLN<4C>V ki<6B>rja a jelenlegi Vim-f<>jlt a lemezre F<>JN<4A>V n<>ven.
3. :#,#w F<>JLN<4C>V ki<6B>rja a k<>t sorsz<73>m (#) k<>z<EFBFBD>tti sorokat F<>JLN<4C>V-be
M<>sik lehet<65>s<EFBFBD>g, hogy a kezd<7A>sorn<72>l Ctrl-v-t nyom lemegy az utols<6C>
M<>sik lehet<65>s<EFBFBD>g, hogy a kezd<7A>sorn<72>l Shift-v-t nyom lemegy az utols<6C>
sorra, majd ezt <20>ti be :w F<>JLN<4C>V
4. :r F<>JLN<4C>V beolvassa a F<>JLN<4C>V f<>jlt <20>s behelyezi a jelenlegi f<>jlba
a kurzorpozici<EFBFBD> ut<75>ni sorba.
a kurzorpoz<EFBFBD>ci<EFBFBD> ut<75>ni sorba.
@@ -629,7 +629,7 @@ MEGJ: A f
6.1. lecke: A MEGNYIT<49>S (OPEN) PARANCS
** o be<62>r<EFBFBD>s<EFBFBD>val nyithat egy <20>j sort a kurzor alatt <20>s v<EFBFBD>lthat besz<EFBFBD>r<EFBFBD> m<>dba **
** o be<62>r<EFBFBD>s<EFBFBD>val nyit egy <20>j sort a kurzor alatt <20>s besz<73>r<EFBFBD> m<>dba v<EFBFBD>lt **
1. Mozgassuk a kurzort a ---> kezdet<65> sorra.
@@ -641,7 +641,7 @@ MEGJ: A f
---> Az o lenyom<6F>sa ut<75>n a kurzor a k<>vetkez<65> sor elej<65>n <20>ll besz<73>r<EFBFBD> m<>dban.
4. A kurzor FELETTI for megnyit<69>s<EFBFBD>hoz egyzser<EFBFBD>en a nagy O bet<65>t <20>rjon
4. A kurzor FELETTI sor megnyit<69>s<EFBFBD>hoz egyszer<EFBFBD>en nagy O bet<65>t <20>rjon
kicsi helyett. Pr<50>b<EFBFBD>lja ki a k<>vetkez<65> soron!
Nyisson egy <20>j sort efelett Shift-O megnyom<6F>s<EFBFBD>val, mialatt a kurzor
ezen a soron <20>ll.
@@ -654,16 +654,16 @@ ezen a soron
6.2. lecke: AZ APPEND PARANCS
** a lenyom<6F>s<EFBFBD>val a kuror UT<55>N sz<73>rhatunk sz<73>veget. **
** a lenyom<6F>s<EFBFBD>val a kurzor UT<55>N sz<73>rhatunk sz<73>veget. **
1. Mozgassuk a kurzort a k<>vetkez<65> ---> kezdet<65> sor v<>g<EFBFBD>re <20>gy,
hogy norm<72>l m<>dban $ <20>r be.
hogy norm<EFBFBD>l m<EFBFBD>dban $-t <20>r be.
2. a (kicsi) le<6C>t<EFBFBD>s<EFBFBD>vel sz<73>veget sz<73>rhat be AM<41>G<EFBFBD> a karakter m<>g<EFBFBD>,
2. Kis "a" le<6C>t<EFBFBD>s<EFBFBD>vel sz<73>veget sz<73>rhat be AM<41>G<EFBFBD> a karakter m<>g<EFBFBD>,
amelyen a kurzor <20>ll.
(A nagy A az eg<65>sz sor v<>g<EFBFBD>re <20>rja a sz<73>veget.)
(A nagy "A" az eg<65>sz sor v<>g<EFBFBD>re <20>rja a sz<73>veget.)
Megj: A Vimben a sor legv<67>g<EFBFBD>re is lehet <20>llni, azonba ez el<65>dj<64>ben
Megj: A Vimben a sor legv<67>g<EFBFBD>re is lehet <20>llni, azonban ez el<65>dj<64>ben
a Vi-ban nem lehets<74>ges, ez<65>rt abban az a n<>lk<6C>l el<65>g k<>r<EFBFBD>lm<6C>nyes
a sor v<>g<EFBFBD>hez sz<73>veget <20>rni.
@@ -687,13 +687,13 @@ Megj: A Vimben a sor legv
2. Helyezze a kurzort az els<6C> sz<73> elej<65>re amely elt<6C>r a m<>sodik
---> kezdet<65> sor tartalm<6C>t<EFBFBD>l (a 'az utols<6C>val' r<>szt<7A>l).
3. Nyomjon R karaktert <20>s <20>rja <20>t a sz<73>veg marad<61>k<EFBFBD>t az els<6C> sorban
3. Nyomjon R karaktert <20>s <20>rja <20>t a sz<73>veg marad<61>k<EFBFBD>t az els<6C> sorban
<20>gy, hogy a k<>t sor egyez<65> legyen.
---> Az els<6C> sort tegye azonoss<73> az utols<6C>val: haszn<7A>lja a gombokat.
---> Az els<6C> sort tegye azonoss<73> a m<>sodikkal: <20>rjon R-t <20>s az <20>j sz<73>veget.
4. Jegyezz<7A>k meg, ha <ESC>-et nyomok, akkor a v<>ltozatlanuk hagyott
4. Jegyezz<7A>k meg, ha <ESC>-et nyomok, akkor a v<>ltozatlanul hagyott
sz<73>vegek v<>ltozatlanok maradnak.
@@ -826,5 +826,5 @@ Megj: A Vimben a sor legv
A Vimhez idom<6F>totta Bram Moolenaar.
Magyar<61>totta: Horv<72>th <20>rp<72>d <horvath.arpad@roik.bmf.hu>, 2006-2008
Magyar<61>totta: Horv<72>th <20>rp<72>d <horvath.arpad@arek.uni-opbuda.hu>, 2006-2012

View File

@@ -2,16 +2,16 @@
== <20> d v <20> z <20> l j <20> k a V I M - o k t a t <20> b a n - 1.5-<2D>s verzi<7A> ==
===============================================================================
A Vim egy nagyon hat<61>kony szerkeszt<7A>, amelnyek rengeteg utas<61>t<EFBFBD>sa
A Vim egy nagyon hat<61>kony szerkeszt<7A>, amelynek rengeteg utas<61>t<EFBFBD>sa
van, t<>l sok, hogy egy ilyen oktat<61>ban (tutorban), mint az itteni
mindet elmagyar<61>zzuk. Ez az oktat<61> arra t<>rekszik, hogy annyit
elmagyar<61>zzon, amennyi el<65>g, hogy k<>nnyed<65>n haszn<7A>ljuk a Vim-et, az
<20>ltal<61>nos c<>l<EFBFBD> sz<73>vegszerkeszt<7A>t.
A feladatok megold<6C>s<EFBFBD>hoz 25-30 perc sz<73>ks<6B>ges att<74>l f<>gg<67>en,
mennyit t<>lt<6C>nk a kis<EFBFBD>rletez<EFBFBD>ssel.
mennyit t<>lt<6C>nk a k<EFBFBD>s<EFBFBD>rletez<EFBFBD>ssel.
A leck<63>ben szerepl<70> utas<61>t<EFBFBD>sok m<>dos<6F>tani fogj<67>k a sz<73>vegek.
A leck<63>ben szerepl<70> utas<61>t<EFBFBD>sok m<>dos<6F>tani fogj<67>k a sz<73>veget.
K<>sz<73>tsen m<>solatot err<72>l a f<>jlr<6C>l, ha gyakorolni akar.
(Ha "vimtutor"-ral ind<6E>totta, akkor ez m<>r egy m<>solat.)
@@ -81,7 +81,7 @@ Megj: A kurzor gomboknak is m
2. A hib<69>k kijav<61>t<EFBFBD>s<EFBFBD>hoz mozgassa a kurzort am<61>g a t<>rlend<6E> karakter
f<>l<EFBFBD> nem <20>r.
3. Nyomja meg az x gombot, hogy t<>r<EFBFBD>lje a nemk<6D>v<EFBFBD>nt karaktert.
3. Nyomja meg az x gombot, hogy t<>r<EFBFBD>lje a nem k<EFBFBD>v<EFBFBD>nt karaktert.
4. Ism<73>telje a 2, 3, 4-es l<>p<EFBFBD>seket, hogy kijav<61>tsa a mondatot.
@@ -172,7 +172,7 @@ Most folytassuk a 2. leck
3. Mozgassa a kurzort a helyes sor v<>g<EFBFBD>re (az els<6C> . UT<55>N)!
4. d$ beg<65>pel<65>s<EFBFBD>velt<6C>r<EFBFBD>lje a sor v<>g<EFBFBD>t!
4. d$ beg<65>pel<65>s<EFBFBD>vel t<EFBFBD>r<EFBFBD>lje a sor v<>g<EFBFBD>t!
---> Valaki a sor v<>g<EFBFBD>t k<>tszer g<>pelte be. k<>tszer g<>pelte be.
@@ -184,30 +184,30 @@ Most folytassuk a 2. leck
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.3. lecke: UTAS<41>T<EFBFBD>SOKR<4B>L <20>S OBJEKTUMOKR<EFBFBD>L
2.3. lecke: UTAS<41>T<EFBFBD>SOKR<4B>L <20>S MOZG<EFBFBD>SOKR<EFBFBD>L
A d (delete=t<>rl<72>s) utas<61>t<EFBFBD>s form<72>ja a k<>vetkez<65>:
[sz<73>m] d objektum VAGY d [sz<73>m] objektum
[sz<73>m] d mozg<EFBFBD>s VAGY d [sz<73>m] mozg<EFBFBD>s
Ahol:
sz<73>m - h<>nyszor hajt<6A>djon v<>gre a parancs (elhagyhat<61>, alap<61>rt<72>k=1).
d - a t<>rl<72>s (delete) utas<61>t<EFBFBD>s.
objektum - amin a parancsnak teljes<65>lnie kell (al<61>bb list<73>zva).
mozg<EFBFBD>s - amin a parancsnak teljes<65>lnie kell (al<61>bb list<73>zva).
Objektumok r<>vid list<73>ja:
Mozg<EFBFBD>sok r<>vid list<73>ja:
w - a kurzort<72>l a sz<73> v<>g<EFBFBD>ig, bele<6C>rtve a sz<73>k<EFBFBD>zt.
e - a kurzort<72>l a sz<73> v<>g<EFBFBD>ig, NEM bele<6C>rtve a sz<73>k<EFBFBD>zt.
$ - a kurzort<72>l a sor v<>g<EFBFBD>ig.
MEGJ: V<EFBFBD>llalkoz<EFBFBD>bbak kedv<64><76>rt, csup<75>n az objektum beg<65>pel<65>s<EFBFBD>vel parancs n<>lk<6C>l
a kurzor oda ker<65>l, amit az objektumlista megad.
MEGJ: Csup<EFBFBD>n a mozg<7A>s beg<65>pel<65>s<EFBFBD>vel (parancs n<>lk<6C>l)
a kurzor mozg<EFBFBD>s <20>ltal megadott helyre ker<65>l.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.4. lecke: EGY KIV<49>TEL A 'PARANCSOBJEKTUM' AL<41>L
2.4. lecke: EG<EFBFBD>SZ SOROK FELDOLGOZ<4F>SA
** dd be<62>r<EFBFBD>s<EFBFBD>val t<>r<EFBFBD>lheti az eg<65>sz sort. **
@@ -217,8 +217,8 @@ MEGJ: V
1. Mozgassa a kurzort az al<61>bbi kifejez<65>sek m<>sodik sor<6F>ra!
2. dd beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lje a sort!
3. Menjen a 4. (eredetileg 5.) sorra!
4. 2dd (ugyeb<65>r sz<73>m-utas<61>t<EFBFBD>s-objektum) beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>n k<>t sort!
3. Menjen a 3. (eredetileg 4.) sorra!
4. 2dd (ugyeb<65>r sz<73>m-utas<61>t<EFBFBD>s-mozg<EFBFBD>s) beg<65>pel<65>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>n k<>t sort!
1) Alv<6C> szegek a j<>ghideg homokban,
2) - kezdi a k<>lt<6C> -
@@ -238,9 +238,9 @@ MEGJ: V
1. Menj<6E>nk az al<61>bbi ---> kezdet<65> sor els<6C> hib<69>j<EFBFBD>ra!
2. x lenyom<6F>s<EFBFBD>val t<>r<EFBFBD>lje az els<6C> felesleges karaktert!
3. u megnyom<6F>s<EFBFBD>val vonja vissza az utols<6C>nak v<>grehajtott utas<61>t<EFBFBD>st!
4. M<>sodj<64>ra jav<61>tson ki minden hib<69>t a sorben az x utas<61>t<EFBFBD>ssal!
4. M<>sodj<64>ra jav<61>tson ki minden hib<69>t a sorban az x utas<61>t<EFBFBD>ssal!
5. Most nagy U -val <20>ll<6C>tsa vissza a sor eredeti <20>llapot<6F>t!
6. Nyomja meg az u gombot p<>rszor, hogy az U <20>s sz el<65>z<EFBFBD> utas<61>t<EFBFBD>sokat
6. Nyomja meg az u gombot p<>rszor, hogy az U <20>s az azt megel<EFBFBD>z<EFBFBD> utas<61>t<EFBFBD>sokat
vissza<7A>ll<6C>tsa!
7. CTRL-R (CTRL gomb lenyom<6F>sa mellett <20>ss<73>n R-t) p<>rszor csin<69>lja <20>jra a
visszavont parancsokat (redo)!
@@ -263,11 +263,11 @@ MEGJ: V
4. Egy utas<61>t<EFBFBD>s alakja norm<72>l m<>dban:
[sz<73>m] utas<61>t<EFBFBD>s objektum VAGY utas<61>t<EFBFBD>s [sz<73>m] objektum
[sz<73>m] utas<61>t<EFBFBD>s mozg<EFBFBD>s VAGY utas<61>t<EFBFBD>s [sz<73>m] mozg<EFBFBD>s
ahol:
sz<73>m - h<>nyszor ism<73>telj<6C>k a parancsot
utas<61>t<EFBFBD>s - mit tegy<67>nk, pl. d a t<>rl<72>skor
objektum - mire hasson az utas<61>t<EFBFBD>s, p<>ld<6C>ul w (sz<73>=word),
mozg<EFBFBD>s - mire hasson az utas<61>t<EFBFBD>s, p<>ld<6C>ul w (sz<73>=word),
$ (a sor v<>g<EFBFBD>ig), stb.
5. Az el<65>z<EFBFBD> tett visszavon<6F>sa (undo): u (kis u)
@@ -278,11 +278,11 @@ MEGJ: V
3.1. lecke: A BEILLESZT<5A>S (PUT) PARANCS
** p le<6C>t<EFBFBD>s<EFBFBD>vel az utols<6C>nak t<>r<EFBFBD>ltet a kurzor ut<75>n illeszhetj<74>k. **
** p le<6C>t<EFBFBD>s<EFBFBD>vel az utols<6C>nak t<>r<EFBFBD>ltet a kurzor ut<75>n illeszthetj<EFBFBD>k. **
1. Mozgassuk a kurzort az al<61>bbi sorok els<6C> sor<6F>ra.
2. dd le<6C>t<EFBFBD>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>k a sort <20>s elt<6C>rol<6F>dik a Vim puffer<65>ben.
2. dd le<6C>t<EFBFBD>s<EFBFBD>vel t<>r<EFBFBD>lj<6C>k a sort <20>s elt<6C>rol<6F>dik a Vim puffer<65>ben.
3. Mozgassuk a kurzort azel<65>tt a sor EL<45>TTI sorba, ahov<6F> mozgatni
szeretn<74>nk a t<>r<EFBFBD>lt sort.
@@ -350,13 +350,13 @@ Vegy
3.4. lecke: T<>BBF<42>LE V<>LTOZTAT<41>S c-VEL
** A c utas<61>t<EFBFBD>s haszn<7A>lhat<61> ugyanazokkal az objektumokkal mint a t<>rl<72>s **
** A c utas<61>t<EFBFBD>s haszn<7A>lhat<61> ugyanazokkal az mozg<EFBFBD>sokkal mint a t<>rl<72>s **
1. A change utas<61>t<EFBFBD>s a t<>rl<72>ssel azonosan viselkedik. A forma:
[sz<73>m] c objektum OR c [sz<73>m] objektum
[sz<73>m] c mozg<EFBFBD>s OR c [sz<73>m] mozg<EFBFBD>s
2. Az objektumok is azonosak, pl. w (sz<73>), $ (sorv<72>g), stb.
2. A mozg<7A>sok is azonosak, pl. w (sz<73>), $ (sorv<72>g), stb.
3. Mozgassuk a kurzort az els<6C> ---> kezdet<65> sorra!
@@ -374,18 +374,18 @@ Vegy
1. A m<>r t<>r<EFBFBD>lt sort beilleszt<7A>s<EFBFBD>hez nyomjunk p-t. Ez a t<>r<EFBFBD>lt sz<73>veget
a kurzor UT<55>N helyezi (ha sor ker<65>lt t<>rl<72>sre, a kurzor allatti sorba).
a kurzor UT<55>N helyezi (ha sor ker<65>lt t<>rl<72>sre, a kurzor alatti sorba).
2. A kurzor alatti karakter <20>t<EFBFBD>r<EFBFBD>s<EFBFBD>hoz az r-et <20>s azt a karaktert
nyomjuk, amellyel az eredetit fel<65>l szeretn<74>nk <20>rni.
3. A v<>ltoztat<61>s (c) utas<61>t<EFBFBD>s a karaktert<72>l az objektum v<>g<EFBFBD>ig
v<>ltoztatja meg az objektumot. P<>ld<6C>ul a cw a kurzort<72>l a sz<73> v<>g<EFBFBD>ig,
3. A v<>ltoztat<61>s (c) utas<61>t<EFBFBD>s a karaktert<72>l az mozg<EFBFBD>s v<>g<EFBFBD>ig
v<>ltoztatja meg az mozg<EFBFBD>st. P<>ld<6C>ul a cw a kurzort<72>l a sz<73> v<>g<EFBFBD>ig,
a c$ a sor v<>g<EFBFBD>ig.
4. A v<>ltoztat<61>s form<72>tuma:
[sz<73>m] c objektum VAGY c [sz<73>m] objektum
[sz<73>m] c mozg<EFBFBD>s VAGY c [sz<73>m] mozg<EFBFBD>s
Ugorjunk a k<>vetkez<65> leck<63>re!
@@ -428,7 +428,7 @@ Ugorjunk a k
3. A kifejez<65>s <20>jabb keres<65>s<EFBFBD>hez <20>ss<73>k le egyszer<65>en: n .
A kifejez<65>s ellenkez<65> ir<69>nyban t<>rt<72>n<EFBFBD> keres<65>s<EFBFBD>hez ezt <20>ss<73>k be: Shift-N .
4. Ha visszafel<65> szeretne keresni, akkor ? kell a ! helyett.
4. Ha visszafel<65> szeretne keresni, akkor ? kell a / helyett.
---> "hiibaa" nem a helyes m<>dja a hiba le<6C>r<EFBFBD>s<EFBFBD>nak; a hiibaa egy hiba.
@@ -462,7 +462,7 @@ Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a
4.4. lecke: A HIB<49>K KIJAV<41>T<EFBFBD>S<EFBFBD>NAK EGY M<>DJA
** :s/<EFBFBD>j/r<EFBFBD>gi/g beg<65>pel<65>s<EFBFBD>vel az '<27>j'-ra cser<65>lj<6C>k a 'r<>gi'-t. **
** :s/r<>gi/<EFBFBD>j/g beg<65>pel<65>s<EFBFBD>vel az '<27>j'-ra cser<65>lj<6C>k a 'r<>gi'-t. **
1. Menj<6E>nk a ---> kezdet<65> sorra!
@@ -579,7 +579,7 @@ Megj: Ha
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4. lecke: RETRIEVING AND MERGING FILES
5.4. lecke: F<EFBFBD>JLOK VISSZA<5A>LL<4C>T<EFBFBD>SA <20>S <20>SSZEF<45>Z<EFBFBD>SE
** Egy f<>jl tartalm<6C>nak beilleszt<7A>s<EFBFBD>hez <20>rja :r F<>JLN<4C>V **
@@ -592,11 +592,11 @@ MEGJ: A 3. l
keresse meg ism<73>t ezt a leck<63>t.
3. Most sz<73>rja be a TESZT nev<65> f<>jlt a :r TESZT paranccsal, ahol
TESZT az <20>n f<>jlj<6C>nak a neve.
TESZT az <20>n f<>jlj<6C>nak a neve.
MEGJ: A f<>jl, amit beillesztett a kurzora alatt helyezkedik el.
4. Hogy ellen<65>rizz<7A>k, hogy a f<>jlt t<>nyleg beillsztett<74>k, menjen
4. Hogy ellen<65>rizz<7A>k, hogy a f<>jlt t<>nyleg beillesztett<EFBFBD>k, menjen
vissza, <20>s n<>zze meg, hogy k<>tszer szerepel az 5.3. lecke! Az eredeti
mellett a f<>jlb<6C>l bem<65>solt is ott van.
@@ -616,11 +616,11 @@ MEGJ: A f
2. :w F<>JLN<4C>V ki<6B>rja a jelenlegi Vim-f<>jlt a lemezre F<>JN<4A>V n<>ven.
3. :#,#w F<>JLN<4C>V ki<6B>rja a k<>t sorsz<73>m (#) k<>z<EFBFBD>tti sorokat F<>JLN<4C>V-be
M<>sik lehet<65>s<EFBFBD>g, hogy a kezd<7A>sorn<72>l Ctrl-v-t nyom lemegy az utols<6C>
M<>sik lehet<65>s<EFBFBD>g, hogy a kezd<7A>sorn<72>l Shift-v-t nyom lemegy az utols<6C>
sorra, majd ezt <20>ti be :w F<>JLN<4C>V
4. :r F<>JLN<4C>V beolvassa a F<>JLN<4C>V f<>jlt <20>s behelyezi a jelenlegi f<>jlba
a kurzorpozici<EFBFBD> ut<75>ni sorba.
a kurzorpoz<EFBFBD>ci<EFBFBD> ut<75>ni sorba.
@@ -629,7 +629,7 @@ MEGJ: A f
6.1. lecke: A MEGNYIT<49>S (OPEN) PARANCS
** o be<62>r<EFBFBD>s<EFBFBD>val nyithat egy <20>j sort a kurzor alatt <20>s v<EFBFBD>lthat besz<EFBFBD>r<EFBFBD> m<>dba **
** o be<62>r<EFBFBD>s<EFBFBD>val nyit egy <20>j sort a kurzor alatt <20>s besz<73>r<EFBFBD> m<>dba v<EFBFBD>lt **
1. Mozgassuk a kurzort a ---> kezdet<65> sorra.
@@ -641,7 +641,7 @@ MEGJ: A f
---> Az o lenyom<6F>sa ut<75>n a kurzor a k<>vetkez<65> sor elej<65>n <20>ll besz<73>r<EFBFBD> m<>dban.
4. A kurzor FELETTI for megnyit<69>s<EFBFBD>hoz egyzser<EFBFBD>en a nagy O bet<65>t <20>rjon
4. A kurzor FELETTI sor megnyit<69>s<EFBFBD>hoz egyszer<EFBFBD>en nagy O bet<65>t <20>rjon
kicsi helyett. Pr<50>b<EFBFBD>lja ki a k<>vetkez<65> soron!
Nyisson egy <20>j sort efelett Shift-O megnyom<6F>s<EFBFBD>val, mialatt a kurzor
ezen a soron <20>ll.
@@ -654,16 +654,16 @@ ezen a soron
6.2. lecke: AZ APPEND PARANCS
** a lenyom<6F>s<EFBFBD>val a kuror UT<55>N sz<73>rhatunk sz<73>veget. **
** a lenyom<6F>s<EFBFBD>val a kurzor UT<55>N sz<73>rhatunk sz<73>veget. **
1. Mozgassuk a kurzort a k<>vetkez<65> ---> kezdet<65> sor v<>g<EFBFBD>re <20>gy,
hogy norm<72>l m<>dban $ <20>r be.
hogy norm<EFBFBD>l m<EFBFBD>dban $-t <20>r be.
2. a (kicsi) le<6C>t<EFBFBD>s<EFBFBD>vel sz<73>veget sz<73>rhat be AM<41>G<EFBFBD> a karakter m<>g<EFBFBD>,
2. Kis "a" le<6C>t<EFBFBD>s<EFBFBD>vel sz<73>veget sz<73>rhat be AM<41>G<EFBFBD> a karakter m<>g<EFBFBD>,
amelyen a kurzor <20>ll.
(A nagy A az eg<65>sz sor v<>g<EFBFBD>re <20>rja a sz<73>veget.)
(A nagy "A" az eg<65>sz sor v<>g<EFBFBD>re <20>rja a sz<73>veget.)
Megj: A Vimben a sor legv<67>g<EFBFBD>re is lehet <20>llni, azonba ez el<65>dj<64>ben
Megj: A Vimben a sor legv<67>g<EFBFBD>re is lehet <20>llni, azonban ez el<65>dj<64>ben
a Vi-ban nem lehets<74>ges, ez<65>rt abban az a n<>lk<6C>l el<65>g k<>r<EFBFBD>lm<6C>nyes
a sor v<>g<EFBFBD>hez sz<73>veget <20>rni.
@@ -687,13 +687,13 @@ Megj: A Vimben a sor legv
2. Helyezze a kurzort az els<6C> sz<73> elej<65>re amely elt<6C>r a m<>sodik
---> kezdet<65> sor tartalm<6C>t<EFBFBD>l (a 'az utols<6C>val' r<>szt<7A>l).
3. Nyomjon R karaktert <20>s <20>rja <20>t a sz<73>veg marad<61>k<EFBFBD>t az els<6C> sorban
3. Nyomjon R karaktert <20>s <20>rja <20>t a sz<73>veg marad<61>k<EFBFBD>t az els<6C> sorban
<20>gy, hogy a k<>t sor egyez<65> legyen.
---> Az els<6C> sort tegye azonoss<73> az utols<6C>val: haszn<7A>lja a gombokat.
---> Az els<6C> sort tegye azonoss<73> a m<>sodikkal: <20>rjon R-t <20>s az <20>j sz<73>veget.
4. Jegyezz<7A>k meg, ha <ESC>-et nyomok, akkor a v<>ltozatlanuk hagyott
4. Jegyezz<7A>k meg, ha <ESC>-et nyomok, akkor a v<>ltozatlanul hagyott
sz<73>vegek v<>ltozatlanok maradnak.
@@ -826,5 +826,5 @@ Megj: A Vimben a sor legv
A Vimhez idom<6F>totta Bram Moolenaar.
Magyar<61>totta: Horv<72>th <20>rp<72>d <horvath.arpad@roik.bmf.hu>, 2006-2008
Magyar<61>totta: Horv<72>th <20>rp<72>d <horvath.arpad@arek.uni-opbuda.hu>, 2006-2012

View File

@@ -2,16 +2,16 @@
== Ü d v ö z ö l j ü k a V I M - o k t a t ó b a n - 1.5-ös verzió ==
===============================================================================
A Vim egy nagyon hatékony szerkesztő, amelnyek rengeteg utasítása
A Vim egy nagyon hatékony szerkesztő, amelynek rengeteg utasítása
van, túl sok, hogy egy ilyen oktatóban (tutorban), mint az itteni
mindet elmagyarázzuk. Ez az oktató arra törekszik, hogy annyit
elmagyarázzon, amennyi elég, hogy könnyedén használjuk a Vim-et, az
általános célú szövegszerkesztőt.
A feladatok megoldásához 25-30 perc szükséges attól függően,
mennyit töltünk a kisérletezéssel.
mennyit töltünk a kísérletezéssel.
A leckében szereplő utasítások módosítani fogják a szövegek.
A leckében szereplő utasítások módosítani fogják a szöveget.
Készítsen másolatot erről a fájlról, ha gyakorolni akar.
(Ha "vimtutor"-ral indította, akkor ez már egy másolat.)
@@ -81,7 +81,7 @@ Megj: A kurzor gomboknak is működniük kell, de a hjkl használatával
2. A hibák kijavításához mozgassa a kurzort amíg a törlendő karakter
fölé nem ér.
3. Nyomja meg az x gombot, hogy törölje a nemkívánt karaktert.
3. Nyomja meg az x gombot, hogy törölje a nem kívánt karaktert.
4. Ismételje a 2, 3, 4-es lépéseket, hogy kijavítsa a mondatot.
@@ -172,7 +172,7 @@ Most folytassuk a 2. leckével!
3. Mozgassa a kurzort a helyes sor végére (az első . UTÁN)!
4. d$ begépeléséveltörölje a sor végét!
4. d$ begépelésével törölje a sor végét!
---> Valaki a sor végét kétszer gépelte be. kétszer gépelte be.
@@ -184,30 +184,30 @@ Most folytassuk a 2. leckével!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.3. lecke: UTASÍTÁSOKRÓL ÉS OBJEKTUMOKRÓL
2.3. lecke: UTASÍTÁSOKRÓL ÉS MOZGÁSOKRÓL
A d (delete=törlés) utasítás formája a következő:
[szám] d objektum VAGY d [szám] objektum
[szám] d mozgás VAGY d [szám] mozgás
Ahol:
szám - hányszor hajtódjon végre a parancs (elhagyható, alapérték=1).
d - a törlés (delete) utasítás.
objektum - amin a parancsnak teljesülnie kell (alább listázva).
mozgás - amin a parancsnak teljesülnie kell (alább listázva).
Objektumok rövid listája:
Mozgások rövid listája:
w - a kurzortól a szó végéig, beleértve a szóközt.
e - a kurzortól a szó végéig, NEM beleértve a szóközt.
$ - a kurzortól a sor végéig.
MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs nélkül
a kurzor oda kerül, amit az objektumlista megad.
MEGJ: Csupán a mozgás begépelésével (parancs nélkül)
a kurzor mozgás által megadott helyre kerül.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.4. lecke: EGY KIVÉTEL A 'PARANCSOBJEKTUM' ALÓL
2.4. lecke: EGÉSZ SOROK FELDOLGOZÁSA
** dd beírásával törölheti az egész sort. **
@@ -217,8 +217,8 @@ MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs
1. Mozgassa a kurzort az alábbi kifejezések második sorára!
2. dd begépelésével törölje a sort!
3. Menjen a 4. (eredetileg 5.) sorra!
4. 2dd (ugyebár szám-utasítás-objektum) begépelésével töröljön két sort!
3. Menjen a 3. (eredetileg 4.) sorra!
4. 2dd (ugyebár szám-utasítás-mozgás) begépelésével töröljön két sort!
1) Alvó szegek a jéghideg homokban,
2) - kezdi a költő -
@@ -238,9 +238,9 @@ MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs
1. Menjünk az alábbi ---> kezdetű sor első hibájára!
2. x lenyomásával törölje az első felesleges karaktert!
3. u megnyomásával vonja vissza az utolsónak végrehajtott utasítást!
4. Másodjára javítson ki minden hibát a sorben az x utasítással!
4. Másodjára javítson ki minden hibát a sorban az x utasítással!
5. Most nagy U -val állítsa vissza a sor eredeti állapotát!
6. Nyomja meg az u gombot párszor, hogy az U és sz előző utasításokat
6. Nyomja meg az u gombot párszor, hogy az U és az azt megelőző utasításokat
visszaállítsa!
7. CTRL-R (CTRL gomb lenyomása mellett üssön R-t) párszor csinálja újra a
visszavont parancsokat (redo)!
@@ -263,11 +263,11 @@ MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs
4. Egy utasítás alakja normál módban:
[szám] utasítás objektum VAGY utasítás [szám] objektum
[szám] utasítás mozgás VAGY utasítás [szám] mozgás
ahol:
szám - hányszor ismételjük a parancsot
utasítás - mit tegyünk, pl. d a törléskor
objektum - mire hasson az utasítás, például w (szó=word),
mozgás - mire hasson az utasítás, például w (szó=word),
$ (a sor végéig), stb.
5. Az előző tett visszavonása (undo): u (kis u)
@@ -278,11 +278,11 @@ MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs
3.1. lecke: A BEILLESZTÉS (PUT) PARANCS
** p leütésével az utolsónak töröltet a kurzor után illeszhetjük. **
** p leütésével az utolsónak töröltet a kurzor után illeszthetjük. **
1. Mozgassuk a kurzort az alábbi sorok első sorára.
2. dd leütésével töröljük a sort és eltérolódik a Vim pufferében.
2. dd leütésével töröljük a sort és eltárolódik a Vim pufferében.
3. Mozgassuk a kurzort azelőtt a sor ELŐTTI sorba, ahová mozgatni
szeretnénk a törölt sort.
@@ -350,13 +350,13 @@ Vegyük észre, hogy a cw nem csak a szót írja át, hanem beszúró
3.4. lecke: TÖBBFÉLE VÁLTOZTATÁS c-VEL
** A c utasítás használható ugyanazokkal az objektumokkal mint a törlés **
** A c utasítás használható ugyanazokkal az mozgásokkal mint a törlés **
1. A change utasítás a törléssel azonosan viselkedik. A forma:
[szám] c objektum OR c [szám] objektum
[szám] c mozgás OR c [szám] mozgás
2. Az objektumok is azonosak, pl. w (szó), $ (sorvég), stb.
2. A mozgások is azonosak, pl. w (szó), $ (sorvég), stb.
3. Mozgassuk a kurzort az első ---> kezdetű sorra!
@@ -374,18 +374,18 @@ Vegyük észre, hogy a cw nem csak a szót írja át, hanem beszúró
1. A már törölt sort beillesztéséhez nyomjunk p-t. Ez a törölt szöveget
a kurzor UTÁN helyezi (ha sor került törlésre, a kurzor allatti sorba).
a kurzor UTÁN helyezi (ha sor került törlésre, a kurzor alatti sorba).
2. A kurzor alatti karakter átírásához az r-et és azt a karaktert
nyomjuk, amellyel az eredetit felül szeretnénk írni.
3. A változtatás (c) utasítás a karaktertől az objektum végéig
változtatja meg az objektumot. Például a cw a kurzortól a szó végéig,
3. A változtatás (c) utasítás a karaktertől az mozgás végéig
változtatja meg az mozgást. Például a cw a kurzortól a szó végéig,
a c$ a sor végéig.
4. A változtatás formátuma:
[szám] c objektum VAGY c [szám] objektum
[szám] c mozgás VAGY c [szám] mozgás
Ugorjunk a következő leckére!
@@ -428,7 +428,7 @@ Ugorjunk a következő leckére!
3. A kifejezés újabb kereséséhez üssük le egyszerűen: n .
A kifejezés ellenkező irányban történő kereséséhez ezt üssük be: Shift-N .
4. Ha visszafelé szeretne keresni, akkor ? kell a ! helyett.
4. Ha visszafelé szeretne keresni, akkor ? kell a / helyett.
---> "hiibaa" nem a helyes módja a hiba leírásának; a hiibaa egy hiba.
@@ -462,7 +462,7 @@ Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a
4.4. lecke: A HIBÁK KIJAVÍTÁSÁNAK EGY MÓDJA
** :s/új/régi/g begépelésével az 'új'-ra cseréljük a 'régi'-t. **
** :s/régi/új/g begépelésével az 'új'-ra cseréljük a 'régi'-t. **
1. Menjünk a ---> kezdetű sorra!
@@ -579,7 +579,7 @@ Megj: Ha Ön kilépne a Vimből és és visszatérne a TESZT fájlnévvel, akkor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4. lecke: RETRIEVING AND MERGING FILES
5.4. lecke: FÁJLOK VISSZAÁLLÍTÁSA ÉS ÖSSZEFŰZÉSE
** Egy fájl tartalmának beillesztéséhez írja :r FÁJLNÉV **
@@ -592,11 +592,11 @@ MEGJ: A 3. lépés után az 5.3. leckét fogja látni. Azután LEFELÉ indulva
keresse meg ismét ezt a leckét.
3. Most szúrja be a TESZT nevű fájlt a :r TESZT paranccsal, ahol
TESZT az Ön fájljénak a neve.
TESZT az Ön fájljának a neve.
MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el.
4. Hogy ellenőrizzük, hogy a fájlt tényleg beillsztettük, menjen
4. Hogy ellenőrizzük, hogy a fájlt tényleg beillesztettük, menjen
vissza, és nézze meg, hogy kétszer szerepel az 5.3. lecke! Az eredeti
mellett a fájlból bemásolt is ott van.
@@ -616,11 +616,11 @@ MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el.
2. :w FÁJLNÉV kiírja a jelenlegi Vim-fájlt a lemezre FÁJNÉV néven.
3. :#,#w FÁJLNÉV kiírja a két sorszám (#) közötti sorokat FÁJLNÉV-be
Másik lehetőség, hogy a kezdősornál Ctrl-v-t nyom lemegy az utolsó
Másik lehetőség, hogy a kezdősornál Shift-v-t nyom lemegy az utolsó
sorra, majd ezt üti be :w FÁJLNÉV
4. :r FÁJLNÉV beolvassa a FÁJLNÉV fájlt és behelyezi a jelenlegi fájlba
a kurzorpozició utáni sorba.
a kurzorpozíció utáni sorba.
@@ -629,7 +629,7 @@ MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el.
6.1. lecke: A MEGNYITÁS (OPEN) PARANCS
** o beírásával nyithat egy új sort a kurzor alatt és válthat beszúró módba **
** o beírásával nyit egy új sort a kurzor alatt és beszúró módba vált **
1. Mozgassuk a kurzort a ---> kezdetű sorra.
@@ -641,7 +641,7 @@ MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el.
---> Az o lenyomása után a kurzor a következő sor elején áll beszúró módban.
4. A kurzor FELETTI for megnyitásához egyzserűen a nagy O betűt írjon
4. A kurzor FELETTI sor megnyitásához egyszerűen nagy O betűt írjon
kicsi helyett. Próbálja ki a következő soron!
Nyisson egy új sort efelett Shift-O megnyomásával, mialatt a kurzor
ezen a soron áll.
@@ -654,16 +654,16 @@ ezen a soron áll.
6.2. lecke: AZ APPEND PARANCS
** a lenyomásával a kuror UTÁN szúrhatunk szöveget. **
** a lenyomásával a kurzor UTÁN szúrhatunk szöveget. **
1. Mozgassuk a kurzort a következő ---> kezdetű sor végére úgy,
hogy normál módban $ ír be.
hogy normál módban $-t ír be.
2. a (kicsi) leütésével szöveget szúrhat be AMöGÉ a karakter mögé,
2. Kis "a" leütésével szöveget szúrhat be AMÖGÉ a karakter mögé,
amelyen a kurzor áll.
(A nagy A az egész sor végére írja a szöveget.)
(A nagy "A" az egész sor végére írja a szöveget.)
Megj: A Vimben a sor legvégére is lehet állni, azonba ez elődjében
Megj: A Vimben a sor legvégére is lehet állni, azonban ez elődjében
a Vi-ban nem lehetséges, ezért abban az a nélkül elég körülményes
a sor végéhez szöveget írni.
@@ -687,13 +687,13 @@ Megj: A Vimben a sor legvégére is lehet állni, azonba ez elődjében
2. Helyezze a kurzort az első szó elejére amely eltér a második
---> kezdetű sor tartalmától (a 'az utolsóval' résztől).
3. Nyomjon R karaktert és írja ét a szöveg maradékát az első sorban
3. Nyomjon R karaktert és írja át a szöveg maradékát az első sorban
úgy, hogy a két sor egyező legyen.
---> Az első sort tegye azonossá az utolsóval: használja a gombokat.
---> Az első sort tegye azonossá a másodikkal: írjon R-t és az új szöveget.
4. Jegyezzük meg, ha <ESC>-et nyomok, akkor a változatlanuk hagyott
4. Jegyezzük meg, ha <ESC>-et nyomok, akkor a változatlanul hagyott
szövegek változatlanok maradnak.
@@ -826,5 +826,5 @@ Megj: A Vimben a sor legvégére is lehet állni, azonba ez elődjében
A Vimhez idomította Bram Moolenaar.
Magyarította: Horváth Árpád <horvath.arpad@roik.bmf.hu>, 2006-2008
Magyarította: Horváth Árpád <horvath.arpad@arek.uni-opbuda.hu>, 2006-2012

View File

@@ -1,6 +1,6 @@
#
# Makefile for VIM on Win32, using Cygnus gcc
# Last updated by Dan Sharp. Last Change: 2010 Nov 03
# Last updated by Dan Sharp. Last Change: 2012 Jun 30
#
# Also read INSTALLpc.txt!
#
@@ -48,7 +48,7 @@
# -L/lib/w32api to EXTRA_LIBS.
# POSTSCRIPT no or yes: set to yes for PostScript printing (no)
# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
# WINVER Lowest Win32 version to support. (0x0400)
# WINVER Lowest Win32 version to support. (0x0500)
# CSCOPE no or yes: to include cscope interface support (yes)
# OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
# NETBEANS no or yes: to include netbeans interface support (yes when GUI
@@ -85,7 +85,7 @@ ARCH = i386
endif
ifndef WINVER
WINVER = 0x0400
WINVER = 0x0500
endif
ifndef CSCOPE

View File

@@ -52,7 +52,7 @@ POSTSCRIPT=no
OLE=no
# Set the default $(WINVER) to make it work with pre-Win2k
ifndef WINVER
WINVER = 0x0400
WINVER = 0x0500
endif
# Set to yes to enable Cscope support
CSCOPE=yes
@@ -260,7 +260,9 @@ endif
# DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
# RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
# RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
# You must set RUBY_VER_LONG when change RUBY_VER.
# You must set RUBY_VER_LONG when changing RUBY_VER.
# You must set RUBY_API_VER version to RUBY_VER_LONG.
# Don't set ruby API version to RUBY_VER like 191.
#RUBY=c:/ruby
ifdef RUBY
ifndef DYNAMIC_RUBY
@@ -273,6 +275,9 @@ endif
ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.6
endif
ifndef RUBY_API_VER
RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
endif
ifndef RUBY_PLATFORM
ifeq ($(RUBY_VER), 16)
@@ -288,9 +293,9 @@ endif
ifndef RUBY_INSTALL_NAME
ifeq ($(RUBY_VER), 16)
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
else
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
endif
endif

View File

@@ -63,6 +63,8 @@
# RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
# RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
# You must set RUBY_VER_LONG when change RUBY_VER.
# You must set RUBY_API_VER to RUBY_VER_LONG.
# Don't set ruby API version to RUBY_VER like 191.
#
# Tcl interface:
# TCL=[Path to Tcl directory]
@@ -87,6 +89,8 @@
# Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
#
# XPM Image Support: XPM=[path to XPM directory]
# Default is "xpm", using the files included in the distribution.
# Use "no" to disable this feature.
#
# Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
#
@@ -277,13 +281,21 @@ NBDEBUG_SRC = nbdebug.c
NETBEANS_LIB = WSock32.lib
!endif
!ifdef XPM
!ifndef XPM
# XPM is not set, use the included xpm files, depending on the architecture.
!if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
XPM = xpm\x64
!else
XPM = xpm\x86
!endif
!endif
!if "$(XPM)" != "no"
# XPM - Include support for XPM signs
# you can get xpm.lib from http://iamphet.nm.ru/xpm or create it yourself
# See the xpm directory for more information.
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32
XPM_LIB = $(XPM)\lib\libXpm.lib
XPM_INC = -I $(XPM)\include
XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
!endif
!endif
@@ -807,28 +819,31 @@ RUBY_VER = 18
!ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.8
!endif
!ifndef RUBY_API_VER
RUBY_API_VER = $(RUBY_VER_LONG:.=)
!endif
!if $(RUBY_VER) >= 18
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i386-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
!endif
!else
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i586-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
!endif
!endif # $(RUBY_VER) >= 18
!message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
CFLAGS = $(CFLAGS) -DFEAT_RUBY
RUBY_OBJ = $(OUTDIR)\if_ruby.obj
!if $(RUBY_VER) >= 190
RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)"
!if $(RUBY_VER) >= 19
RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
!else
RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
!endif

View File

@@ -1339,7 +1339,7 @@ ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS)
# with "-E".
OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
@@ -2559,19 +2559,11 @@ objects/if_perl.o: auto/if_perl.c
objects/if_perlsfio.o: if_perlsfio.c
$(CCC) $(PERL_CFLAGS) -o $@ if_perlsfio.c
objects/py_config.o: $(PYTHON_CONFDIR)/config.c
$(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/config.c \
-I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
$(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/getpath.c \
-I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN \
$(PYTHON_GETPATH_CFLAGS)
objects/py3_config.o: $(PYTHON3_CONFDIR)/config.c
$(CCC) $(PYTHON3_CFLAGS) -o $@ $(PYTHON3_CONFDIR)/config.c \
-I$(PYTHON3_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
objects/if_python.o: if_python.c if_py_both.h
$(CCC) $(PYTHON_CFLAGS) $(PYTHON_CFLAGS_EXTRA) -o $@ if_python.c

14
src/auto/configure vendored
View File

@@ -5357,11 +5357,7 @@ fi
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
if test "x$MACOSX" = "xyes"; then
PYTHON_OBJ="objects/if_python.o"
else
PYTHON_OBJ="objects/if_python.o objects/py_config.o"
fi
PYTHON_OBJ="objects/if_python.o"
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
@@ -5656,11 +5652,7 @@ fi
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
if test "x$MACOSX" = "xyes"; then
PYTHON3_OBJ="objects/if_python3.o"
else
PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
fi
PYTHON3_OBJ="objects/if_python3.o"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
$as_echo_n "checking if -pthread should be used... " >&6; }
@@ -10639,7 +10631,7 @@ if test "x$vim_cv_getcwd_broken" = "xyes" ; then
fi
for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \
getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigvec strcasecmp strerror strftime stricmp strncasecmp \

View File

@@ -1,3 +1,5 @@
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl512 DYNAMIC_PERL=yes PERL_VER=512 PYTHON=e:\python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=e:\python31 DYNAMIC_PYTHON3=yes PYTHON3_VER=31 RUBY=e:\ruby191 DYNAMIC_RUBY=yes RUBY_VER=191 RUBY_VER_LONG=1.9.1 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
SET TOOLDIR=E:\
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes

6
src/bigvim64.bat Normal file
View File

@@ -0,0 +1,6 @@
:: command to build big Vim 64 bit with OLE, Perl, Python, Ruby and Tcl
:: First run: %VCDIR%\vcvarsall.bat x86_amd64
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\"
SET TOOLDIR=E:\
%VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes

View File

@@ -57,7 +57,6 @@ static void clear_wininfo __ARGS((buf_T *buf));
#if defined(FEAT_SIGNS)
static void insert_sign __ARGS((buf_T *buf, signlist_T *prev, signlist_T *next, int id, linenr_T lnum, int typenr));
static void buf_delete_signs __ARGS((buf_T *buf));
#endif
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
@@ -1363,7 +1362,6 @@ set_curbuf(buf, action)
int action;
{
buf_T *prevbuf;
win_T *prevwin;
int unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
|| action == DOBUF_WIPE);
@@ -1403,16 +1401,20 @@ set_curbuf(buf, action)
if (buf_valid(prevbuf))
#endif
{
prevwin = curwin;
#ifdef FEAT_WINDOWS
win_T *previouswin = curwin;
#endif
if (prevbuf == curbuf)
u_sync(FALSE);
close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
unload ? action : (action == DOBUF_GOTO
&& !P_HID(prevbuf)
&& !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
if (curwin != prevwin && win_valid(prevwin))
#ifdef FEAT_WINDOWS
if (curwin != previouswin && win_valid(previouswin))
/* autocommands changed curwin, Grr! */
curwin = prevwin;
curwin = previouswin;
#endif
}
}
#ifdef FEAT_AUTOCMD
@@ -1420,12 +1422,12 @@ set_curbuf(buf, action)
* it did ":bunload") or aborted the script processing!
* If curwin->w_buffer is null, enter_buffer() will make it valid again */
if ((buf_valid(buf) && buf != curbuf
#ifdef FEAT_EVAL
# ifdef FEAT_EVAL
&& !aborting()
#endif
#ifdef FEAT_WINDOWS
# endif
# ifdef FEAT_WINDOWS
) || curwin->w_buffer == NULL
#endif
# endif
)
#endif
enter_buffer(buf);
@@ -1745,7 +1747,8 @@ buflist_new(ffname, sfname, lnum, flags)
buf->b_wininfo->wi_win = curwin;
#ifdef FEAT_EVAL
init_var_dict(&buf->b_vars, &buf->b_bufvar); /* init b: variables */
/* init b: variables */
init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
#endif
#ifdef FEAT_SYN_HL
hash_init(&buf->b_s.b_keywtab);
@@ -3231,12 +3234,15 @@ maketitle()
{
/* format: "fname + (path) (1 of 2) - VIM" */
#define SPACE_FOR_FNAME (IOSIZE - 100)
#define SPACE_FOR_DIR (IOSIZE - 20)
#define SPACE_FOR_ARGNR (IOSIZE - 10) /* at least room for " - VIM" */
if (curbuf->b_fname == NULL)
vim_strncpy(buf, (char_u *)_("[No Name]"), IOSIZE - 100);
vim_strncpy(buf, (char_u *)_("[No Name]"), SPACE_FOR_FNAME);
else
{
p = transstr(gettail(curbuf->b_fname));
vim_strncpy(buf, p, IOSIZE - 100);
vim_strncpy(buf, p, SPACE_FOR_FNAME);
vim_free(p);
}
@@ -3260,7 +3266,7 @@ maketitle()
buf[off++] = ' ';
buf[off++] = '(';
home_replace(curbuf, curbuf->b_ffname,
buf + off, IOSIZE - off, TRUE);
buf + off, SPACE_FOR_DIR - off, TRUE);
#ifdef BACKSLASH_IN_FILENAME
/* avoid "c:/name" to be reduced to "c" */
if (isalpha(buf[off]) && buf[off + 1] == ':')
@@ -3271,18 +3277,28 @@ maketitle()
if (p == buf + off)
/* must be a help buffer */
vim_strncpy(buf + off, (char_u *)_("help"),
(size_t)(IOSIZE - off - 1));
(size_t)(SPACE_FOR_DIR - off - 1));
else
*p = NUL;
/* translate unprintable chars */
p = transstr(buf + off);
vim_strncpy(buf + off, p, (size_t)(IOSIZE - off - 1));
vim_free(p);
/* Translate unprintable chars and concatenate. Keep some
* room for the server name. When there is no room (very long
* file name) use (...). */
if (off < SPACE_FOR_DIR)
{
p = transstr(buf + off);
vim_strncpy(buf + off, p, (size_t)(SPACE_FOR_DIR - off));
vim_free(p);
}
else
{
vim_strncpy(buf + off, (char_u *)"...",
(size_t)(SPACE_FOR_ARGNR - off));
}
STRCAT(buf, ")");
}
append_arg_number(curwin, buf, IOSIZE, FALSE);
append_arg_number(curwin, buf, SPACE_FOR_ARGNR, FALSE);
#if defined(FEAT_CLIENTSERVER)
if (serverName != NULL)
@@ -5534,7 +5550,7 @@ buf_signcount(buf, lnum)
/*
* Delete signs in buffer "buf".
*/
static void
void
buf_delete_signs(buf)
buf_T *buf;
{

View File

@@ -161,6 +161,7 @@
#undef HAVE_FSYNC
#undef HAVE_GETCWD
#undef HAVE_GETPSEUDOTTY
#undef HAVE_GETPWENT
#undef HAVE_GETPWNAM
#undef HAVE_GETPWUID
#undef HAVE_GETRLIMIT

View File

@@ -916,12 +916,7 @@ eof
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
if test "x$MACOSX" = "xyes"; then
PYTHON_OBJ="objects/if_python.o"
else
PYTHON_OBJ="objects/if_python.o objects/py_config.o"
fi
PYTHON_OBJ="objects/if_python.o"
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
@@ -1106,12 +1101,7 @@ eof
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
dnl For Mac OSX 10.2 config.o is included in the Python library.
if test "x$MACOSX" = "xyes"; then
PYTHON3_OBJ="objects/if_python3.o"
else
PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
fi
PYTHON3_OBJ="objects/if_python3.o"
dnl On FreeBSD linking with "-pthread" is required to use threads.
dnl _THREAD_SAFE must be used for compiling then.
@@ -3004,7 +2994,7 @@ fi
dnl Check for functions in one big call, to reduce the size of configure.
dnl Can only be used for functions that do not require any include.
AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \
getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigvec strcasecmp strerror strftime stricmp strncasecmp \

View File

@@ -1,7 +1,10 @@
# Python script to get both the data and resource fork from a BinHex encoded
# file.
# Author: Taro Muraoka
# Last Change: 2003 Oct 25
# Author: MURAOKA Taro <koron.kaoriya@gmail.com>
# Last Change: 2012 Jun 29
#
# Copyright (C) 2003,12 MURAOKA Taro <koron.kaoriya@gmail.com>
# THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
import sys
import binhex

View File

@@ -3467,17 +3467,23 @@ ins_compl_addleader(c)
(*mb_char2bytes)(c, buf);
buf[cc] = NUL;
ins_char_bytes(buf, cc);
if (compl_opt_refresh_always)
AppendToRedobuff(buf);
}
else
#endif
{
ins_char(c);
if (compl_opt_refresh_always)
AppendCharToRedobuff(c);
}
/* If we didn't complete finding matches we must search again. */
if (ins_compl_need_restart())
ins_compl_restart();
/* When 'always' is set, don't reset compl_leader. While completing,
* cursor don't point original position, changing compl_leader would
* cursor doesn't point original position, changing compl_leader would
* break redo. */
if (!compl_opt_refresh_always)
{
@@ -3817,6 +3823,11 @@ ins_compl_prep(c)
*/
if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0)))
do_c_expr_indent();
#endif
#ifdef FEAT_AUTOCMD
/* Trigger the CompleteDone event to give scripts a chance to act
* upon the completion. */
apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf);
#endif
}
}
@@ -3948,7 +3959,7 @@ expand_by_function(type, base)
curbuf_save = curbuf;
/* Call a function, which returns a list or dict. */
if (call_vim_function(funcname, 2, args, FALSE, &rettv) == OK)
if (call_vim_function(funcname, 2, args, FALSE, FALSE, &rettv) == OK)
{
switch (rettv.v_type)
{
@@ -6314,14 +6325,15 @@ internal_format(textwidth, second_indent, flags, format_only, c)
if (!(flags & INSCHAR_COM_LIST))
{
/*
* This section is for numeric lists w/o comments. If comment
* indents are needed with numeric lists (formatoptions=nq),
* then the INSCHAR_COM_LIST flag will cause the corresponding
* OPENLINE_COM_LIST flag to be passed through to open_line()
* (as seen above)...
* This section is for auto-wrap of numeric lists. When not
* in insert mode (i.e. format_lines()), the INSCHAR_COM_LIST
* flag will be set and open_line() will handle it (as seen
* above). The code here (and in get_number_indent()) will
* recognize comments if needed...
*/
if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
second_indent = get_number_indent(curwin->w_cursor.lnum -1);
second_indent =
get_number_indent(curwin->w_cursor.lnum - 1);
if (second_indent >= 0)
{
#ifdef FEAT_VREPLACE
@@ -6329,8 +6341,30 @@ internal_format(textwidth, second_indent, flags, format_only, c)
change_indent(INDENT_SET, second_indent,
FALSE, NUL, TRUE);
else
#endif
#ifdef FEAT_COMMENTS
if (leader_len > 0 && second_indent - leader_len > 0)
{
int i;
int padding = second_indent - leader_len;
/* We started at the first_line of a numbered list
* that has a comment. the open_line() function has
* inserted the proper comment leader and positioned
* the cursor at the end of the split line. Now we
* add the additional whitespace needed after the
* comment leader for the numbered list. */
for (i = 0; i < padding; i++)
ins_str((char_u *)" ");
changed_bytes(curwin->w_cursor.lnum, leader_len);
}
else
{
#endif
(void)set_indent(second_indent, SIN_CHANGED);
#ifdef FEAT_COMMENTS
}
#endif
}
}
first_line = FALSE;
@@ -8865,9 +8899,9 @@ ins_bs(c, mode, inserted_space_p)
*inserted_space_p = FALSE;
if (p_sta && in_indent)
ts = curbuf->b_p_sw;
ts = (int)get_sw_value();
else
ts = curbuf->b_p_sts;
ts = (int)curbuf->b_p_sts;
/* Compute the virtual column where we want to be. Since
* 'showbreak' may get in the way, need to get the last column of
* the previous character. */
@@ -9555,7 +9589,7 @@ ins_tab()
* When nothing special, insert TAB like a normal character
*/
if (!curbuf->b_p_et
&& !(p_sta && ind && curbuf->b_p_ts != curbuf->b_p_sw)
&& !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
&& curbuf->b_p_sts == 0)
return TRUE;
@@ -9571,7 +9605,7 @@ ins_tab()
AppendToRedobuff((char_u *)"\t");
if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
temp = (int)curbuf->b_p_sw;
temp = (int)get_sw_value();
else if (curbuf->b_p_sts > 0) /* use 'softtabstop' when set */
temp = (int)curbuf->b_p_sts;
else /* otherwise use 'tabstop' */

View File

@@ -424,30 +424,21 @@ static int get_string_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
static int get_lit_string_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
static int get_list_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
static int rettv_list_alloc __ARGS((typval_T *rettv));
static listitem_T *listitem_alloc __ARGS((void));
static void listitem_free __ARGS((listitem_T *item));
static void listitem_remove __ARGS((list_T *l, listitem_T *item));
static long list_len __ARGS((list_T *l));
static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive));
static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive));
static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive));
static listitem_T *list_find __ARGS((list_T *l, long n));
static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
static void list_append __ARGS((list_T *l, listitem_T *item));
static int list_append_number __ARGS((list_T *l, varnumber_T n));
static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef));
static int list_concat __ARGS((list_T *l1, list_T *l2, typval_T *tv));
static list_T *list_copy __ARGS((list_T *orig, int deep, int copyID));
static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
static char_u *list2string __ARGS((typval_T *tv, int copyID));
static int list_join_inner __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo_style, int copyID, garray_T *join_gap));
static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo, int copyID));
static int free_unref_items __ARGS((int copyID));
static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
static void set_ref_in_list __ARGS((list_T *l, int copyID));
static void set_ref_in_item __ARGS((typval_T *tv, int copyID));
static int rettv_dict_alloc __ARGS((typval_T *rettv));
static void dict_free __ARGS((dict_T *d, int recurse));
static dictitem_T *dictitem_copy __ARGS((dictitem_T *org));
@@ -654,6 +645,12 @@ static void f_pow __ARGS((typval_T *argvars, typval_T *rettv));
static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv));
static void f_printf __ARGS((typval_T *argvars, typval_T *rettv));
static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv));
#ifdef FEAT_PYTHON3
static void f_py3eval __ARGS((typval_T *argvars, typval_T *rettv));
#endif
#ifdef FEAT_PYTHON
static void f_pyeval __ARGS((typval_T *argvars, typval_T *rettv));
#endif
static void f_range __ARGS((typval_T *argvars, typval_T *rettv));
static void f_readfile __ARGS((typval_T *argvars, typval_T *rettv));
static void f_reltime __ARGS((typval_T *argvars, typval_T *rettv));
@@ -824,8 +821,6 @@ static int script_autoload __ARGS((char_u *name, int reload));
static char_u *autoload_name __ARGS((char_u *name));
static void cat_func_name __ARGS((char_u *buf, ufunc_T *fp));
static void func_free __ARGS((ufunc_T *fp));
static void func_unref __ARGS((char_u *name));
static void func_ref __ARGS((char_u *name));
static void call_user_func __ARGS((ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, linenr_T firstline, linenr_T lastline, dict_T *selfdict));
static int can_free_funccal __ARGS((funccall_T *fc, int copyID)) ;
static void free_funccal __ARGS((funccall_T *fc, int free_val));
@@ -855,8 +850,8 @@ eval_init()
int i;
struct vimvar *p;
init_var_dict(&globvardict, &globvars_var);
init_var_dict(&vimvardict, &vimvars_var);
init_var_dict(&globvardict, &globvars_var, VAR_DEF_SCOPE);
init_var_dict(&vimvardict, &vimvars_var, VAR_SCOPE);
vimvardict.dv_lock = VAR_FIXED;
hash_init(&compat_hashtab);
hash_init(&func_hashtab);
@@ -1569,11 +1564,12 @@ eval_expr(arg, nextcmd)
* Returns OK or FAIL.
*/
int
call_vim_function(func, argc, argv, safe, rettv)
call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
char_u *func;
int argc;
char_u **argv;
int safe; /* use the sandbox */
int str_arg_only; /* all arguments are strings */
typval_T *rettv;
{
typval_T *argvars;
@@ -1598,8 +1594,11 @@ call_vim_function(func, argc, argv, safe, rettv)
continue;
}
/* Recognize a number argument, the others must be strings. */
vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
if (str_arg_only)
len = 0;
else
/* Recognize a number argument, the others must be strings. */
vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
if (len != 0 && len == (int)STRLEN(argv[i]))
{
argvars[i].v_type = VAR_NUMBER;
@@ -1651,7 +1650,8 @@ call_func_retstr(func, argc, argv, safe)
typval_T rettv;
char_u *retval;
if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
/* All arguments are passed as strings, no conversion to number. */
if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return NULL;
retval = vim_strsave(get_tv_string(&rettv));
@@ -1676,7 +1676,8 @@ call_func_retnr(func, argc, argv, safe)
typval_T rettv;
long retval;
if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
/* All arguments are passed as strings, no conversion to number. */
if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return -1;
retval = get_tv_number_chk(&rettv, NULL);
@@ -1699,7 +1700,8 @@ call_func_retlist(func, argc, argv, safe)
{
typval_T rettv;
if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
/* All arguments are passed as strings, no conversion to number. */
if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return NULL;
if (rettv.v_type != VAR_LIST)
@@ -2730,14 +2732,26 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
lp->ll_dict = lp->ll_tv->vval.v_dict;
lp->ll_di = dict_find(lp->ll_dict, key, len);
/* When assigning to g: check that a function and variable name is
* valid. */
if (rettv != NULL && lp->ll_dict == &globvardict)
/* When assigning to a scope dictionary check that a function and
* variable name is valid (only variable name unless it is l: or
* g: dictionary). Disallow overwriting a builtin function. */
if (rettv != NULL && lp->ll_dict->dv_scope != 0)
{
if (rettv->v_type == VAR_FUNC
int prevval;
int wrong;
if (len != -1)
{
prevval = key[len];
key[len] = NUL;
}
wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
&& rettv->v_type == VAR_FUNC
&& var_check_func_name(key, lp->ll_di == NULL))
return NULL;
if (!valid_varname(key))
|| !valid_varname(key);
if (len != -1)
key[len] = prevval;
if (wrong)
return NULL;
}
@@ -5927,7 +5941,7 @@ list_free(l, recurse)
/*
* Allocate a list item.
*/
static listitem_T *
listitem_T *
listitem_alloc()
{
return (listitem_T *)alloc(sizeof(listitem_T));
@@ -5947,7 +5961,7 @@ listitem_free(item)
/*
* Remove a list item from a List and free it. Also clears the value.
*/
static void
void
listitem_remove(l, item)
list_T *l;
listitem_T *item;
@@ -6123,7 +6137,7 @@ tv_equal(tv1, tv2, ic, recursive)
* A negative index is counted from the end; -1 is the last item.
* Returns NULL when "n" is out of range.
*/
static listitem_T *
listitem_T *
list_find(l, n)
list_T *l;
long n;
@@ -6265,7 +6279,7 @@ list_idx_of_item(l, item)
/*
* Append item "item" to the end of list "l".
*/
static void
void
list_append(l, item)
list_T *l;
listitem_T *item;
@@ -6378,7 +6392,7 @@ list_append_number(l, n)
* If "item" is NULL append at the end.
* Return FAIL when out of memory.
*/
static int
int
list_insert_tv(l, tv, item)
list_T *l;
typval_T *tv;
@@ -6523,7 +6537,7 @@ list_copy(orig, deep, copyID)
* Remove items "item" to "item2" from list "l".
* Does not free the listitem or the value!
*/
static void
void
list_remove(l, item, item2)
list_T *l;
listitem_T *item;
@@ -6785,6 +6799,14 @@ garbage_collect()
set_ref_in_lua(copyID);
#endif
#ifdef FEAT_PYTHON
set_ref_in_python(copyID);
#endif
#ifdef FEAT_PYTHON3
set_ref_in_python3(copyID);
#endif
/*
* 2. Free lists and dictionaries that are not referenced.
*/
@@ -6870,7 +6892,7 @@ free_unref_items(copyID)
/*
* Mark all lists and dicts referenced through hashtab "ht" with "copyID".
*/
static void
void
set_ref_in_ht(ht, copyID)
hashtab_T *ht;
int copyID;
@@ -6890,7 +6912,7 @@ set_ref_in_ht(ht, copyID)
/*
* Mark all lists and dicts referenced through list "l" with "copyID".
*/
static void
void
set_ref_in_list(l, copyID)
list_T *l;
int copyID;
@@ -6904,7 +6926,7 @@ set_ref_in_list(l, copyID)
/*
* Mark all lists and dicts referenced through typval "tv" with "copyID".
*/
static void
void
set_ref_in_item(tv, copyID)
typval_T *tv;
int copyID;
@@ -6948,7 +6970,7 @@ dict_alloc()
d = (dict_T *)alloc(sizeof(dict_T));
if (d != NULL)
{
/* Add the list to the list of dicts for garbage collection. */
/* Add the dict to the list of dicts for garbage collection. */
if (first_dict != NULL)
first_dict->dv_used_prev = d;
d->dv_used_next = first_dict;
@@ -6957,6 +6979,7 @@ dict_alloc()
hash_init(&d->dv_hashtab);
d->dv_lock = 0;
d->dv_scope = 0;
d->dv_refcount = 0;
d->dv_copyID = 0;
}
@@ -7986,6 +8009,12 @@ static struct fst
{"prevnonblank", 1, 1, f_prevnonblank},
{"printf", 2, 19, f_printf},
{"pumvisible", 0, 0, f_pumvisible},
#ifdef FEAT_PYTHON3
{"py3eval", 1, 1, f_py3eval},
#endif
#ifdef FEAT_PYTHON
{"pyeval", 1, 1, f_pyeval},
#endif
{"range", 1, 3, f_range},
{"readfile", 1, 3, f_readfile},
{"reltime", 0, 2, f_reltime},
@@ -9150,6 +9179,45 @@ f_byteidx(argvars, rettv)
#endif
}
int
func_call(name, args, selfdict, rettv)
char_u *name;
typval_T *args;
dict_T *selfdict;
typval_T *rettv;
{
listitem_T *item;
typval_T argv[MAX_FUNC_ARGS + 1];
int argc = 0;
int dummy;
int r = 0;
for (item = args->vval.v_list->lv_first; item != NULL;
item = item->li_next)
{
if (argc == MAX_FUNC_ARGS)
{
EMSG(_("E699: Too many arguments"));
break;
}
/* Make a copy of each argument. This is needed to be able to set
* v_lock to VAR_FIXED in the copy without changing the original list.
*/
copy_tv(&item->li_tv, &argv[argc++]);
}
if (item == NULL)
r = call_func(name, (int)STRLEN(name), rettv, argc, argv,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&dummy, TRUE, selfdict);
/* Free the arguments. */
while (argc > 0)
clear_tv(&argv[--argc]);
return r;
}
/*
* "call(func, arglist)" function
*/
@@ -9159,10 +9227,6 @@ f_call(argvars, rettv)
typval_T *rettv;
{
char_u *func;
typval_T argv[MAX_FUNC_ARGS + 1];
int argc = 0;
listitem_T *item;
int dummy;
dict_T *selfdict = NULL;
if (argvars[1].v_type != VAR_LIST)
@@ -9190,28 +9254,7 @@ f_call(argvars, rettv)
selfdict = argvars[2].vval.v_dict;
}
for (item = argvars[1].vval.v_list->lv_first; item != NULL;
item = item->li_next)
{
if (argc == MAX_FUNC_ARGS)
{
EMSG(_("E699: Too many arguments"));
break;
}
/* Make a copy of each argument. This is needed to be able to set
* v_lock to VAR_FIXED in the copy without changing the original list.
*/
copy_tv(&item->li_tv, &argv[argc++]);
}
if (item == NULL)
(void)call_func(func, (int)STRLEN(func), rettv, argc, argv,
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
&dummy, TRUE, selfdict);
/* Free the arguments. */
while (argc > 0)
clear_tv(&argv[--argc]);
(void)func_call(func, &argvars[1], selfdict, rettv);
}
#ifdef FEAT_FLOAT
@@ -10180,6 +10223,19 @@ f_extend(argvars, rettv)
{
--todo;
di1 = dict_find(d1, hi2->hi_key, -1);
if (d1->dv_scope != 0)
{
/* Disallow replacing a builtin function in l: and g:.
* Check the key to be valid when adding to any
* scope. */
if (d1->dv_scope == VAR_DEF_SCOPE
&& HI2DI(hi2)->di_tv.v_type == VAR_FUNC
&& var_check_func_name(hi2->hi_key,
di1 == NULL))
break;
if (!valid_varname(hi2->hi_key))
break;
}
if (di1 == NULL)
{
di1 = dictitem_copy(HI2DI(hi2));
@@ -12021,6 +12077,11 @@ f_has(argvars, rettv)
"all_builtin_terms",
# endif
#endif
#if defined(FEAT_BROWSE) && (defined(USE_FILE_CHOOSER) \
|| defined(FEAT_GUI_W32) \
|| defined(FEAT_GUI_MOTIF))
"browsefilter",
#endif
#ifdef FEAT_BYTEOFF
"byte_offset",
#endif
@@ -12886,6 +12947,7 @@ get_user_input(argvars, rettv, inputdialog)
int xp_namelen;
long argt;
/* input() with a third argument: completion */
rettv->vval.v_string = NULL;
xp_name = get_tv_string_buf_chk(&argvars[2], buf);
@@ -12904,6 +12966,11 @@ get_user_input(argvars, rettv, inputdialog)
rettv->vval.v_string =
getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
xp_type, xp_arg);
if (inputdialog && rettv->vval.v_string == NULL
&& argvars[1].v_type != VAR_UNKNOWN
&& argvars[2].v_type != VAR_UNKNOWN)
rettv->vval.v_string = vim_strsave(get_tv_string_buf(
&argvars[2], buf));
vim_free(xp_arg);
@@ -14424,6 +14491,40 @@ f_pumvisible(argvars, rettv)
#endif
}
#ifdef FEAT_PYTHON3
/*
* "py3eval()" function
*/
static void
f_py3eval(argvars, rettv)
typval_T *argvars;
typval_T *rettv;
{
char_u *str;
char_u buf[NUMBUFLEN];
str = get_tv_string_buf(&argvars[0], buf);
do_py3eval(str, rettv);
}
#endif
#ifdef FEAT_PYTHON
/*
* "pyeval()" function
*/
static void
f_pyeval(argvars, rettv)
typval_T *argvars;
typval_T *rettv;
{
char_u *str;
char_u buf[NUMBUFLEN];
str = get_tv_string_buf(&argvars[0], buf);
do_pyeval(str, rettv);
}
#endif
/*
* "range()" function
*/
@@ -18507,6 +18608,10 @@ f_winrestview(argvars, rettv)
curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
check_cursor();
win_new_height(curwin, curwin->w_height);
# ifdef FEAT_VERTSPLIT
win_new_width(curwin, W_WIDTH(curwin));
# endif
changed_window_setting();
if (curwin->w_topline == 0)
@@ -19965,7 +20070,7 @@ new_script_vars(id)
{
sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
(scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
init_var_dict(&sv->sv_dict, &sv->sv_var);
init_var_dict(&sv->sv_dict, &sv->sv_var, VAR_SCOPE);
++ga_scripts.ga_len;
}
}
@@ -19976,11 +20081,14 @@ new_script_vars(id)
* point to it.
*/
void
init_var_dict(dict, dict_var)
init_var_dict(dict, dict_var, scope)
dict_T *dict;
dictitem_T *dict_var;
int scope;
{
hash_init(&dict->dv_hashtab);
dict->dv_lock = 0;
dict->dv_scope = scope;
dict->dv_refcount = DO_NOT_FREE_CNT;
dict->dv_copyID = 0;
dict_var->di_tv.vval.v_dict = dict;
@@ -22138,7 +22246,7 @@ func_free(fp)
* Unreference a Function: decrement the reference count and free it when it
* becomes zero. Only for numbered functions.
*/
static void
void
func_unref(name)
char_u *name;
{
@@ -22162,7 +22270,7 @@ func_unref(name)
/*
* Count a reference to a Function.
*/
static void
void
func_ref(name)
char_u *name;
{
@@ -22241,7 +22349,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
/*
* Init l: variables.
*/
init_var_dict(&fc->l_vars, &fc->l_vars_var);
init_var_dict(&fc->l_vars, &fc->l_vars_var, VAR_DEF_SCOPE);
if (selfdict != NULL)
{
/* Set l:self to "selfdict". Use "name" to avoid a warning from
@@ -22262,7 +22370,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
* Set a:0 to "argcount".
* Set a:000 to a list with room for the "..." arguments.
*/
init_var_dict(&fc->l_avars, &fc->l_avars_var);
init_var_dict(&fc->l_avars, &fc->l_avars_var, VAR_SCOPE);
add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0",
(varnumber_T)(argcount - fp->uf_args.ga_len));
/* Use "name" to avoid a warning from some compiler that checks the
@@ -23554,6 +23662,27 @@ repeat:
return -1;
}
#ifdef WIN3264
# if _WIN32_WINNT >= 0x0500
if (vim_strchr(*fnamep, '~') != NULL)
{
/* Expand 8.3 filename to full path. Needed to make sure the same
* file does not have two different names.
* Note: problem does not occur if _WIN32_WINNT < 0x0500. */
p = alloc(_MAX_PATH + 1);
if (p != NULL)
{
if (GetLongPathName(*fnamep, p, MAXPATHL))
{
vim_free(*bufp);
*bufp = *fnamep = p;
}
else
vim_free(p);
}
}
# endif
#endif
/* Append a path separator to a directory. */
if (mch_isdir(*fnamep))
{

View File

@@ -4264,6 +4264,9 @@ do_sub(eap)
int endcolumn = FALSE; /* cursor in last column when done */
pos_T old_cursor = curwin->w_cursor;
int start_nsubs;
#ifdef FEAT_EVAL
int save_ma = 0;
#endif
cmd = eap->arg;
if (!global_busy)
@@ -4668,7 +4671,12 @@ do_sub(eap)
}
sub_nsubs++;
did_sub = TRUE;
goto skip;
#ifdef FEAT_EVAL
/* Skip the substitution, unless an expression is used,
* then it is evaluated in the sandbox. */
if (!(sub[0] == '\\' && sub[1] == '='))
#endif
goto skip;
}
if (do_ask)
@@ -4840,10 +4848,27 @@ do_sub(eap)
/*
* 3. substitute the string.
*/
#ifdef FEAT_EVAL
if (do_count)
{
/* prevent accidentally changing the buffer by a function */
save_ma = curbuf->b_p_ma;
curbuf->b_p_ma = FALSE;
sandbox++;
}
#endif
/* get length of substitution part */
sublen = vim_regsub_multi(&regmatch,
sub_firstlnum - regmatch.startpos[0].lnum,
sub, sub_firstline, FALSE, p_magic, TRUE);
#ifdef FEAT_EVAL
if (do_count)
{
curbuf->b_p_ma = save_ma;
sandbox--;
goto skip;
}
#endif
/* When the match included the "$" of the last line it may
* go beyond the last line of the buffer. */
@@ -5239,7 +5264,7 @@ do_sub_msg(count_only)
* is assumed to be 'p' if missing.
*
* This is implemented in two passes: first we scan the file for the pattern and
* set a mark for each line that (not) matches. secondly we execute the command
* set a mark for each line that (not) matches. Secondly we execute the command
* for each line that has a mark. This is required because after deleting
* lines we do not know where to search for the next match.
*/
@@ -5871,9 +5896,14 @@ find_help_tags(arg, num_matches, matches, keep_lang)
}
else
{
/* replace "[:...:]" with "\[:...:]"; "[+...]" with "\[++...]" */
if (arg[0] == '[' && (arg[1] == ':'
|| (arg[1] == '+' && arg[2] == '+')))
/* Replace:
* "[:...:]" with "\[:...:]"
* "[++...]" with "\[++...]"
* "\{" with "\\{"
*/
if ((arg[0] == '[' && (arg[1] == ':'
|| (arg[1] == '+' && arg[2] == '+')))
|| (arg[0] == '\\' && arg[1] == '{'))
*d++ = '\\';
for (s = arg; *s; ++s)
@@ -6997,6 +7027,16 @@ ex_sign(eap)
lnum = atoi((char *)arg);
arg = skiptowhite(arg);
}
else if (STRNCMP(arg, "*", 1) == 0 && idx == SIGNCMD_UNPLACE)
{
if (id != -1)
{
EMSG(_(e_invarg));
return;
}
id = -2;
arg = skiptowhite(arg + 1);
}
else if (STRNCMP(arg, "name=", 5) == 0)
{
arg += 5;
@@ -7033,7 +7073,7 @@ ex_sign(eap)
{
EMSG2(_("E158: Invalid buffer name: %s"), arg);
}
else if (id <= 0)
else if (id <= 0 && !(idx == SIGNCMD_UNPLACE && id == -2))
{
if (lnum >= 0 || sign_name != NULL)
EMSG(_(e_invarg));
@@ -7074,11 +7114,17 @@ ex_sign(eap)
}
else if (idx == SIGNCMD_UNPLACE)
{
/* ":sign unplace {id} file={fname}" */
if (lnum >= 0 || sign_name != NULL)
EMSG(_(e_invarg));
else if (id == -2)
{
/* ":sign unplace * file={fname}" */
redraw_buf_later(buf, NOT_VALID);
buf_delete_signs(buf);
}
else
{
/* ":sign unplace {id} file={fname}" */
lnum = buf_delsign(buf, id);
update_debug_sign(buf, lnum);
}

View File

@@ -662,7 +662,7 @@ EX(CMD_nunmap, "nunmap", ex_unmap,
EX(CMD_nunmenu, "nunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_open, "open", ex_open,
RANGE|EXTRA),
RANGE|BANG|EXTRA),
EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
BANG|TRLBAR|SBOXOK|CMDWIN),
EX(CMD_omap, "omap", ex_map,
@@ -944,7 +944,7 @@ EX(CMD_tabfind, "tabfind", ex_splitview,
EX(CMD_tabfirst, "tabfirst", ex_tabnext,
TRLBAR),
EX(CMD_tabmove, "tabmove", ex_tabmove,
RANGE|NOTADR|ZEROR|COUNT|TRLBAR|ZEROR),
RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR),
EX(CMD_tablast, "tablast", ex_tabnext,
TRLBAR),
EX(CMD_tabnext, "tabnext", ex_tabnext,

View File

@@ -596,10 +596,15 @@ ex_breakdel(eap)
garray_T *gap;
gap = &dbg_breakp;
#ifdef FEAT_PROFILE
if (eap->cmdidx == CMD_profdel)
{
#ifdef FEAT_PROFILE
gap = &prof_ga;
#else
ex_ni(eap);
return;
#endif
}
if (vim_isdigit(*eap->arg))
{
@@ -1845,22 +1850,28 @@ get_arglist(gap, str)
#if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
/*
* Parse a list of arguments (file names), expand them and return in
* "fnames[fcountp]".
* "fnames[fcountp]". When "wig" is TRUE, removes files matching 'wildignore'.
* Return FAIL or OK.
*/
int
get_arglist_exp(str, fcountp, fnamesp)
get_arglist_exp(str, fcountp, fnamesp, wig)
char_u *str;
int *fcountp;
char_u ***fnamesp;
int wig;
{
garray_T ga;
int i;
if (get_arglist(&ga, str) == FAIL)
return FAIL;
i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
if (wig == TRUE)
i = expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
else
i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
ga_clear(&ga);
return i;
}

View File

@@ -1295,7 +1295,14 @@ do_cmdline(cmdline, fgetline, cookie, flags)
&& cstack.cs_trylevel == 0
#endif
)
&& !(did_emsg && used_getline
&& !(did_emsg
#ifdef FEAT_EVAL
/* Keep going when inside try/catch, so that the error can be
* dealth with, except when it is a syntax error, it may cause
* the :endtry to be missed. */
&& (cstack.cs_trylevel == 0 || did_emsg_syntax)
#endif
&& used_getline
&& (getline_equal(fgetline, cookie, getexmodeline)
|| getline_equal(fgetline, cookie, getexline)))
&& (next_cmdline != NULL
@@ -1305,6 +1312,7 @@ do_cmdline(cmdline, fgetline, cookie, flags)
|| (flags & DOCMD_REPEAT)));
vim_free(cmdline_copy);
did_emsg_syntax = FALSE;
#ifdef FEAT_EVAL
free_cmdlines(&lines_ga);
ga_clear(&lines_ga);
@@ -2137,6 +2145,7 @@ do_one_cmd(cmdlinep, sourcing,
if (!sourcing)
append_command(*cmdlinep);
errormsg = IObuff;
did_emsg_syntax = TRUE;
}
goto doend;
}
@@ -3390,12 +3399,23 @@ set_one_cmd_context(xp, buff)
return NULL;
/* Find start of last argument (argument just before cursor): */
p = buff + STRLEN(buff);
while (p != arg && *p != ' ' && *p != TAB)
p--;
if (*p == ' ' || *p == TAB)
p++;
p = buff;
xp->xp_pattern = p;
len = (int)STRLEN(buff);
while (*p && p < buff + len)
{
if (*p == ' ' || *p == TAB)
{
/* argument starts after a space */
xp->xp_pattern = ++p;
}
else
{
if (*p == '\\' && *(p + 1) != NUL)
++p; /* skip over escaped character */
mb_ptr_adv(p);
}
}
if (ea.argt & XFILE)
{
@@ -3504,6 +3524,23 @@ set_one_cmd_context(xp, buff)
#endif
}
}
#if defined(FEAT_CMDL_COMPL)
/* Check for user names */
if (*xp->xp_pattern == '~')
{
for (p = xp->xp_pattern + 1; *p != NUL && *p != '/'; ++p)
;
/* Complete ~user only if it partially matches a user name.
* A full match ~user<Tab> will be replaced by user's home
* directory i.e. something like ~user<Tab> -> /home/user/ */
if (*p == NUL && p > xp->xp_pattern + 1
&& match_user(xp->xp_pattern + 1) == 1)
{
xp->xp_context = EXPAND_USER;
++xp->xp_pattern;
}
}
#endif
}
/*
@@ -3821,8 +3858,17 @@ set_one_cmd_context(xp, buff)
if (compl == EXPAND_MAPPINGS)
return set_context_in_map_cmd(xp, (char_u *)"map",
arg, forceit, FALSE, FALSE, CMD_map);
while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL)
arg = xp->xp_pattern + 1;
/* Find start of last argument. */
p = arg;
while (*p)
{
if (*p == ' ')
/* argument starts after a space */
arg = p + 1;
else if (*p == '\\' && *(p + 1) != NUL)
++p; /* skip over escaped character */
mb_ptr_adv(p);
}
xp->xp_pattern = arg;
}
xp->xp_context = compl;
@@ -5376,6 +5422,7 @@ static struct
#endif
{EXPAND_TAGS, "tag"},
{EXPAND_TAGS_LISTFILES, "tag_listfiles"},
{EXPAND_USER, "user"},
{EXPAND_USER_VARS, "var"},
{0, NULL}
};
@@ -5845,8 +5892,14 @@ uc_split_args(arg, lenp)
}
else
{
#ifdef FEAT_MBYTE
int charlen = (*mb_ptr2len)(p);
len += charlen;
p += charlen;
#else
++len;
++p;
#endif
}
}
@@ -5889,7 +5942,7 @@ uc_split_args(arg, lenp)
}
else
{
*q++ = *p++;
MB_COPY_CHAR(p, q);
}
}
*q++ = '"';
@@ -7478,7 +7531,42 @@ ex_tabnext(eap)
ex_tabmove(eap)
exarg_T *eap;
{
tabpage_move(eap->addr_count == 0 ? 9999 : (int)eap->line2);
int tab_number = 9999;
if (eap->arg && *eap->arg != NUL)
{
char_u *p = eap->arg;
int relative = 0; /* argument +N/-N means: move N places to the
* right/left relative to the current position. */
if (*eap->arg == '-')
{
relative = -1;
p = eap->arg + 1;
}
else if (*eap->arg == '+')
{
relative = 1;
p = eap->arg + 1;
}
else
p = eap->arg;
if (p == skipdigits(p))
{
/* No numbers as argument. */
eap->errmsg = e_invarg;
return;
}
tab_number = getdigits(&p);
if (relative != 0)
tab_number = tab_number * relative + tabpage_index(curtab) - 1;;
}
else if (eap->addr_count != 0)
tab_number = eap->line2;
tabpage_move(tab_number);
}
/*

View File

@@ -2268,10 +2268,12 @@ getexmodeline(promptc, cookie, indent)
if (c1 == Ctrl_T)
{
long sw = get_sw_value();
p = (char_u *)line_ga.ga_data;
p[line_ga.ga_len] = NUL;
indent = get_indent_str(p, 8);
indent += curbuf->b_p_sw - indent % curbuf->b_p_sw;
indent += sw - indent % sw;
add_indent:
while (get_indent_str(p, 8) < indent)
{
@@ -2323,7 +2325,7 @@ redraw:
p[line_ga.ga_len] = NUL;
indent = get_indent_str(p, 8);
--indent;
indent -= indent % curbuf->b_p_sw;
indent -= indent % get_sw_value();
}
while (get_indent_str(p, 8) > indent)
{
@@ -3133,7 +3135,8 @@ cmdline_paste_str(s, literally)
else
#endif
c = *s++;
if (cv == Ctrl_V || c == ESC || c == Ctrl_C || c == CAR || c == NL
if (cv == Ctrl_V || c == ESC || c == Ctrl_C
|| c == CAR || c == NL || c == Ctrl_L
#ifdef UNIX
|| c == intr_char
#endif
@@ -4333,6 +4336,7 @@ addstar(fname, len, context)
* EXPAND_EXPRESSION Complete internal or user defined function/variable
* names in expressions, eg :while s^I
* EXPAND_ENV_VARS Complete environment variable names
* EXPAND_USER Complete user names
*/
static void
set_expand_context(xp)
@@ -4678,6 +4682,7 @@ ExpandFromContext(xp, pat, num_file, file, options)
{EXPAND_LOCALES, get_locales, TRUE, FALSE},
#endif
{EXPAND_ENV_VARS, get_env_name, TRUE, TRUE},
{EXPAND_USER, get_users, TRUE, FALSE},
};
int i;
@@ -4692,7 +4697,7 @@ ExpandFromContext(xp, pat, num_file, file, options)
if (tab[i].ic)
regmatch.rm_ic = TRUE;
ret = ExpandGeneric(xp, &regmatch, num_file, file,
tab[i].func, tab[i].escaped);
tab[i].func, tab[i].escaped);
break;
}
}
@@ -5125,7 +5130,7 @@ ExpandRTDir(pat, num_file, file, dirnames)
vim_free(matches);
}
if (ga.ga_len == 0)
return FAIL;
return FAIL;
/* Sort and remove duplicates which can happen when specifying multiple
* directories in dirnames. */

View File

@@ -1813,7 +1813,7 @@ conv_to_pvim()
ptr[i] = toF_leading(ptr[i]);
++i;
while(canF_Rjoin(ptr[i]) && (i < llen))
while (canF_Rjoin(ptr[i]) && i < llen)
{
ptr[i] = toF_Rjoin(ptr[i]);
if (F_isterm(ptr[i]) || !F_isalpha(ptr[i]))

View File

@@ -1056,6 +1056,9 @@
# ifdef FEAT_BIG
# define FEAT_MOUSE_URXVT
# endif
# ifdef FEAT_BIG
# define FEAT_MOUSE_SGR
# endif
# if defined(FEAT_NORMAL) && (defined(MSDOS) || defined(WIN3264))
# define DOS_MOUSE
# endif
@@ -1077,6 +1080,11 @@
# define FEAT_MOUSE_XTERM
#endif
/* sgr is a small variation of mouse_xterm, and shares its code */
#if defined(FEAT_MOUSE_SGR) && !defined(FEAT_MOUSE_XTERM)
# define FEAT_MOUSE_XTERM
#endif
/* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
#if !defined(FEAT_MOUSE_TTY) \
&& (defined(FEAT_MOUSE_XTERM) \
@@ -1087,7 +1095,8 @@
|| defined(FEAT_MOUSE_JSB) \
|| defined(FEAT_MOUSE_PTERM) \
|| defined(FEAT_SYSMOUSE) \
|| defined(FEAT_MOUSE_URXVT))
|| defined(FEAT_MOUSE_URXVT) \
|| defined(FEAT_MOUSE_SGR))
# define FEAT_MOUSE_TTY /* include non-GUI mouse support */
#endif
#if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))

View File

@@ -7060,8 +7060,23 @@ buf_check_timestamp(buf, focus)
}
if (reload)
{
/* Reload the buffer. */
buf_reload(buf, orig_mode);
#ifdef FEAT_PERSISTENT_UNDO
if (buf->b_p_udf && buf->b_ffname != NULL)
{
char_u hash[UNDO_HASH_SIZE];
buf_T *save_curbuf = curbuf;
/* Any existing undo file is unusable, write it now. */
curbuf = buf;
u_compute_hash(hash);
u_write_undo(NULL, FALSE, buf, hash);
curbuf = save_curbuf;
}
#endif
}
#ifdef FEAT_AUTOCMD
/* Trigger FileChangedShell when the file was changed in any way. */
@@ -7643,6 +7658,7 @@ static struct event_name
{"CmdwinEnter", EVENT_CMDWINENTER},
{"CmdwinLeave", EVENT_CMDWINLEAVE},
{"ColorScheme", EVENT_COLORSCHEME},
{"CompleteDone", EVENT_COMPLETEDONE},
{"CursorHold", EVENT_CURSORHOLD},
{"CursorHoldI", EVENT_CURSORHOLDI},
{"CursorMoved", EVENT_CURSORMOVED},

View File

@@ -3025,7 +3025,7 @@ foldlevelIndent(flp)
flp->lvl = -1;
}
else
flp->lvl = get_indent_buf(buf, lnum) / buf->b_p_sw;
flp->lvl = get_indent_buf(buf, lnum) / get_sw_value();
if (flp->lvl > flp->wp->w_p_fdn)
{
flp->lvl = flp->wp->w_p_fdn;
@@ -3373,7 +3373,7 @@ put_foldopen_recurse(fd, wp, gap, off)
/* open nested folds while this fold is open */
if (fprintf(fd, "%ld", fp->fd_top + off) < 0
|| put_eol(fd) == FAIL
|| put_line(fd, "normal zo") == FAIL)
|| put_line(fd, "normal! zo") == FAIL)
return FAIL;
if (put_foldopen_recurse(fd, wp, &fp->fd_nested,
off + fp->fd_top)
@@ -3417,7 +3417,7 @@ put_fold_open_close(fd, fp, off)
{
if (fprintf(fd, "%ld", fp->fd_top + off) < 0
|| put_eol(fd) == FAIL
|| fprintf(fd, "normal z%c",
|| fprintf(fd, "normal! z%c",
fp->fd_flags == FD_CLOSED ? 'c' : 'o') < 0
|| put_eol(fd) == FAIL)
return FAIL;

View File

@@ -183,6 +183,8 @@ EXTERN int did_endif INIT(= FALSE); /* just had ":endif" */
#endif
EXTERN int did_emsg; /* set by emsg() when the message
is displayed or thrown */
EXTERN int did_emsg_syntax; /* did_emsg set because of a
syntax error */
EXTERN int called_emsg; /* always set by emsg() */
EXTERN int ex_exitval INIT(= 0); /* exit value for ex mode */
EXTERN int emsg_on_display INIT(= FALSE); /* there is an error message */
@@ -513,11 +515,12 @@ EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
# define ONE_CLIPBOARD
# endif
#define CLIP_UNNAMED 1
#define CLIP_UNNAMED_PLUS 2
# define CLIP_UNNAMED 1
# define CLIP_UNNAMED_PLUS 2
EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
EXTERN int clip_autoselect INIT(= FALSE);
EXTERN int clip_autoselect_star INIT(= FALSE);
EXTERN int clip_autoselect_plus INIT(= FALSE);
EXTERN int clip_autoselectml INIT(= FALSE);
EXTERN int clip_html INIT(= FALSE);
EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
@@ -737,9 +740,9 @@ EXTERN int can_si_back INIT(= FALSE);
#endif
EXTERN pos_T saved_cursor /* w_cursor before formatting text. */
# ifdef DO_INIT
#ifdef DO_INIT
= INIT_POS_T(0, 0, 0)
# endif
#endif
;
/*
@@ -807,9 +810,9 @@ EXTERN int enc_latin9 INIT(= FALSE); /* 'encoding' is latin9 */
# endif
EXTERN int has_mbyte INIT(= 0); /* any multi-byte encoding */
#if defined(WIN3264) && defined(FEAT_MBYTE)
# if defined(WIN3264) && defined(FEAT_MBYTE)
EXTERN int wide_WindowProc INIT(= FALSE); /* use wide WindowProc() */
#endif
# endif
/*
* To speed up BYTELEN() we fill a table with the byte lengths whenever
@@ -1099,8 +1102,8 @@ EXTERN char_u langmap_mapchar[256]; /* mapping for language keys */
EXTERN int save_p_ls INIT(= -1); /* Save 'laststatus' setting */
EXTERN int save_p_wmh INIT(= -1); /* Save 'winminheight' setting */
EXTERN int wild_menu_showing INIT(= 0);
#define WM_SHOWN 1 /* wildmenu showing */
#define WM_SCROLLED 2 /* wildmenu showing with scroll */
# define WM_SHOWN 1 /* wildmenu showing */
# define WM_SCROLLED 2 /* wildmenu showing with scroll */
#endif
#ifdef MSWIN
@@ -1310,9 +1313,9 @@ EXTERN Window clientWindow INIT(= None);
EXTERN Atom commProperty INIT(= None);
EXTERN char_u *serverDelayedStartName INIT(= NULL);
# else
# ifdef PROTO
# ifdef PROTO
typedef int HWND;
# endif
# endif
EXTERN HWND clientWindow INIT(= 0);
# endif
#endif

View File

@@ -37,8 +37,7 @@ static void gui_set_fg_color __ARGS((char_u *name));
static void gui_set_bg_color __ARGS((char_u *name));
static win_T *xy2win __ARGS((int x, int y));
#if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X) \
&& !defined(__APPLE__)
#if defined(UNIX) && !defined(MACOS_X) && !defined(__APPLE__)
# define MAY_FORK
static void gui_do_fork __ARGS((void));
@@ -784,11 +783,9 @@ error:
gui_exit(rc)
int rc;
{
#ifndef __BEOS__
/* don't free the fonts, it leads to a BUS error
* richard@whitequeen.com Jul 99 */
free_highlight_fonts();
#endif
gui.in_use = FALSE;
gui_mch_exit(rc);
}
@@ -3154,7 +3151,7 @@ button_set:
}
if (clip_star.state != SELECT_CLEARED && !did_clip)
clip_clear_selection();
clip_clear_selection(&clip_star);
#endif
/* Don't put events in the input queue now. */

View File

@@ -779,9 +779,6 @@ gui_mch_destroy_scrollbar(scrollbar_T *sb)
/*
* Implementation of the file selector related stuff
*/
#if GTK_CHECK_VERSION(2,4,0)
# define USE_FILE_CHOOSER
#endif
#ifndef USE_FILE_CHOOSER
static void
@@ -840,7 +837,7 @@ gui_mch_browse(int saving UNUSED,
char_u *dflt,
char_u *ext UNUSED,
char_u *initdir,
char_u *filter UNUSED)
char_u *filter)
{
#ifdef USE_FILE_CHOOSER
GtkWidget *fc;
@@ -848,6 +845,7 @@ gui_mch_browse(int saving UNUSED,
char_u dirbuf[MAXPATHL];
guint log_handler;
const gchar *domain = "Gtk";
GtkFileFilter *gfilter;
title = CONVERT_TO_UTF8(title);
@@ -879,6 +877,45 @@ gui_mch_browse(int saving UNUSED,
NULL);
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
(const gchar *)dirbuf);
if (filter != NULL && *filter != NUL)
{
int i = 0;
char_u *patt;
char_u *p = filter;
gfilter = gtk_file_filter_new();
patt = alloc(STRLEN(filter));
while (p != NULL && *p != NUL)
{
if (*p == '\n' || *p == ';' || *p == '\t')
{
STRNCPY(patt, filter, i);
patt[i] = '\0';
if (*p == '\t')
gtk_file_filter_set_name(gfilter, (gchar *)patt);
else
{
gtk_file_filter_add_pattern(gfilter, (gchar *)patt);
if (*p == '\n')
{
gtk_file_chooser_add_filter((GtkFileChooser *)fc,
gfilter);
if (*(p + 1) != NUL)
gfilter = gtk_file_filter_new();
}
}
filter = ++p;
i = 0;
}
else
{
p++;
i++;
}
}
vim_free(patt);
}
if (saving && dflt != NULL && *dflt != NUL)
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(fc), (char *)dflt);
@@ -1304,7 +1341,7 @@ gui_mch_dialog(int type, /* type of dialog */
gtk_widget_show(entry);
/* Make Enter work like pressing OK. */
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
text = CONVERT_TO_UTF8(textfield);
gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);

View File

@@ -375,11 +375,8 @@ set_pixmap(XmEnhancedButtonWidget eb)
XGetGeometry(dpy, pix, &root, &x, &y, &width, &height, &border, &depth);
if (eb->enhancedbutton.label_location == (int)XmTOP
|| eb->enhancedbutton.label_location == (int)XmBOTTOM)
shift = eb->primitive.shadow_thickness / 2;
else
shift = eb->primitive.shadow_thickness / 2;
/* TODO: does the shift depend on label_location somehow? */
shift = eb->primitive.shadow_thickness / 2;
if (shift < 1)
shift = 1;

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