Compare commits

..

84 Commits

Author SHA1 Message Date
Bram Moolenaar
48f80c276b updated for version 7.2.372
Problem:    Cross-compiling GvimExt and xxd doesn't work.
Solution:   Change the build files. (Markus Heidelberg)
2010-02-24 15:08:27 +01:00
Bram Moolenaar
25153e127d updated for version 7.2.371
Problem:    Build problems on Tandem NonStop.
Solution:   A few changes to #ifdefs (Joachim Schmitz)
2010-02-24 14:47:08 +01:00
Bram Moolenaar
f4d7f944ba updated for version 7.2.370
Problem:    A redraw may cause folds to be closed.
Solution:   Revert part of the previous patch.  Add a test. (Lech Lorens)
2010-02-24 14:34:19 +01:00
Bram Moolenaar
54c1b4965b updated for version 7.2.369
Problem:    Error message is not easy to understand.
Solution:   Add quotes. (SungHyun Nam)
2010-02-24 14:01:28 +01:00
Bram Moolenaar
83bac8b756 updated for version 7.2.368
Problem:    Ruby interface: Appending line doesn't work. (Michael Henry)
Solution:   Reverse check for NULL line. (James Vega)
2010-02-18 15:53:29 +01:00
Bram Moolenaar
8a33e74dd2 updated for version 7.2.367
Problem:    "xxd -r -p" doesn't work as documented.
Solution:   Skip white space. (James Vega)
2010-02-17 18:28:41 +01:00
Bram Moolenaar
bacd9da40e updated for version 7.2.366
Problem:    CTRL-B doesn't go back to the first line of the buffer.
Solution:   Avoid an overflow when adding MAXCOL.
2010-02-17 18:20:37 +01:00
Bram Moolenaar
8c83ac3d83 updated for version 7.2.365
Problem:    MS-Windows with MingW: "File->Save As" does not work. (John
            Marriott)
Solution:   Correctly fill in structure size. (Andy Kittner)
2010-02-17 17:34:43 +01:00
Bram Moolenaar
175aa24846 updated for version 7.2.364
Problem:    Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
Solution:   Check if _MSC_VER is defined. (Andy Kittner)
2010-02-17 17:24:27 +01:00
Bram Moolenaar
3a0573acae updated for version 7.2.363
Problem:    Can't dynamically load Perl 5.10.
Solution:   Add the function Perl_croak_xs_usage. (Sergey Khorev)
2010-02-17 16:40:58 +01:00
Bram Moolenaar
33d0b69ab8 updated for version 7.2.362
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Instead of handling WM_NCCREATE, create wide text area window
            class if the parent window iw side. (Sergey Khorev)
2010-02-17 16:31:32 +01:00
Bram Moolenaar
165641da25 updated for version 7.2.361
Problem:    Ruby 1.9 is not supported.
Solution:   Add Ruby 1.9 support. (Msaki Suketa)
2010-02-17 16:23:09 +01:00
Bram Moolenaar
0b69c73411 updated for version 7.2.360
Problem:    Ruby on MS-Windows: can't use sockets.
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
2010-02-17 15:11:50 +01:00
Bram Moolenaar
0ca4b350f0 updated for version 7.2.359
Problem:    Crash when using the Netbeans join command.
Solution:   Make sure the ml_flush_line() function is not used recursively.
            (Xavier de Gaye)
2010-02-11 18:54:43 +01:00
Bram Moolenaar
b4990bf90b updated for version 7.2.358
Problem:    Compiler warnings on VMS. (Zoltan Arpadffy)
Solution:   Pass array itself instead its address.  Return a value.
2010-02-11 18:19:38 +01:00
Bram Moolenaar
0413d48711 updated for version 7.2.357
Problem:    When changing 'fileformat' from/to "mac" and there is a CR in the
            text the display is wrong.
Solution:   Redraw the text when 'fileformat' is changed. (Ben Schmidt)
2010-02-11 17:02:11 +01:00
Bram Moolenaar
6dfc28be25 Updated runtime files. 2010-02-11 14:19:15 +01:00
Bram Moolenaar
cee6a352b2 updated for version 7.2.356
Problem:    When 'foldmethod' is changed not all folds are closed as expected.
Solution:   In foldUpdate() correct the start position and reset fd_flags when
            w_foldinvalid is set. (Lech Lorens)
2010-02-03 18:14:49 +01:00
Bram Moolenaar
6427c608e7 updated for version 7.2.355
Problem:    Computing the cursor column in validate_cursor_col() is wrong when
            line numbers are used and 'n' is not in 'cpoptions', causing the
            popup menu to be positioned wrong.
Solution:   Correctly use the offset. (partly by Dominique Pelle)
2010-02-03 17:43:07 +01:00
Bram Moolenaar
990bb661a1 updated for version 7.2.354
Problem:    Japanese single-width double-byte characters not handled correctly.
Solution:   Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[].
            (partly by Kikuchan)
2010-02-03 15:48:04 +01:00
Bram Moolenaar
f86f26c06a updated for version 7.2.353
Problem:    No command line completion for ":profile".
Solution:   Complete the subcommand and file name.
2010-02-03 15:14:22 +01:00
Bram Moolenaar
4d526ad35a updated for version 7.2.352
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Always return TRUE for the WM_NCCREATE message. (Andy Kittner)
2010-02-03 12:23:24 +01:00
Bram Moolenaar
d21d9a6c61 updated for version 7.2.351
Problem:    Can't build with some compilers.
Solution:   Move the #ifdef outside of a macro.  Cleanup the code.
2010-01-28 22:58:16 +01:00
Bram Moolenaar
c5d5d01ad9 updated for version 7.2.350
Problem:    Win32: When changing font the window may jump from the secondary
            to the primary screen. (Michael Wookey)
Solution:   When the screen position was negative don't correct it to zero.
2010-01-27 21:05:05 +01:00
Bram Moolenaar
6d1dcffc35 updated for version 7.2.349
Problem:    CTRL-W gf doesn't put the new tab in the same place as "tab split"
            and "gf". (Tony Mechelynck)
Solution:   Store the tab number in cmdmod.tab.
2010-01-27 20:26:46 +01:00
Bram Moolenaar
da4d7a92d5 updated for version 7.2.348
Problem:    Unicode double-width characters are not up-to date.
Solution:   Produce the double-width table like the others.
2010-01-27 18:29:26 +01:00
Bram Moolenaar
0dbf720d86 updated for version 7.2.347
Problem:    Crash when executing <expr> mapping redefines that same mapping.
Solution:   Save the values used before evaluating the expression.
2010-01-27 17:31:43 +01:00
Bram Moolenaar
38ef43b262 updated for version 7.2.346
Problem:    Repeating a command with @: causes a mapping to be applied twice.
Solution:   Do not remap characters inserted in the typeahead buffer. (Kana
            Natsuno)
2010-01-27 16:31:13 +01:00
Bram Moolenaar
5075aad6a8 updated for version 7.2.345
Problem:    Tab line is not updated when the value of 'bt' is changed.
Solution:   Call redraw_titles(). (Lech Lorens)
2010-01-27 15:58:13 +01:00
Bram Moolenaar
7ad01410da Add more pathdef.c to .hgignore. 2010-01-20 21:56:50 +01:00
Bram Moolenaar
8d8ef0b0b9 updated for version 7.2.344
Problem:    Can't compile on some systems
Solution:   Move the #ifdef outside of the mch_open macro. (Patrick Texier)
2010-01-20 21:41:47 +01:00
Bram Moolenaar
fc307fa1a6 updated for version 7.2.343
Problem:    Can't compile on Win32.
Solution:   Insert the missing bar.
2010-01-19 23:30:41 +01:00
Bram Moolenaar
d836bb90ab updated for version 7.2.342
Problem:    Popup menu displayed wrong in 'rightleft' mode when there are
            multi-byte characters.
Solution:   Adjust the column computations. (Dominique Pelle)
2010-01-19 18:06:03 +01:00
Bram Moolenaar
e4ebd29ea9 updated for version 7.2.341
Problem:    Popup menu wraps to next line when double-wide character doesn't
            fit. (Jiang Ma)
Solution:   Display a ">" instead. (Dominique Pelle)
2010-01-19 17:40:46 +01:00
Bram Moolenaar
3ee0229f64 updated for version 7.2.340
Problem:    Gcc warning for condition that can never be true. (James Vega)
Solution:   Use start_lvl instead flp->lvl.
2010-01-19 17:24:25 +01:00
Bram Moolenaar
c4e4198730 updated for version 7.2.339
Problem:    Part of --startuptime patch is missing.
Solution:   Add check for time_fd.
2010-01-19 16:31:47 +01:00
Bram Moolenaar
6b29b0e809 updated for version 7.2.338
Problem:    Part of FD_CLOEXEC change is missing.
Solution:   Include source file skipped because of typo.
2010-01-19 16:22:03 +01:00
Bram Moolenaar
3d63e3f160 updated for version 7.2.337
Problem:    The :compiler command doesn't function properly when invoked in a
            function.
Solution:   Add "g:" before "current_compiler". (Yukihiro Nakadaira)
2010-01-19 16:13:50 +01:00
Bram Moolenaar
7e506b6a42 updated for version 7.2.336
Problem:    MzScheme interface can't evaluate an expression.
Solution:   Add mzeval(). (Sergey Khorev)
2010-01-19 15:55:06 +01:00
Bram Moolenaar
6d8027a6c2 updated for version 7.2.335
Problem:    The CTRL-] command escapes too many characters.
Solution:   Use a different list of characters to be escaped. (Sergey Khorev)
2010-01-19 15:24:27 +01:00
Bram Moolenaar
8065d7fd9c updated for version 7.2.334
Problem:    Postponing keys in Netbeans interface does not work properly.
Solution:   Store the key string instead of the number.  Avoid an infinite
            loop. (Mostly by Xavier de Gaye)
2010-01-19 15:13:14 +01:00
Bram Moolenaar
2660c0ea9b updated for version 7.2.333
Problem:    Warnings from static code analysis.
Solution:   Small changes to various lines. (Dominique Pelle)
2010-01-19 14:59:56 +01:00
Bram Moolenaar
3ea38ef239 updated for version 7.2.332
Problem:    Crash when spell correcting triggers an autocommand that reloads
            the buffer.
Solution:   Make a copy of the line to be modified. (Dominique Pelle)
2010-01-19 13:08:42 +01:00
Bram Moolenaar
f68f656213 updated for version 7.2.331
Problem:    Can't interrupt "echo list" for a very long list.
Solution:   Call line_breakcheck() in list_join().
2010-01-19 12:48:05 +01:00
Bram Moolenaar
c0880db674 Add a few missing runtime files. 2010-01-17 14:38:06 +01:00
Bram Moolenaar
9db9d9ce05 Updated runtime files. 2010-01-16 14:29:14 +01:00
Bram Moolenaar
555cdc2f8c Updated runtime files. 2010-01-12 21:31:21 +01:00
Bram Moolenaar
3e8cb58725 updated for version 7.2.330
Problem:    Tables for Unicode case operators are outdated.
Solution:   Add a Vim script for generating the tables.  Include tables for
            Unicode 5.2.
2010-01-12 19:52:03 +01:00
Bram Moolenaar
5890b2cf9e updated for version 7.2.329
Problem:    "g_" doesn't position cursor correctly when in Visual mode and
            'selection' is "exclusive". (Ben Fritz)
Solution:   Call adjust_for_sel().
2010-01-12 15:42:37 +01:00
Bram Moolenaar
e37d79928d updated for version 7.2.328
Problem:    has("win64") does not return 1 on 64 bit MS-Windows version.
Solution:   Also check for _WIN64 besides WIN64.
2010-01-12 13:18:33 +01:00
Bram Moolenaar
ef3c1a7fd7 Fixed encoding name in Ukranian message file. 2010-01-11 20:07:07 +01:00
Bram Moolenaar
a17c9cebd3 Add an .hgignore file (suggested by Mike Williams). 2010-01-10 14:44:52 +01:00
Bram Moolenaar
7608643f38 Remove config.h from the distribution, let's see if that works. 2010-01-10 14:35:14 +01:00
Bram Moolenaar
d8e21d3deb Minor text file updates. 2010-01-06 21:16:31 +01:00
Bram Moolenaar
5c73622a90 Update runtime files. 2010-01-06 20:54:52 +01:00
Bram Moolenaar
8f3f58f2c3 Update documentation files. 2010-01-06 20:52:26 +01:00
Bram Moolenaar
28c3795987 Update message translations. 2010-01-06 20:29:28 +01:00
Bram Moolenaar
ba07ce32cc updated for version 7.2.327 2010-01-06 18:25:34 +01:00
Bram Moolenaar
6f97701373 updated for version 7.2.326 2010-01-06 17:53:38 +01:00
Bram Moolenaar
70d60e9da1 updated for version 7.2-325 2009-12-31 13:53:33 +00:00
Bram Moolenaar
742d1ecd17 updated for version 7.2-324 2009-12-31 12:18:30 +00:00
Bram Moolenaar
281daf62aa updated for version 7.2-323 2009-12-24 15:11:40 +00:00
Bram Moolenaar
3084894793 updated for version 7.2-322 2009-12-24 14:46:12 +00:00
Bram Moolenaar
c7be3f30d0 updated for version 7.2-321 2009-12-24 14:01:12 +00:00
Bram Moolenaar
0a1c0ece44 updated for version 7.2-320 2009-12-16 18:02:47 +00:00
Bram Moolenaar
088598d7d6 updated for version 7.2-319 2009-12-16 17:49:39 +00:00
Bram Moolenaar
5d985b9cca updated for version 7.2-318 2009-12-16 17:28:07 +00:00
Bram Moolenaar
f5b6386f4f updated for version 7.2-317 2009-12-16 17:13:44 +00:00
Bram Moolenaar
56d1db3067 updated for version 7.2-316 2009-12-16 16:14:51 +00:00
Bram Moolenaar
72951077b9 updated for version 7.2-315 2009-12-02 16:58:33 +00:00
Bram Moolenaar
d7cd61723e updated for version 7.2-314 2009-12-02 16:47:11 +00:00
Bram Moolenaar
d7834d3065 updated for version 7.2-313 2009-12-02 16:14:36 +00:00
Bram Moolenaar
243973325e updated for version 7.2-312 2009-12-02 14:02:39 +00:00
Bram Moolenaar
f4888d0535 updated for version 7.2-311 2009-12-02 12:31:27 +00:00
Bram Moolenaar
43b36a3bc6 updated for version 7.2-310 2009-12-02 11:08:38 +00:00
Bram Moolenaar
d32a319f40 updated for version 7.2-309 2009-11-26 19:40:49 +00:00
Bram Moolenaar
5ea08a893a updated for version 7.2-308 2009-11-25 18:51:24 +00:00
Bram Moolenaar
d3005803d5 updated for version 7.2-307 2009-11-25 17:21:32 +00:00
Bram Moolenaar
099d01d4a7 updated for version 7.2-306 2009-11-25 16:14:45 +00:00
Bram Moolenaar
19f990e497 updated for version 7.2-305 2009-11-25 12:08:03 +00:00
Bram Moolenaar
331dafdbb8 updated for version 7.2-304 2009-11-25 11:38:30 +00:00
Bram Moolenaar
4592dee576 updated for version 7.2-303 2009-11-18 19:11:58 +00:00
Bram Moolenaar
f11021be13 updated for version 7.2-302 2009-11-17 16:57:14 +00:00
Bram Moolenaar
97b9810bdf updated for version 7.2-301 2009-11-17 16:41:01 +00:00
455 changed files with 30659 additions and 8742 deletions

39
.gitignore vendored Normal file
View File

@@ -0,0 +1,39 @@
# Unixen: object and executable files.
*.o
src/vim
src/xxd/xxd
# We do need src/auto/configure and src/auto/config.mk.
src/auto/osdef.h
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.status
src/auto/configure.aap
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.manifest
*.exp
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
# All platforms
*.rej
*.orig
*.mo
*~

View File

@@ -681,6 +681,11 @@ LANG_GEN = \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/tet/*.diff \
runtime/spell/tet/main.aap \
runtime/spell/check/main.aap \
runtime/spell/check/*.aff \
runtime/spell/check/*.dic \
runtime/spell/yi/README.txt \
runtime/spell/main.aap \
runtime/spell/*.vim \

View File

@@ -403,7 +403,7 @@ dosrt_unix2dos: dist prepare no_title.vim
$(RT_AMI_DOS) \
$(LANG_GEN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(RT_UNIX_DOS_BIN) \
$(RT_ALL_BIN) \
@@ -432,7 +432,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -451,7 +451,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -468,7 +468,7 @@ dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -485,7 +485,7 @@ dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -501,7 +501,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -523,7 +523,7 @@ dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp README_w32s.txt dist/vim/$(VIMRTDIR)
@@ -539,7 +539,7 @@ doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
@@ -569,7 +569,7 @@ dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
@@ -586,7 +586,7 @@ os2bin: dist no_title.vim dist/$(COMMENT_OS2)
tar cf - \
$(BIN_OS2) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe

View File

@@ -93,7 +93,7 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime
Vim version 7.2 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim72. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
@@ -105,10 +105,10 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim72\vim.exe The Vim version 6.0 executable.
C:\vim\vim72\doc\*.txt The version 6.0 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 6.0 script.
C:\vim\vim72\... Other version 6.0 distributed files.
C:\vim\vim72\vim.exe The Vim version 7.2 executable.
C:\vim\vim72\doc\*.txt The version 7.2 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 7.2 script.
C:\vim\vim72\... Other version 7.2 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim72". Don't add

View File

@@ -1,10 +1,10 @@
README_extra.txt for version 7.2 of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive
(vim-7.0-src.tar.gz). The extra archive is useless without it.
(vim-7.2-src.tar.gz). The extra archive is useless without it.
For more information, see the "README.txt" file that comes with the runtime
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-7.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!
The extra archive plus the source and runtime achives make up the complete

View File

@@ -41,10 +41,10 @@ Extra remarks:
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim72\vim.exe The Vim version 7.1 executable.
C:\vim\vim72\doc\*.txt The version 7.1 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 7.1 script.
C:\vim\vim72\... Other version 7.1 distributed files.
C:\vim\vim72\vim.exe The Vim version 7.2 executable.
C:\vim\vim72\doc\*.txt The version 7.2 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 7.2 script.
C:\vim\vim72\... Other version 7.2 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim

View File

@@ -2,9 +2,9 @@ README_src.txt for version 7.2 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the
systems in combination with the extra archive (vim-7.2-extra.tar.gz, in the
"extra" directory of ftp.vim.org).
For more information, see the README.txt file that comes with the runtime
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-7.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@@ -1,15 +1,15 @@
"------------------------------------------------------------------------------
" Description: Perform Ada specific completion & tagging.
" Language: Ada (2005)
" $Id$
" $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" Taylor Venable <taylor@metasyntax.net>
" Neil Bird <neil@fnxweb.com>
" Ned Okie <nokie@radford.edu>
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword.

View File

@@ -1,12 +1,12 @@
"------------------------------------------------------------------------------
" Description: Vim Ada omnicompletion file
" Language: Ada (2005)
" $Id$
" $Id: adacomplete.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK improved search for begin of word.

View File

@@ -1,13 +1,13 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada)
" $Id$
" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
" History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration

View File

@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
" Date: Jul 10, 2008
" Version: 31
" Date: Dec 28, 2009
" Version: 32
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -12,19 +12,24 @@
" Initialization: {{{1
" if you're sourcing this file, surely you can't be
" expecting vim to be in its vi-compatible mode!
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v32"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
endif
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of getscript needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo = &cpo
set cpo&vim
"DechoTabOn
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v31"
" ---------------------------
" Global Variables: {{{1
" ---------------------------
@@ -40,25 +45,6 @@ if !exists("g:getscript_cygwin")
let g:getscript_cygwin= 0
endif
endif
" shell quoting character {{{2
if exists("g:netrw_shq") && !exists("g:getscript_shq")
let g:getscript_shq= g:netrw_shq
elseif !exists("g:getscript_shq")
if exists("&shq") && &shq != ""
let g:getscript_shq= &shq
elseif exists("&sxq") && &sxq != ""
let g:getscript_shq= &sxq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if g:getscript_cygwin
let g:getscript_shq= "'"
else
let g:getscript_shq= '"'
endif
else
let g:getscript_shq= "'"
endif
" call Decho("g:getscript_shq<".g:getscript_shq.">")
endif
" wget vs curl {{{2
if !exists("g:GetLatestVimScripts_wget")
@@ -112,7 +98,9 @@ if g:GetLatestVimScripts_allowautoinstall
endif
endif
if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
if exists("g:GetLatestVimScripts_autoinstalldir") && isdirectory(g:GetLatestVimScripts_autoinstalldir)
let s:autoinstall= g:GetLatestVimScripts_autoinstalldir"
elseif exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
let s:autoinstall= $HOME."/".s:dotvim
endif
" call Decho("s:autoinstall<".s:autoinstall.">")
@@ -165,7 +153,6 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory")
return
endif
if filewritable(datadir) != 2
echoerr "(getLatestVimScripts) Your ".datadir." isn't writable"
" call Dret("GetLatestVimScripts : non-writable directory<".datadir.">")
@@ -182,21 +169,29 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">")
return
endif
" --------------------
" Passed sanity checks
" --------------------
" call Decho("datadir <".datadir.">")
" call Decho("datafile <".datafile.">")
" don't let any events interfere (like winmanager's, taglist's, etc)
let eikeep= &ei
let hlskeep= &hls
set ei=all hls&vim
" don't let any event handlers interfere (like winmanager's, taglist's, etc)
let eikeep = &ei
let hlskeep = &hls
let acdkeep = &acd
set ei=all hls&vim noacd
" record current directory, change to datadir, open split window with
" datafile
" Edit the datafile (ie. GetLatestVimScripts.dat):
" 1. record current directory (origdir),
" 2. change directory to datadir,
" 3. split window
" 4. edit datafile
let origdir= getcwd()
" call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge')))
exe "cd ".fnameescape(substitute(datadir,'\','/','ge'))
split
" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge')))
" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge')))
exe "e ".fnameescape(substitute(datafile,'\','/','ge'))
res 1000
let s:downloads = 0
@@ -207,69 +202,68 @@ fun! getscript#GetLatestVimScripts()
" call Decho("searching plugins for GetLatestVimScripts dependencies")
let lastline = line("$")
" call Decho("lastline#".lastline)
let plugins = split(globpath(&rtp,"plugin/*.vim"),'\n')
let firstdir = substitute(&rtp,',.*$','','')
let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n')
let foundscript = 0
let firstdir= ""
" this loop updates the GetLatestVimScripts.dat file
" with dependencies explicitly mentioned in the plugins
" via GetLatestVimScripts: ... lines
" It reads the plugin script at the end of the GetLatestVimScripts.dat
" file, examines it, and then removes it.
for plugin in plugins
" call Decho(" ")
" call Decho("plugin<".plugin.">")
" don't process plugins in system directories
if firstdir == ""
let firstdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("setting firstdir<".firstdir.">")
else
let curdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("curdir<".curdir.">")
if curdir != firstdir
" call Decho("skipping subsequent plugins: curdir<".curdir."> != firstdir<".firstdir.">")
break
endif
endif
" read plugin in
" evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it
$
" call Decho(" ")
" call Decho(".dependency checking<".plugin."> line$=".line("$"))
" call Decho("exe silent r ".fnameescape(plugin))
" call Decho("..exe silent r ".fnameescape(plugin))
exe "silent r ".fnameescape(plugin)
exe "silent bwipe ".bufnr("#")
while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0
let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
let llp1 = lastline+1
" call Decho("..newscript<".newscript.">")
let depscript = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
let depscriptid = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\(\d\+\)\s\+.*$','\1','')
let llp1 = lastline+1
" call Decho("..depscript<".depscript.">")
" don't process ""GetLatestVimScripts lines -- those that have been doubly-commented out
if newscript !~ '^"'
" found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile
let curline = line(".")
let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e')
exe llp1
let srchline = search('\<'.noai_script.'\>','bW')
" call Decho("..noai_script<".noai_script."> srch=".srchline."curline#".line(".")." lastline#".lastline)
if srchline == 0
" found a new script to permanently include in the datafile
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
exe lastline."put a"
echomsg "Appending <".@a."> to ".datafile." for ".newscript
" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat")
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
" found a "GetLatestVimScripts: # #" line in the script;
" check if its already in the datafile by searching backwards from llp1,
" the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
" for the script-id with no wrapping allowed.
let curline = line(".")
let noai_script = substitute(depscript,'\s*:AutoInstall:\s*','','e')
exe llp1
let srchline = search('^\s*'.depscriptid.'\s\+\d\+\s\+.*$','bW')
if srchline == 0
" this second search is taken when, for example, a 0 0 scriptname is to be skipped over
let srchline= search('\<'.noai_script.'\>','bW')
endif
" call Decho("..noai_script<".noai_script."> depscriptid#".depscriptid." srchline#".srchline." curline#".line(".")." lastline#".lastline)
if srchline == 0
" found a new script to permanently include in the datafile
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
echomsg "Appending <".@a."> to ".datafile." for ".depscript
" call Decho("..Appending <".@a."> to ".datafile." for ".depscript)
exe lastline."put a"
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
endwhile
" llp1: last line plus one
let llp1= lastline + 1
" call Decho(".deleting lines: ".llp1.",$d")
exe "silent! ".llp1.",$d"
@@ -282,7 +276,9 @@ fun! getscript#GetLatestVimScripts()
setlocal nomod
endif
" --------------------------------------------------------------------
" Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat
" --------------------------------------------------------------------
" call Decho("begin: checking out-of-date scripts using datafile<".datafile.">")
setlocal lz
1
@@ -322,8 +318,9 @@ fun! getscript#GetLatestVimScripts()
" restore events and current directory
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
let &ei= eikeep
let &hls= hlskeep
let &ei = eikeep
let &hls = hlskeep
let &acd = acdkeep
setlocal nolz
" call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!")
" call Dret("GetLatestVimScripts : did ".s:downloads." downloads")
@@ -333,7 +330,7 @@ endfun
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
" on the current line, interpreting two numbers and text as
" ScriptID, SourceID, and Filename.
" It downloads any scripts that have newer versions from vim.sf.net.
" It downloads any scripts that have newer versions from vim.sourceforge.net.
fun! s:GetOneScript(...)
" call Dfunc("GetOneScript()")
@@ -391,6 +388,7 @@ fun! s:GetOneScript(...)
" call Decho("fname <".fname.">")
endif
" plugin author protection from downloading his/her own scripts atop their latest work
if scriptid == 0 || srcid == 0
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
let @a= rega
@@ -416,21 +414,21 @@ fun! s:GetOneScript(...)
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
" grab a copy of the plugin's vim.sf.net webpage
let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid
" grab a copy of the plugin's vim.sourceforge.net webpage
let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
let tmpfile = tempname()
let v:errmsg = ""
" make up to three tries at downloading the description
let itry= 1
while itry <= 3
" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
" call Decho(".try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
if has("win32") || has("win16") || has("win95")
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)."|bw!")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)|bw!
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)."|bw!")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)|bw!
else
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr)
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr)
endif
if itry == 1
exe "silent vsplit ".fnameescape(tmpfile)
@@ -495,8 +493,7 @@ fun! s:GetOneScript(...)
let latestsrcid = latestsrcid + 0
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">")
" has the plugin's most-recent srcid increased, which indicates
" that it has been updated
" has the plugin's most-recent srcid increased, which indicates that it has been updated
if latestsrcid > srcid
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">")
@@ -506,65 +503,103 @@ fun! s:GetOneScript(...)
let sname= "NEW_".sname
endif
" -----------------------------------------------------------------------------
" the plugin has been updated since we last obtained it, so download a new copy
" call Decho("...downloading new <".sname.">")
echomsg "...downloading new <".sname.">"
" -----------------------------------------------------------------------------
" call Decho(".downloading new <".sname.">")
echomsg ".downloading new <".sname.">"
if has("win32") || has("win16") || has("win95")
" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)|q
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q
else
" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=').latestsrcid
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid
endif
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
if doautoinstall
" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
" call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
if filereadable(sname)
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall)
" call Decho("<".sname."> is readable")
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
let installdir= curdir."/Installed"
if !isdirectory(installdir)
call mkdir(installdir)
endif
" call Decho("exe cd ".fnameescape(s:autoinstall))
" call Decho("curdir<".curdir."> installdir<".installdir.">")
" call Decho("exe cd ".fnameescape(s:autoinstall))
exe "cd ".fnameescape(s:autoinstall)
" determine target directory for moves
let firstdir= substitute(&rtp,',.*$','','')
let pname = substitute(sname,'\..*','.vim','')
" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?")
if filereadable(firstdir.'/AsNeeded/'.pname)
let tgtdir= "AsNeeded"
else
let tgtdir= "plugin"
endif
" call Decho("tgtdir<".tgtdir."> pname<".pname.">")
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".s:Escape(sname)
exe "silent !bunzip2 ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".s:Escape(sname)
exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
else
" call Decho("no decompression needed")
endif
" distribute archive(.zip, .tar, .vba) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".s:Escape(sname)
exe "silent !unzip -o ".shellescape(sname)
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".s:Escape(sname)
exe "silent !tar -xvf ".shellescape(sname)
elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split
if exists("g:vimball_home")
let oldvimballhome= g:vimball_home
endif
let g:vimball_home= s:autoinstall
exe "silent e ".fnameescape(sname)
silent so %
silent q
if exists("oldvimballhome")
let g:vimball_home= oldvimballhome
else
unlet g:vimball_home
endif
else
" call Decho("no dearchiving needed")
endif
" ---------------------------------------------
" move plugin to plugin/ or AsNeeded/ directory
" ---------------------------------------------
if sname =~ '.vim$'
" call Decho("dearchive: attempt to simply move ".sname." to plugin")
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." plugin"
" call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir
else
" call Decho("dearchive: move <".sname."> to installdir<".installdir.">")
exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".installdir
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
endif
if tgtdir != "plugin"
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
endif
" helptags step
@@ -599,20 +634,6 @@ fun! s:GetOneScript(...)
" call Dret("GetOneScript")
endfun
" ---------------------------------------------------------------------
" s:Escape: makes a string safe&suitable for the shell {{{2
fun! s:Escape(name)
" call Dfunc("s:Escape(name<".a:name.">)")
if exists("*shellescape")
" shellescape() was added by patch 7.0.111
let name= shellescape(a:name)
else
let name= g:getscript_shq . a:name . g:getscript_shq
endif
" call Dret("s:Escape ".name)
return name
endfun
" ---------------------------------------------------------------------
" Restore Options: {{{1
let &cpo= s:keepcpo

View File

@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu>
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: May 30, 2006
" Version: 9
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Date: Sep 30, 2008
" Version: 10
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -20,9 +20,15 @@
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v10"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_netrwFileHandlers= "v9"
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
@@ -73,10 +79,10 @@ fun! s:NFH_html(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq..page.g:netrw_shq
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_html 0")
return 0
@@ -96,10 +102,10 @@ fun! s:NFH_htm(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq.page.g:netrw_shq
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_htm 0")
return 0
@@ -115,10 +121,10 @@ fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else
" call Dret("s:NFH_jpg 0")
return 0
@@ -134,9 +140,9 @@ fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else
" call Dret("s:NFH_gif 0")
return 0
@@ -152,9 +158,9 @@ fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else
" call Dret("s:NFH_png 0")
return 0
@@ -170,9 +176,9 @@ fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else
" call Dret("s:NFH_pnm 0")
return 0
@@ -190,7 +196,7 @@ fun! s:NFH_bmp(bmpfile)
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else
" call Dret("s:NFH_bmp 0")
return 0
@@ -205,9 +211,9 @@ endfun
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq
exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq
exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else
" call Dret("s:NFH_pdf 0")
return 0
@@ -223,7 +229,7 @@ fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq
exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw!
else
" call Dret("s:NFH_doc 0")
@@ -240,7 +246,7 @@ fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq
exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw!
else
" call Dret("s:NFH_sxw 0")
@@ -257,7 +263,7 @@ fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq
exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw!
else
" call Dret("s:NFH_xls 0")
@@ -274,15 +280,15 @@ fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq
exe "silent! !gs ".shellescape(a:ps,1)
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw!
elseif executable("gswin32")
" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq)
exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq
" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw!
else
" call Dret("s:NFH_ps 0")
@@ -298,16 +304,16 @@ endfun
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !gs ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw!
else
" call Dret("s:NFH_eps 0")

View File

@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Jul 02, 2008
" Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 12
" Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,7 +19,13 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v12"
let g:loaded_netrwSettings = "v13"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
echohl Normal
finish
endif
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
@@ -100,6 +106,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
put = 'let g:netrw_cursorline = '.g:netrw_cursorline
let decompressline= line("$")
put ='let g:netrw_decompress...'
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
@@ -138,6 +145,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$")

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info>
" Info: $Id$
" Info: $Id: rubycomplete.vim,v 1.41 2008/06/30 06:50:45 segy Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,6 +1,6 @@
" Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jun 27
" Last Change: 2008 Nov 29
if !exists('g:spellfile_URL')
" Prefer using http:// when netrw should be able to use it, since
@@ -39,19 +39,22 @@ function! spellfile#LoadFile(lang)
let s:donedict[a:lang . &enc] = 1
" Find spell directories we can write in.
let dirlist = []
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
let [dirlist, dirchoices] = spellfile#GetDirChoices()
if len(dirlist) == 0
if &verbose
let dir_to_create = spellfile#WritableSpellDir()
if &verbose || dir_to_create != ''
echomsg 'spellfile#LoadFile(): There is no writable spell directory.'
endif
return
if dir_to_create != ''
if confirm("Shall I create " . dir_to_create, "&Yes\n&No", 2) == 1
" After creating the directory it should show up in the list.
call mkdir(dir_to_create, "p")
let [dirlist, dirchoices] = spellfile#GetDirChoices()
endif
endif
if len(dirlist) == 0
return
endif
endif
let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
@@ -177,3 +180,29 @@ function! spellfile#Nread(fname)
unlet g:netrw_use_errorwindow
endif
endfunc
" Get a list of writable spell directories and choices for confirm().
function! spellfile#GetDirChoices()
let dirlist = []
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
return [dirlist, dirchoices]
endfunc
function! spellfile#WritableSpellDir()
if has("unix")
" For Unix always use the $HOME/.vim directory
return $HOME . "/.vim/spell"
endif
for dir in split(&rtp, ',')
if filewritable(dir) == 2
return dir . "/spell"
endif
endfor
return ''
endfunction

View File

@@ -1,13 +1,19 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 6.0
" Last Change: Thu 03 Apr 2008 10:37:54 PM Eastern Daylight Time
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 7.0
" Last Change: 2009 Jan 04
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" History
" Version 7.0
" Better handling of object names
" Version 6.0
" Supports object names with spaces "my table name"
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
@@ -22,7 +28,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
let g:loaded_sql_completion = 50
let g:loaded_sql_completion = 70
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -106,10 +112,23 @@ function! sqlcomplete#Complete(findstart, base)
let begindot = 1
endif
while start > 0
if line[start - 1] =~ '\(\w\|\s\+\)'
" Additional code was required to handle objects which
" can contain spaces like "my table name".
if line[start - 1] !~ '\(\w\|\.\)'
" If the previous character is not a period or word character
break
" elseif line[start - 1] =~ '\(\w\|\s\+\)'
" let start -= 1
elseif line[start - 1] =~ '\w'
" If the previous character is word character continue back
let start -= 1
elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure'
" If the previous character is a period and we are completing
" an object which can be specified with a period like this:
" table_name.column_name
" owner_name.table_name
" If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup
" a table name if it was also supplied.
@@ -184,9 +203,10 @@ function! sqlcomplete#Complete(findstart, base)
endif
let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '')
if s:sql_file_{compl_type} == ""
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
endif
" Same call below, no need to do it twice
" if s:sql_file_{compl_type} == ""
" let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
" endif
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
if s:sql_file_{compl_type} != ""
if filereadable(s:sql_file_{compl_type})
@@ -312,9 +332,16 @@ function! sqlcomplete#Complete(findstart, base)
endif
if base != ''
" Filter the list based on the first few characters the user
" entered
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
" Filter the list based on the first few characters the user entered.
" Check if the text matches at the beginning
" or
" Match to a owner.table or alias.column type match
" or
" Handle names with spaces "my table name"
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr)
endif

View File

@@ -1,10 +1,15 @@
" Vim completion script
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn.vim@gmail.com>
" Version: 4.0
" Last Change: Fri 26 Oct 2007 05:27:03 PM Eastern Daylight Time
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 5.0
" Last Change: 2010 Jan 31
" Usage: For detailed help, ":help ft-syntax-omni"
" History
" Version 5.0
" When processing a list of syntax groups, the final group
" was missed in function SyntaxCSyntaxGroupItems.
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
@@ -312,9 +317,13 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \zs - start the match
" .\{-} - everything ...
" \ze - end the match
" \( - start a group or 2 potential matches
" \n\w - at the first newline starting with a character
" \| - 2nd potential match
" \%$ - matches end of the file or string
" \) - end a group
let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w'
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)'
\ )
if syntax_group != ""

View File

@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Aug 08, 2008
" Version: 23 + modifications by Bram
" Date: Dec 28, 2009
" Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -16,19 +16,22 @@
" By using this plugin, you agree that in no event will the
" copyright holder be liable for any damages resulting from
" the use of this software.
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" ---------------------------------------------------------------------
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if &cp || exists("g:loaded_tar") || v:version < 700
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v23b"
"call Decho("loading autoload/tar.vim")
if v:version < 701 || (v:version == 701 && !has("patch299"))
echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299"
let g:loaded_tar= "v24"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
"call Decho("loading autoload/tar.vim")
" ---------------------------------------------------------------------
" Default Settings: {{{1
@@ -44,7 +47,22 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= "copy"
endif
elseif has("unix") || has("macunix")
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= ""
endif
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
@@ -56,6 +74,9 @@ if !exists("g:netrw_cygwin")
let g:netrw_cygwin= 0
endif
endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
" set up shell quoting character
if !exists("g:tar_shq")
@@ -88,7 +109,6 @@ fun! tar#Browse(tarfile)
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Browse")
return
@@ -99,7 +119,6 @@ fun! tar#Browse(tarfile)
" if its an url, don't complain, let url-handlers such as vim do its thing
redraw!
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
@@ -130,37 +149,38 @@ fun! tar#Browse(tarfile)
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1)
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
@@ -189,7 +209,7 @@ fun! s:TarBrowseSelect()
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***error*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"; See :help tar-options'
echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
@@ -206,7 +226,7 @@ fun! s:TarBrowseSelect()
let curfile= expand("%")
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
new
@@ -231,21 +251,24 @@ fun! tar#Read(fname,mode)
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
" call Decho("tarfile<".tarfile.">")
" call Decho("fname<".fname.">")
if fname =~ '\.gz$' && executable("zcat")
if fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
elseif fname =~ '\.gz$' && executable("zcat")
let decmp= "|zcat"
let doro = 1
elseif fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
elseif fname =~ '\.lzma$' && executable("lzcat")
let decmp= "|lzcat"
let doro = 1
else
let decmp=""
let doro = 0
if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$'
if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.zip$\|\.Z$'
setlocal bin
endif
endif
@@ -255,22 +278,25 @@ fun! tar#Read(fname,mode)
else
let tar_secure= " "
endif
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.s:Escape(fname,1))
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp)
exe "silent r! cat -- ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
elseif tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp)
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions." "s:Escape(tarfile,1).tar_secure..s:Escape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".s:Escape(tarfile,1).tar_secure.s:Escape(fname,1).decmp
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
endif
if doro
@@ -298,7 +324,7 @@ fun! tar#Write(fname)
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***error*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"; See :help tar-options'
echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"'
" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
@@ -307,7 +333,6 @@ fun! tar#Write(fname)
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -315,7 +340,6 @@ fun! tar#Write(fname)
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -336,7 +360,6 @@ fun! tar#Write(fname)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -355,21 +378,26 @@ fun! tar#Write(fname)
let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives
if tarfile =~# '\.gz'
call system("gzip -d -- ".s:Escape(tarfile,0))
if tarfile =~# '\.bz2'
call system("bzip2 -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.gz'
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".s:Escape(tarfile,0)
let compress= "gzip -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.lzma'
call system("lzma -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.lzma','','e')
let compress= "lzma -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz'
call system("gzip -d -- ".s:Escape(tarfile,0))
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".s:Escape(tarfile,0)
let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.bz2'
call system("bzip2 -d -- ".s:Escape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 -- ".s:Escape(tarfile,0)
" call Decho("compress<".compress.">")
endif
" call Decho("tarfile<".tarfile.">")
@@ -377,7 +405,6 @@ fun! tar#Write(fname)
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" call Decho("tarfile<".tarfile."> fname<".fname.">")
@@ -385,7 +412,7 @@ fun! tar#Write(fname)
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
let dirpath = substitute(system("cygpath ".s:Escape(dirpath, 0)),'\n','','e')
let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
endif
call mkdir(dirpath,"p")
endif
@@ -405,25 +432,23 @@ fun! tar#Write(fname)
endif
exe "w! ".fnameescape(fname)
if executable("cygpath")
let tarfile = substitute(system("cygpath ".s:Escape(tarfile,0)),'\n','','e')
let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
endif
" delete old file from tarfile
" call Decho("system(".g:tar_cmd." --delete -f ".s:Escape(tarfile,0)." -- ".s:Escape(fname,0).")")
call system(g:tar_cmd." --delete -f ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" update tarfile with new file
" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
call system(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
elseif exists("compress")
" call Decho("call system(".compress.")")
call system(compress)
@@ -439,13 +464,13 @@ fun! tar#Write(fname)
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
let tblfile= s:tblfile_{winnr()}
1split|enew
let binkeep= &binary
let binkeep= &l:binary
let eikeep = &ei
set binary ei=all
exe "e! ".fnameescape(tarfile)
call netrw#NetWrite(tblfile)
let &ei = eikeep
let &binary = binkeep
let &ei = eikeep
let &l:binary = binkeep
q!
unlet s:tblfile_{winnr()}
endif
@@ -462,38 +487,98 @@ fun! tar#Write(fname)
endfun
" ---------------------------------------------------------------------
" Rmdir: {{{2
" s:Rmdir: {{{2
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if has("unix")
call system("/bin/rm -rf -- ".s:Escape(a:fname,0))
call system("/bin/rm -rf -- ".shellescape(a:fname,0))
elseif has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~? "sh$"
call system("/bin/rm -rf -- ".s:Escape(a:fname,0))
call system("/bin/rm -rf -- ".shellescape(a:fname,0))
else
call system("del /S ".s:Escape(a:fname,0))
call system("del /S ".shellescape(a:fname,0))
endif
endif
" call Dret("Rmdir")
endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun s:Escape(name,isfilt)
" shellescape() was added by patch 7.0.111
if exists("*shellescape")
if a:isfilt
let qnameq= shellescape(a:name,1)
" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2
fun! tar#Vimuntar(...)
" call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">")
let tarball = expand("%")
" call Decho("tarball<".tarball.">")
let tarbase = substitute(tarball,'\..*$','','')
" call Decho("tarbase<".tarbase.">")
let tarhome = expand("%:p")
if has("win32") || has("win95") || has("win64") || has("win16")
let tarhome= substitute(tarhome,'\\','/','g')
endif
let tarhome= substitute(tarhome,'/[^/]*$','','')
" call Decho("tarhome<".tarhome.">")
let tartail = expand("%:t")
" call Decho("tartail<".tartail.">")
let curdir = getcwd()
" call Decho("curdir <".curdir.">")
" set up vimhome
if a:0 > 0 && a:1 != ""
let vimhome= a:1
else
let vimhome= vimball#VimballHome()
endif
" call Decho("vimhome<".vimhome.">")
" call Decho("curdir<".curdir."> vimhome<".vimhome.">")
if simplify(curdir) != simplify(vimhome)
" copy (possibly compressed) tarball to .vim/vimfiles
" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
" call Decho("exe cd ".fnameescape(vimhome))
exe "cd ".fnameescape(vimhome)
endif
" call Decho("getcwd<".getcwd().">")
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
if executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
else
let qnameq= shellescape(a:name)
echoerr "unable to decompress<".tartail."> on this sytem"
if simplify(curdir) != simplify(tarhome)
" remove decompressed tarball, restore directory
" call Decho("delete(".tartail.".tar)")
call delete(tartail.".tar")
" call Decho("exe cd ".fnameescape(curdir))
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
return
endif
else
let qnameq= g:tar_shq . a:name . g:tar_shq
call vimball#Decompress(tartail,0)
endif
return qnameq
let extractcmd= netrw#WinPath(g:tar_extractcmd)
" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")")
call system(extractcmd." ".shellescape(tarbase.".tar"))
" set up help
if filereadable("doc/".tarbase.".txt")
" call Decho("exe helptags ".getcwd()."/doc")
exe "helptags ".getcwd()."/doc"
endif
if simplify(tarhome) != simplify(vimhome)
" remove decompressed tarball, restore directory
call delete(vimhome."/".tarbase.".tar")
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
endfun
" ---------------------------------------------------------------------
" =====================================================================
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo

View File

@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Jul 30, 2008
" Version: 29
" Date: Dec 28, 2009
" Version: 30
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2008 by Charles E. Campbell, Jr.
" Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -11,11 +11,17 @@
" ---------------------------------------------------------------------
" Load Once: {{{1
if &cp || exists("g:loaded_vimball") || v:version < 700
if &cp || exists("g:loaded_vimball")
finish
endif
let s:keepcpo = &cpo
let g:loaded_vimball = "v29"
let g:loaded_vimball = "v30"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
"DechoTabOn
@@ -52,30 +58,6 @@ if !exists("s:USAGE")
call vimball#ShowMesg(s:WARNING,"(vimball) g:vimball_mkdir undefined")
endif
endif
" set up shell quoting character
if exists("g:vimball_shq") && !exists("g:netrw_shq")
let g:netrw_shq= g:vimball_shq
endif
if !exists("g:netrw_shq")
if exists("&shq") && &shq != ""
let g:netrw_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
let g:netrw_shq= "'"
else
let g:netrw_shq= '"'
endif
else
let g:netrw_shq= "'"
endif
" call Decho("g:netrw_shq<".g:netrw_shq.">")
endif
" set up escape string (used to protect paths)
if !exists("g:vimball_path_escape")
let g:vimball_path_escape= ' ;#%'
endif
endif
" =====================================================================
@@ -106,8 +88,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let vbname= vbname.'.vba'
endif
" call Decho("vbname<".vbname.">")
if a:1 =~ '[\/]'
call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes")
if !a:writelevel && a:1 =~ '[\/]'
call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes; use ! to insist")
" call Dret("MkVimball : vimball name<".a:1."> should not include slashes")
return
endif
@@ -125,7 +107,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let home= expand(a:2)
else
" use first existing directory from rtp
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
" save current directory
@@ -218,7 +200,7 @@ fun! vimball#Vimball(really,...)
return
endif
if getline(1) !~ '^" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.$'
if getline(1) !~ '^" Vimball Archiver'
echoerr "(Vimball) The current file does not appear to be a Vimball!"
" call Dret("vimball#Vimball")
return
@@ -240,7 +222,7 @@ fun! vimball#Vimball(really,...)
if a:0 > 0
let home= expand(a:1)
else
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
" call Decho("home<".home.">")
@@ -272,7 +254,9 @@ fun! vimball#Vimball(really,...)
while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g')
let fsize = getline(linenr+1)+0
" let fsize = getline(linenr+1)+0
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\+\)$','\1','')
let filecnt = filecnt + 1
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
@@ -307,7 +291,7 @@ fun! vimball#Vimball(really,...)
if !isdirectory(dirname)
" call Decho("making <".dirname.">")
if exists("g:vimball_mkdir")
call system(g:vimball_mkdir." ".s:Escape(dirname))
call system(g:vimball_mkdir." ".shellescape(dirname))
else
call mkdir(dirname)
endif
@@ -337,9 +321,13 @@ fun! vimball#Vimball(really,...)
if a:really
let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath))
exe "silent w! ".fnameescape(fnamepath)
echo "wrote ".fnamepath
call s:RecordInVar(home,"call delete('".fnameescape(fnamepath)."')")
if fenc != ""
exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
else
exe "silent w! ".fnameescape(fnamepath)
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
endif
" return to tab with vimball
@@ -418,7 +406,7 @@ fun! vimball#RmVimball(...)
if a:0 >= 2
let home= expand(a:2)
else
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
let curdir = getcwd()
" call Decho("home <".home.">")
@@ -432,19 +420,20 @@ fun! vimball#RmVimball(...)
keepalt keepjumps 1split
silent! keepalt keepjumps e .VimballRecord
let keepsrch= @/
" call Decho("search for ^".curfile.".vba:")
" call Decho("search for ^".curfile."[-0-9.]*.vba:")
if search('^'.curfile.": ".'cw')
" call Decho('search for ^\M'.curfile.'.\m: ')
" call Decho('search for ^\M'.curfile.'.\mvba: ')
" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.vba: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1
elseif search('^'.curfile.".vba: ",'cw')
elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1
elseif search('^'.curfile.'[-0-9.]*.vba: ','cw')
elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
let foundit= 1
else
let foundit = 0
endif
if foundit
let exestring = substitute(getline("."),'^'.curfile.'\S\{-}\.vba: ','','')
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring)
@@ -472,62 +461,62 @@ endfun
" ---------------------------------------------------------------------
" vimball#Decompress: attempts to automatically decompress vimballs {{{2
fun! vimball#Decompress(fname)
" call Dfunc("Decompress(fname<".a:fname.">)")
fun! vimball#Decompress(fname,...)
" call Dfunc("Decompress(fname<".a:fname.">) a:0=".a:0)
" decompression:
if expand("%") =~ '.*\.gz' && executable("gunzip")
" handle *.gz with gunzip
silent exe "!gunzip ".s:Escape(a:fname)
silent exe "!gunzip ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.gz' && executable("gzip")
" handle *.gz with gzip -d
silent exe "!gzip -d ".s:Escape(a:fname)
silent exe "!gzip -d ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">")
endif
let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
" handle *.bz2 with bunzip2
silent exe "!bunzip2 ".s:Escape(a:fname)
silent exe "!bunzip2 ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bzip2")
" handle *.bz2 with bzip2 -d
silent exe "!bzip2 -d ".s:Escape(a:fname)
silent exe "!bzip2 -d ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">")
endif
let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.zip' && executable("unzip")
" handle *.zip with unzip
silent exe "!unzip ".s:Escape(a:fname)
silent exe "!unzip ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.zip$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
endif
set noma bt=nofile fmr=[[[,]]] fdm=marker
if a:0 == 0| setlocal noma bt=nofile fmr=[[[,]]] fdm=marker | endif
" call Dret("Decompress")
endfun
@@ -536,20 +525,21 @@ endfun
" vimball#ShowMesg: {{{2
fun! vimball#ShowMesg(level,msg)
" call Dfunc("vimball#ShowMesg(level=".a:level." msg<".a:msg.">)")
let rulerkeep = &ruler
let showcmdkeep = &showcmd
set noruler noshowcmd
redraw!
if &fo =~ '[ta]'
echomsg "***vimball*** " a:msg
echomsg "***vimball*** ".a:msg
else
if a:level == s:WARNING || a:level == s:USAGE
echohl WarningMsg
elseif a:level == s:ERROR
echohl Error
endif
echomsg "***vimball*** " a:msg
echomsg "***vimball*** ".a:msg
echohl None
endif
@@ -646,9 +636,9 @@ fun! s:RecordInFile(home)
endfun
" ---------------------------------------------------------------------
" s:VimballHome: determine/get home directory path (usually from rtp) {{{2
fun! s:VimballHome()
" call Dfunc("VimballHome()")
" vimball#VimballHome: determine/get home directory path (usually from rtp) {{{2
fun! vimball#VimballHome()
" call Dfunc("vimball#VimballHome()")
if exists("g:vimball_home")
let home= g:vimball_home
else
@@ -674,14 +664,14 @@ fun! s:VimballHome()
if !isdirectory(home)
if exists("g:vimball_mkdir")
" call Decho("home<".home."> isn't a directory -- making it now with g:vimball_mkdir<".g:vimball_mkdir.">")
" call Decho("system(".g:vimball_mkdir." ".s:Escape(home).")")
call system(g:vimball_mkdir." ".s:Escape(home))
" call Decho("system(".g:vimball_mkdir." ".shellescape(home).")")
call system(g:vimball_mkdir." ".shellescape(home))
else
" call Decho("home<".home."> isn't a directory -- making it now with mkdir()")
call mkdir(home)
endif
endif
" call Dret("VimballHome <".home.">")
" call Dret("vimball#VimballHome <".home.">")
return home
endfun
@@ -742,21 +732,6 @@ fun! vimball#RestoreSettings()
" call Dret("RestoreSettings")
endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun s:Escape(name)
" shellescape() was added by patch 7.0.111
if exists("*shellescape")
return shellescape(a:name)
endif
return g:netrw_shq . a:name . g:netrw_shq
endfun
" ---------------------------------------------------------------------
" Restore:
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@@ -1,9 +1,9 @@
" Vim color file
" Maintainer: Hans Fugal <hans@fugal.net>
" Last Change: $Date$
" Last Change: $Date$
" Last Change: $Date: 2004/06/13 19:30:30 $
" Last Change: $Date: 2004/06/13 19:30:30 $
" URL: http://hans.fugal.net/vim/colors/desert.vim
" Version: $Id$
" Version: $Id: desert.vim,v 1.1 2004/06/13 19:30:30 vimboss Exp $
" cool help screens
" :he group-name

View File

@@ -1,13 +1,13 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada)
" $Id$
" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
" History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: eRuby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$
" Info: $Id: eruby.vim,v 1.7 2008/06/29 04:18:42 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,8 +1,8 @@
" Vim compiler file
" Compiler: g77 (GNU Fortran)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Last Change: $Date$
" $Revision$
" Last Change: $Date: 2004/06/13 18:17:36 $
" $Revision: 1.1 $
if exists("current_compiler")
finish

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Latest Revision: 2009-05-01
if exists("current_compiler")
finish
@@ -12,10 +12,13 @@ let s:cpo_save = &cpo
set cpo-=C
CompilerSet errorformat=
\%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
\%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:%c:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:%c:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',

View File

@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu>
" $Author$
" $Date$
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision$
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball

View File

@@ -1,8 +1,8 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 2004 Mar 27
" URL: http://mywebpage.netscape.com/sharppeople/vim/compiler
" Last Change: 20 Jan 2009
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
finish

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: RSpec
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Info: $Id$
" Info: $Id: rspec.vim,v 1.2 2008/06/29 04:18:42 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -2,7 +2,7 @@
" Language: Ruby
" Function: Syntax check and/or error reporting
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
" Info: $Id$
" Info: $Id: ruby.vim,v 1.13 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: Test::Unit - Ruby Unit Testing Framework
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$
" Info: $Id: rubyunit.vim,v 1.12 2008/06/29 04:18:43 tpope Exp $
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -3,7 +3,7 @@
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
" Last Change: 2005 Apr 21
" $Revision$
" $Revision: 1.3 $
if exists("current_compiler")
finish

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.2. Last change: 2008 Jun 27
*autocmd.txt* For Vim version 7.2. Last change: 2009 Nov 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,10 +59,10 @@ Note: The ":autocmd" command cannot be followed by another command, since any
:au[tocmd] [group] {event} {pat} [nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat}. Vim always adds the {cmd} after existing
autocommands, so that the autocommands execute in the
order in which they were given. See |autocmd-nested|
for [nested].
{pat} |autocmd-patterns|.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@@ -551,7 +551,7 @@ FileChangedShell When Vim notices that the modification time of
buffer that was changed "<afile>".
NOTE: The commands must not change the current
buffer, jump to another buffer or delete a
buffer. *E246*
buffer. *E246* *E811*
NOTE: This event never nests, to avoid an
endless loop. This means that while executing
commands for the FileChangedShell event no
@@ -835,9 +835,9 @@ The file pattern {pat} is tested for a match against the file name in one of
two ways:
1. When there is no '/' in the pattern, Vim checks for a match against only
the tail part of the file name (without its leading directory path).
2. When there is a '/' in the pattern, Vim checks for a match against the
both short file name (as you typed it) and the full file name (after
expanding it to a full path and resolving symbolic links).
2. When there is a '/' in the pattern, Vim checks for a match against both the
short file name (as you typed it) and the full file name (after expanding
it to a full path and resolving symbolic links).
The special pattern <buffer> or <buffer=N> is used for buffer-local
autocommands |autocmd-buflocal|. This pattern is not matched against the name
@@ -1052,7 +1052,7 @@ option will not cause any commands to be executed.
*:doautoa* *:doautoall*
:doautoa[ll] [group] {event} [fname]
Like ":doautocmd", but apply the autocommands to each
loaded buffer. Note that {fname} is used to select
loaded buffer. Note that [fname] is used to select
the autocommands, not the buffers to which they are
applied.
Careful: Don't use this for autocommands that delete a

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.2. Last change: 2008 Jul 24
*change.txt* For Vim version 7.2. Last change: 2009 Nov 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -506,9 +506,9 @@ comment (starting with '"') after the ":!" command.
{filter}. Vim replaces the optional bangs with the
latest given command and appends the optional [arg].
Vim saves the output of the filter command in a
temporary file and then reads the file into the
buffer. Vim uses the 'shellredir' option to redirect
the filter output to the temporary file.
temporary file and then reads the file into the buffer
|tempfile|. Vim uses the 'shellredir' option to
redirect the filter output to the temporary file.
However, if the 'shelltemp' option is off then pipes
are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
@@ -524,7 +524,9 @@ comment (starting with '"') after the ":!" command.
option is empty (this is the default), use the
internal formatting function |C-indenting|. But when
'indentexpr' is not empty, it will be used instead
|indent-expression|.
|indent-expression|. When Vim was compiled without
internal formatting then the "indent" program is used
as a last resort.
*==*
== Filter [count] lines like with ={motion}.
@@ -534,6 +536,22 @@ comment (starting with '"') after the ":!" command.
{not in Vi}
*tempfile* *setuid*
Vim uses temporary files for filtering, generating diffs and also for
tempname(). For Unix, the file will be in a private directory (only
accessible by the current user) to avoid security problems (e.g., a symlink
attack or other people reading your file). When Vim exits the directory and
all files in it are deleted. When Vim has the setuid bit set this may cause
problems, the temp file is owned by the setuid user but the filter command
probably runs as the original user.
On MS-DOS and OS/2 the first of these directories that works is used: $TMP,
$TEMP, c:\TMP, c:\TEMP.
For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
For MS-Windows the GetTempFileName() system function is used.
For other systems the tmpnam() library function is used.
4.2 Substitute *:substitute*
*:s* *:su*
:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
@@ -861,7 +879,10 @@ inside of strings can change! Also see 'softtabstop' option. >
*:reg* *:registers*
:reg[isters] Display the contents of all numbered and named
registers. {not in Vi}
registers. If a register is written to for |:redir|
it will not be listed.
{not in Vi}
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
@@ -994,6 +1015,11 @@ register. With blockwise selection it also depends on the size of the block
and whether the corners are on an existing character. (Implementation detail:
it actually works by first putting the register after the selection and then
deleting the selection.)
The previously selected text is put in the unnamed register. If you want to
put the same text into a Visual selection several times you need to use
another register. E.g., yank the text to copy, Visually select the text to
replace and use "0p . You can repeat this as many times as you like, the
unnamed register will be changed each time.
*blockwise-register*
If you use a blockwise Visual mode command to get the text into the register,
@@ -1031,8 +1057,10 @@ There are nine types of registers: *registers* *E354*
Vim fills this register with text deleted with the "d", "c", "s", "x" commands
or copied with the yank "y" command, regardless of whether or not a specific
register was used (e.g. "xdd). This is like the unnamed register is pointing
to the last used register. An exception is the '_' register: "_dd does not
store the deleted text in any register.
to the last used register. Thus when appending using an uppercase register
name, the unnamed register contains the same text as the named register.
An exception is the '_' register: "_dd does not store the deleted text in any
register.
Vim uses the contents of the unnamed register for any put command (p or P)
which does not specify a register. Additionally you can access it with the
name '"'. This means you have to type two double quotes. Writing to the ""
@@ -1098,11 +1126,16 @@ normal command-line editing commands are available, including a special
history for expressions. When you end the command-line by typing <CR>, Vim
computes the result of the expression. If you end it with <Esc>, Vim abandons
the expression. If you do not enter an expression, Vim uses the previous
expression (like with the "/" command). The expression must evaluate to a
string. If the result is a number it's turned into a string. A List,
Dictionary or FuncRef results in an error message (use string() to convert).
If the "= register is used for the "p" command, the string is split up at <NL>
characters. If the string ends in a <NL>, it is regarded as a linewise
expression (like with the "/" command).
The expression must evaluate to a String. A Number is always automatically
converted to a String. For the "p" and ":put" command, if the result is a
Float it's converted into a String. If the result is a List each element is
turned into a String and used as a line. A Dictionary or FuncRef results in
an error message (use string() to convert).
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
7. Selection and drop registers "*, "+ and "~

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.2. Last change: 2008 Sep 18
*cmdline.txt* For Vim version 7.2. Last change: 2009 Oct 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -118,8 +118,6 @@ CTRL-U Remove all characters between the cursor position and
preferred behavior, add the following to your .vimrc: >
:cnoremap <C-U> <C-E><C-U>
<
Note: if the command-line becomes empty with one of the
delete commands, Command-line mode is quit.
*c_<Insert>*
<Insert> Toggle between insert and overstrike. {not in Vi}
@@ -485,14 +483,14 @@ And this in your .vimrc: >
The Ex commands have a few specialties:
*:quote*
*:quote* *:comment*
'"' at the start of a line causes the whole line to be ignored. '"'
after a command causes the rest of the line to be ignored. This can be used
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
":map" command and friends, because they see the '"' as part of their
argument.
":map" command and a few others, because they see the '"' as part of their
argument. This is mentioned where the command is explained.
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
@@ -744,8 +742,8 @@ characters have a special meaning. These can also be used in the expression
function expand() |expand()|.
% Is replaced with the current file name. *:_%* *c_%*
# Is replaced with the alternate file name. *:_#* *c_#*
#n (where n is a number) is replaced with the file name of
buffer n. "#0" is the same as "#".
#n (where n is a number) is replaced with *:_#0* *:_#n*
the file name of buffer n. "#0" is the same as "#". *c_#n*
## Is replaced with all names in the argument list *:_##* *c_##*
concatenated, separated by spaces. Each space in a name
is preceded with a backslash.
@@ -949,7 +947,7 @@ for the file "$home" in the root directory. A few examples:
==============================================================================
6. Command-line window *cmdline-window* *cmdwin*
*command-line-window*
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
@@ -957,12 +955,12 @@ it in a normal way.
feature}
OPEN
OPEN *c_CTRL-F* *q:* *q/* *q?*
There are two ways to open the command-line window:
1. From Command-line mode, use the key specified with the 'cedit' option.
The default is CTRL-F when 'compatible' is not set.
2. From Normal mode, use the "q:", "q/" or "q?" command. *q:* *q/* *q?*
2. From Normal mode, use the "q:", "q/" or "q?" command.
This starts editing an Ex command-line ("q:") or search string ("q/" or
"q?"). Note that this is not possible while recording is in progress (the
"q" stops recording then).
@@ -992,7 +990,8 @@ nesting.
The command-line window is not a normal window. It is not possible to move to
another window or edit another buffer. All commands that would do this are
disabled in the command-line window. Of course it _is_ possible to execute
any command that you entered in the command-line window.
any command that you entered in the command-line window. Other text edits are
discarded when closing the window.
CLOSE *E199*
@@ -1027,7 +1026,7 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering a encryption key or when using inputsecret()
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the +vertsplit feature
Some options are set when the command-line window is opened:

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.2. Last change: 2006 May 01
*debug.txt* For Vim version 7.2. Last change: 2009 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,7 +10,8 @@ This is for debugging Vim itself, when it doesn't work properly.
For debugging Vim scripts, functions, etc. see |debug-scripts|
1. Location of a crash, using gcc and gdb |debug-gcc|
2. Windows Bug Reporting |debug-win32|
2. Locating memory leaks |debug-leaks|
3. Windows Bug Reporting |debug-win32|
==============================================================================
@@ -38,7 +39,25 @@ This also applies when using the MingW tools.
==============================================================================
2. Windows Bug Reporting *debug-win32*
2. Locating memory leaks *debug-leaks*
If you suspect Vim is leaking memory and you are using Linux, the valgrind
tool is very useful to pinpoint memory leaks.
First of all, build Vim with EXITFREE defined. Search for this in MAKEFILE
and uncomment the line.
Use this command to start Vim: *valgrind*
>
valgrind --log-file=valgrind.log ./vim
Note: Vim will run much slower. If your .vimrc is big or you have several
plugins you need to be patient for startup, or run with the "-u NONE"
argument.
==============================================================================
3. Windows Bug Reporting *debug-win32*
If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.2. Last change: 2007 May 11
*develop.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,7 +64,7 @@ completely different editor. Extensions are done with a "Vi spirit".
hard time finding and remembering them. Keep in mind that more commands and
options will be added later.
- A feature that people do not know about is a useless feature. Don't add
obscure features, or at least add hints in documentation that they exists.
obscure features, or at least add hints in documentation that they exist.
- Minimize using CTRL and other modifiers, they are more difficult to type.
- There are many first-time and inexperienced Vim users. Make it easy for
them to start using Vim and learn more over time.
@@ -323,7 +323,7 @@ Wrong: var=a*5;
OK: var = a * 5;
In general: Use empty lines to group lines of code together. Put a comment
just above the group of lines. This makes it more easy to quickly see what is
just above the group of lines. This makes it easier to quickly see what is
being done.
OK: /* Prepare for building the table. */

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.2. Last change: 2008 Jul 21
*diff.txt* For Vim version 7.2. Last change: 2009 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,6 +64,9 @@ In each of the edited files these options are set:
These options are set local to the window. When editing another file they are
reset to the global value.
The options can still be overruled from a modeline when re-editing the file.
However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is
set.
The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed
@@ -91,7 +94,7 @@ While already in Vim you can start diff mode in three ways.
:diffthis Make the current window part of the diff windows. This sets
the options like for "vimdiff".
:diffpatch {patchfile} *:diffp* *:diffpatch*
:diffpatch {patchfile} *E816* *:diffp* *:diffpatch*
Use the current buffer, patch it with the diff found in
{patchfile} and open a buffer on the result. The options are
set as for "vimdiff".
@@ -121,7 +124,8 @@ file for a moment and come back to the same file and be in diff mode again.
*:diffo* *:diffoff*
:diffoff Switch off diff mode for the current window.
:diffoff! Switch off diff mode for all windows in the current tab page.
:diffoff! Switch off diff mode for the current window and in all windows
in the current tab page where 'diff' is set.
The ":diffoff" command resets the relevant options to their default value.
This may be different from what the values were before diff mode was started,
@@ -237,7 +241,8 @@ that the buffers will be equal within the specified range.
*:diffg* *:diffget*
:[range]diffg[et] [bufspec]
Modify the current buffer to undo difference with another
buffer. If [bufspec] is given, that buffer is used.
buffer. If [bufspec] is given, that buffer is used. If
[bufspec] refers to the current buffer then nothing happens.
Otherwise this only works if there is one other buffer in diff
mode.
See below for [range].
@@ -323,7 +328,7 @@ The "1a2" item appends the line "bbb".
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
When 'diffexpr' is not empty, Vim evaluates to obtain a diff file in the
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:
v:fname_in original file
@@ -353,7 +358,7 @@ The "-a" argument is used to force comparing the files as text, comparing as
binaries isn't useful. The "--binary" argument makes the files read in binary
mode, so that a CTRL-Z doesn't end the text on DOS.
*E97*
*E810* *E97*
Vim will do a test if the diff output looks alright. If it doesn't, you will
get an error message. Possible causes:
- The "diff" program cannot be executed.

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.2. Last change: 2008 Aug 09
*editing.txt* For Vim version 7.2. Last change: 2009 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -270,7 +270,7 @@ If you want to keep the changed buffer without saving it, switch on the
Normal mode. Otherwise same as |:edit|.
*:vie* *:view*
:vie[w] [++opt] [+cmd] file
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
@@ -462,7 +462,10 @@ converted and illegal bytes. It can be one of three things:
++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question
mark.
mark. In some places an inverted question mark is used (0xBF).
Note that not all commands use the ++bad argument, even though they do not
give an error when you add it. E.g. |:write|.
Note that when reading, the 'fileformat' and 'fileencoding' options will be
set to the used format. When writing this doesn't happen, thus a next write
@@ -837,7 +840,7 @@ USING THE ARGUMENT LIST
Example: >
:args *.c
:argdo set ff=unix | update
This sets the 'fileformat' option to "unix" and writes the file if is now
This sets the 'fileformat' option to "unix" and writes the file if it is now
changed. This is done for all *.c files.
Example: >
@@ -1456,6 +1459,17 @@ If you don't get warned often enough you can use the following command.
may be specified by name, number or with a pattern.
*E813* *E814*
Vim will reload the buffer if you chose to. If a window is visible that
contains this buffer, the reloading will happen in the context of this window.
Otherwise a special window is used, so that most autocommands will work. You
can't close this window. A few other restrictions apply. Best is to make
sure nothing happens outside of the current buffer. E.g., setting
window-local options may end up in the wrong window. Splitting the window,
doing something there and closing it should be OK (if there are no side
effects from other autocommands). Closing unrelated windows and buffers will
get you into trouble.
Before writing a file the timestamp is checked. If it has changed, Vim will
ask if you really want to overwrite the file:

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.2. Last change: 2008 Nov 27
*eval.txt* For Vim version 7.2. Last change: 2010 Jan 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -853,7 +853,8 @@ expr8[expr1] item of String or |List| *expr-[]* *E111*
If expr8 is a Number or String this results in a String that contains the
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
Number. Note that this doesn't recognize multi-byte encodings.
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
an alternative.
Index zero gives the first character. This is like it works in C. Careful:
text column numbers start with one! Example, to get the character under the
@@ -878,8 +879,8 @@ expr8[expr1a : expr1b] substring or sublist *expr-[:]*
If expr8 is a Number or String this results in the substring with the bytes
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
expr1b are used as a Number. Note that this doesn't recognize multi-byte
encodings.
expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
|byteidx()| for computing the indexes.
If expr1a is omitted zero is used. If expr1b is omitted the length of the
string minus one is used.
@@ -895,7 +896,8 @@ Examples: >
:let c = name[-2:-2] " last but one byte of a string
:let s = line(".")[4:] " from the fifth byte to the end
:let s = s[:-3] " remove last two bytes
<
*sublist* *slice*
If expr8 is a |List| this results in a new |List| with the items indicated by
the indexes expr1a and expr1b. This works like with a String, as explained
just above, except that indexes out of range cause an error. Examples: >
@@ -1190,6 +1192,7 @@ They can be used in:
Thus not in:
- other scripts sourced from this one
- mappings
- menus
- etc.
Script variables can be used to avoid conflicts with global variable names.
@@ -1280,7 +1283,8 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr'.
v:char Argument for evaluating 'formatexpr' and used for the typed
character when using <expr> in an abbreviation |map-<expr>|.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -1317,6 +1321,8 @@ v:count The count given for the last Normal mode command. Can be used
:map _x :<C-U>echo "the count is " . v:count<CR>
< Note: The <C-U> is required to remove the line range that you
get when typing ':' after a count.
When there are two counts, as in "3d2w", they are multiplied,
just like what happens in the command, "d6w" for the example.
Also used for evaluating the 'formatexpr' option.
"count" also works, for backwards compatibility.
@@ -1677,9 +1683,9 @@ ceil( {expr}) Float round {expr} up
changenr() Number current change number
char2nr( {expr}) Number ASCII value of first char in {expr}
cindent( {lnum}) Number C indent for line {lnum}
clearmatches() None clear all matches
clearmatches() none clear all matches
col( {expr}) Number column nr of cursor or mark
complete({startcol}, {matches}) String set Insert mode completion
complete( {startcol}, {matches}) none set Insert mode completion
complete_add( {expr}) Number add completion match
complete_check() Number check for key typed during completion
confirm( {msg} [, {choices} [, {default} [, {type}]]])
@@ -1704,7 +1710,7 @@ eval( {string}) any evaluate {string} into its value
eventhandler( ) Number TRUE if inside an event handler
executable( {expr}) Number 1 if executable {expr} exists
exists( {expr}) Number TRUE if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
extend( {expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
expand( {expr} [, {flag}]) String expand special keywords in {expr}
feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
@@ -1746,7 +1752,7 @@ getftime( {fname}) Number last modification time of file
getftype( {fname}) String description of type of file {fname}
getline( {lnum}) String line {lnum} of current buffer
getline( {lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr}) List list of location list items
getloclist( {nr}) List list of location list items
getmatches() List list of current matches
getpid() Number process ID of Vim
getpos( {expr}) List position of cursor, mark, etc.
@@ -1815,11 +1821,12 @@ matchlist( {expr}, {pat}[, {start}[, {count}]])
List match and submatches of {pat} in {expr}
matchstr( {expr}, {pat}[, {start}[, {count}]])
String {count}'th match of {pat} in {expr}
max({list}) Number maximum value of items in {list}
min({list}) Number minimum value of items in {list}
mkdir({name} [, {path} [, {prot}]])
max( {list}) Number maximum value of items in {list}
min( {list}) Number minimum value of items in {list}
mkdir( {name} [, {path} [, {prot}]])
Number create directory {name}
mode( [expr]) String current editing mode
mzeval( {expr}) any evaluate |MzScheme| expression
nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
nr2char( {expr}) String single char with ASCII value {expr}
pathshorten( {expr}) String shorten directory names in a path
@@ -1829,7 +1836,7 @@ printf( {fmt}, {expr1}...) String format text
pumvisible() Number whether popup menu is visible
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
readfile( {fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
reltime( [{start} [, {end}]]) List get time value
reltimestr( {time}) String turn time value into a String
@@ -1850,7 +1857,7 @@ reverse( {list}) List reverse {list} in-place
round( {expr}) Float round off {expr}
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
Number search for {pattern}
searchdecl({name} [, {global} [, {thisblock}]])
searchdecl( {name} [, {global} [, {thisblock}]])
Number search for variable declaration
searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
Number search for other end of start/end pair
@@ -1867,7 +1874,7 @@ setline( {lnum}, {line}) Number set line {lnum} to {line}
setloclist( {nr}, {list}[, {action}])
Number modify location list using {list}
setmatches( {list}) Number restore a list of matches
setpos( {expr}, {list}) none set the {expr} position to {list}
setpos( {expr}, {list}) Number set the {expr} position to {list}
setqflist( {list}[, {action}]) Number modify quickfix list using {list}
setreg( {n}, {v}[, {opt}]) Number set register to value and type
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
@@ -1905,7 +1912,7 @@ synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
synIDattr( {synID}, {what} [, {mode}])
String attribute {what} of syntax ID {synID}
synIDtrans( {synID}) Number translated syntax ID of {synID}
synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
system( {expr} [, {input}]) String output of shell command/filter {expr}
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
tabpagenr( [{arg}]) Number number of current or last tab page
@@ -1929,10 +1936,10 @@ winheight( {nr}) Number height of window {nr}
winline() Number window line of the cursor
winnr( [{expr}]) Number number of current window
winrestcmd() String returns command to restore window sizes
winrestview({dict}) None restore view of current window
winrestview( {dict}) none restore view of current window
winsaveview() Dict save view of current window
winwidth( {nr}) Number width of window {nr}
writefile({list}, {fname} [, {binary}])
writefile( {list}, {fname} [, {binary}])
Number write list of lines to file {fname}
abs({expr}) *abs()*
@@ -2245,7 +2252,7 @@ complete({startcol}, {matches}) *complete()* *E785*
{matches} must be a |List|. Each |List| item is one match.
See |complete-items| for the kind of items that are possible.
Note that the after calling this function you need to avoid
inserting anything that would completion to stop.
inserting anything that would cause completion to stop.
The match can be selected with CTRL-N and CTRL-P as usual with
Insert mode completion. The popup menu will appear if
specified, see |ins-completion-menu|.
@@ -2477,7 +2484,7 @@ empty({expr}) *empty()*
Return the Number 1 if {expr} is empty, zero otherwise.
A |List| or |Dictionary| is empty when it does not have any
items. A Number is empty when its value is zero.
For a long |List| this is much faster then comparing the
For a long |List| this is much faster than comparing the
length with zero.
escape({string}, {chars}) *escape()*
@@ -3053,7 +3060,7 @@ getcharmod() *getcharmod()*
128 Macintosh only: command
Only the modifiers that have not been included in the
character itself are obtained. Thus Shift-a results in "A"
with no modifier.
without a modifier.
getcmdline() *getcmdline()*
Return the current command-line. Only works when the command
@@ -3181,7 +3188,7 @@ getloclist({nr}) *getloclist()*
window {nr}. When {nr} is zero the current window is used.
For a location list window, the displayed location list is
returned. For an invalid window number {nr}, an empty list is
returned. Otherwise, same as getqflist().
returned. Otherwise, same as |getqflist()|.
getmatches() *getmatches()*
Returns a |List| with all matches previously defined by
@@ -3478,7 +3485,9 @@ hostname() *hostname()*
iconv({expr}, {from}, {to}) *iconv()*
The result is a String, which is the text {expr} converted
from encoding {from} to encoding {to}.
When the conversion fails an empty string is returned.
When the conversion completely fails an empty string is
returned. When some characters could not be converted they
are replaced with "?".
The encoding names are whatever the iconv() library function
can accept, see ":!man 3 iconv".
Most conversions require Vim to be compiled with the |+iconv|
@@ -3503,7 +3512,10 @@ indent({lnum}) The result is a Number, which is indent of line {lnum} in the
index({list}, {expr} [, {start} [, {ic}]]) *index()*
Return the lowest index in |List| {list} where the item has a
value equal to {expr}.
value equal to {expr}. There is no automatic conversion, so
the String "4" is different from the Number 4. And the number
4 is different from the Float 4.0. The value of 'ignorecase'
is not used here, case always matters.
If {start} is given then start looking at the item with index
{start} (may be negative for an item relative to the end).
When {ic} is given and it is non-zero, ignore case. Otherwise
@@ -3516,9 +3528,9 @@ index({list}, {expr} [, {start} [, {ic}]]) *index()*
input({prompt} [, {text} [, {completion}]]) *input()*
The result is a String, which is whatever the user typed on
the command-line. The parameter is either a prompt string, or
a blank string (for no prompt). A '\n' can be used in the
prompt to start a new line.
the command-line. The {prompt} argument is either a prompt
string, or a blank string (for no prompt). A '\n' can be used
in the prompt to start a new line.
The highlighting set with |:echohl| is used for the prompt.
The input is entered just like a command-line, with the same
editing commands and mappings. There is a separate history
@@ -3528,8 +3540,9 @@ input({prompt} [, {text} [, {completion}]]) *input()*
: echo "Cheers!"
:endif
<
If the optional {text} is present and not empty, this is used
for the default reply, as if the user typed this. Example: >
If the optional {text} argument is present and not empty, this
is used for the default reply, as if the user typed this.
Example: >
:let color = input("Color? ", "white")
< The optional {completion} argument specifies the type of
@@ -3559,8 +3572,8 @@ input({prompt} [, {text} [, {completion}]]) *input()*
:endfunction
inputdialog({prompt} [, {text} [, {cancelreturn}]]) *inputdialog()*
Like input(), but when the GUI is running and text dialogs are
supported, a dialog window pops up to input the text.
Like |input()|, but when the GUI is running and text dialogs
are supported, a dialog window pops up to input the text.
Example: >
:let n = inputdialog("value for shiftwidth", &sw)
:if n != ""
@@ -3581,7 +3594,7 @@ inputlist({textlist}) *inputlist()*
above the first item a negative number is returned. When
clicking on the prompt one more than the length of {textlist}
is returned.
Make sure {textlist} has less then 'lines' entries, otherwise
Make sure {textlist} has less than 'lines' entries, otherwise
it won't work. It's a good idea to put the entry number at
the start of the string. And put a prompt in the first item.
Example: >
@@ -3589,7 +3602,7 @@ inputlist({textlist}) *inputlist()*
\ '2. green', '3. blue'])
inputrestore() *inputrestore()*
Restore typeahead that was saved with a previous inputsave().
Restore typeahead that was saved with a previous |inputsave()|.
Should be called the same number of times inputsave() is
called. Calling it more often is harmless though.
Returns 1 when there is nothing to restore, 0 otherwise.
@@ -3719,14 +3732,14 @@ libcall({libname}, {funcname}, {argument})
the DLL is not in the usual places.
For Unix: When compiling your own plugins, remember that the
object code must be compiled as position-independent ('PIC').
{only in Win32 on some Unix versions, when the |+libcall|
{only in Win32 and some Unix versions, when the |+libcall|
feature is present}
Examples: >
:echo libcall("libc.so", "getenv", "HOME")
<
*libcallnr()*
libcallnr({libname}, {funcname}, {argument})
Just like libcall(), but used for a function that returns an
Just like |libcall()|, but used for a function that returns an
int instead of a string.
{only in Win32 on some Unix versions, when the |+libcall|
feature is present}
@@ -3759,7 +3772,7 @@ line({expr}) The result is a Number, which is the line number of the file
< *last-position-jump*
This autocommand jumps to the last known position in a file
just after opening it, if the '" mark is set: >
:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
@@ -3990,8 +4003,8 @@ matchdelete({id}) *matchdelete()* *E802* *E803*
be deleted in one operation by |clearmatches()|.
matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
Same as match(), but return the index of first character after
the match. Example: >
Same as |match()|, but return the index of first character
after the match. Example: >
:echo matchend("testing", "ing")
< results in "7".
*strspn()* *strcspn()*
@@ -4001,15 +4014,15 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
:let span = matchend(line, '[^a-zA-Z]')
< Except that -1 is returned when there are no matches.
The {start}, if given, has the same meaning as for match(). >
The {start}, if given, has the same meaning as for |match()|. >
:echo matchend("testing", "ing", 2)
< results in "7". >
:echo matchend("testing", "ing", 5)
< result is "-1".
When {expr} is a |List| the result is equal to match().
When {expr} is a |List| the result is equal to |match()|.
matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
Same as match(), but return a |List|. The first item in the
Same as |match()|, but return a |List|. The first item in the
list is the matched string, same as what matchstr() would
return. Following items are submatches, like "\1", "\2", etc.
in |:substitute|. When an optional submatch didn't match an
@@ -4023,7 +4036,7 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
:echo matchstr("testing", "ing")
< results in "ing".
When there is no match "" is returned.
The {start}, if given, has the same meaning as for match(). >
The {start}, if given, has the same meaning as for |match()|. >
:echo matchstr("testing", "ing", 2)
< results in "ing". >
:echo matchstr("testing", "ing", 5)
@@ -4090,6 +4103,23 @@ mode([expr]) Return a string that indicates the current mode.
"c" or "n".
Also see |visualmode()|.
mzeval({expr}) *mzeval()*
Evaluate MzScheme expression {expr} and return its result
convert to Vim data structures.
Numbers and strings are returned as they are.
Pairs (including lists and improper lists) and vectors are
returned as Vim |Lists|.
Hash tables are represented as Vim |Dictionary| type with keys
converted to strings.
All other types are converted to string with display function.
Examples: >
:mz (define l (list 1 2 3))
:mz (define h (make-hash)) (hash-set! h "list" l)
:echo mzeval("l")
:echo mzeval("h")
<
{only available when compiled with the |+mzscheme| feature}
nextnonblank({lnum}) *nextnonblank()*
Return the line number of the first line at or below {lnum}
that is not blank. Example: >
@@ -4497,9 +4527,9 @@ remote_send({server}, {string} [, {idvar}])
<
remove({list}, {idx} [, {end}]) *remove()*
Without {end}: Remove the item at {idx} from |List| {list} and
return it.
return the item.
With {end}: Remove items from {idx} to {end} (inclusive) and
return a list with these items. When {idx} points to the same
return a List with these items. When {idx} points to the same
item as {end} a list with one item is returned. When {end}
points to an item before {idx} this is an error.
See |list-index| for possible values of {idx} and {end}.
@@ -4750,7 +4780,7 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
*searchpairpos()*
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
[, {stopline} [, {timeout}]]]])
Same as searchpair(), but returns a |List| with the line and
Same as |searchpair()|, but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
the column position of the match. If no match is found,
@@ -4870,7 +4900,8 @@ setpos({expr}, {list})
Does not change the jumplist.
"lnum" and "col" are the position in the buffer. The first
column is 1. Use a zero "lnum" to delete a mark.
column is 1. Use a zero "lnum" to delete a mark. If "col" is
smaller than 1 then 1 is used.
The "off" number is only used when 'virtualedit' is set. Then
it is the offset in screen columns from the start of the
@@ -4989,7 +5020,7 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
:call setwinvar(2, "myvar", "foobar")
shellescape({string} [, {special}]) *shellescape()*
Escape {string} for use as shell command argument.
Escape {string} for use as a shell command argument.
On MS-Windows and MS-DOS, when 'shellslash' is not set, it
will enclose {string} in double quotes and double all double
quotes within {string}.
@@ -5051,15 +5082,20 @@ sort({list} [, {func}]) *sort()* *E702*
When {func} is given and it is one then case is ignored.
When {func} is a |Funcref| or a function name, this function
is called to compare items. The function is invoked with two
items as argument and must return zero if they are equal, 1 if
the first one sorts after the second one, -1 if the first one
sorts before the second one. Example: >
items as argument and must return zero if they are equal, 1 or
bigger if the first one sorts after the second one, -1 or
smaller if the first one sorts before the second one.
Example: >
func MyCompare(i1, i2)
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
endfunc
let sortedlist = sort(mylist, "MyCompare")
< A shorter compare version for this specific simple case, which
ignores overflow: >
func MyCompare(i1, i2)
return a:i1 - a:i2
endfunc
<
*soundfold()*
soundfold({word})
Return the sound-folded equivalent of {word}. Uses the first
@@ -5508,10 +5544,7 @@ tempname() *tempname()* *temp-file-name*
is different for at least 26 consecutive calls. Example: >
:let tmpfile = tempname()
:exe "redir > " . tmpfile
< For Unix, the file will be in a private directory (only
accessible by the current user) to avoid security problems
(e.g., a symlink attack or other people reading your file).
When Vim exits the directory and all files in it are deleted.
< For Unix, the file will be in a private directory |tempfile|.
For MS-Windows forward slashes are used when the 'shellslash'
option is set or when 'shellcmdflag' starts with '-'.
@@ -6575,15 +6608,19 @@ This would call the function "my_func_whizz(parameter)".
removed without effect. Removing any later item means
it will not be found. Thus the following example
works (an inefficient way to make a list empty): >
:for item in mylist
:call remove(mylist, 0)
:endfor
for item in mylist
call remove(mylist, 0)
endfor
< Note that reordering the list (e.g., with sort() or
reverse()) may have unexpected effects.
Note that the type of each list item should be
identical to avoid errors for the type of {var}
changing. Unlet the variable at the end of the loop
to allow multiple item types.
to allow multiple item types: >
for item in ["foo", ["bar"]]
echo item
unlet item " E706 without this
endfor
:for [{var1}, {var2}, ...] in {listlist}
:endfo[r]
@@ -6652,7 +6689,7 @@ This would call the function "my_func_whizz(parameter)".
:try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
<
*:cat* *:catch* *E603* *E604* *E605*
:cat[ch] /{pattern}/ The following commands until the next ":catch",
:cat[ch] /{pattern}/ The following commands until the next |:catch|,
|:finally|, or |:endtry| that belongs to the same
|:try| as the ":catch" are executed when an exception
matching {pattern} is being thrown and has not yet
@@ -6825,7 +6862,7 @@ This would call the function "my_func_whizz(parameter)".
:execute 'while i < 5 | echo i | let i = i + 1 | endwhile'
<
*:comment*
*:exe-comment*
":execute", ":echo" and ":echon" cannot be followed by
a comment directly, because they see the '"' as the
start of a string. But, you can use '|' followed by a
@@ -7831,7 +7868,7 @@ a "E600: Missing :endtry" error message is given, see |except-single-line|.
Printing in Binary ~
>
:" The function Nr2Bin() returns the Hex string of a number.
:" The function Nr2Bin() returns the binary string representation of a number.
:func Nr2Bin(nr)
: let n = a:nr
: let r = ""

View File

@@ -14,11 +14,11 @@ uruchamia
.B Vima
i ustawia opcje tak by zachowywa<77> si<73> jak edytor bez tryb<79>w.
To jest ca<63>y czas Vim ale u<>ywany jako edytor wska<6B>-i-kliknij.
Zachowanie w stlu Notepada dla MS-Windows.
Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
b<EFBFBD>dzie zawsze uruchomiony w GUI by w<><77>czy<7A> menu i pasek narz<72>dzi.
.PP
Przeznaczony tylko dla ludzi, kt<6B>rzy naprawd<77> nie potrafi<EFBFBD> pracowa<77>
Przeznaczony tylko dla ludzi, kt<6B>rzy naprawd<77> nie mog<EFBFBD> pracowa<77>
z Vimem w normalny spos<6F>b. Edycja b<>dzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@ Opcja 'insertmode' jest ustawiona by mo
tekst.
.br
Mapowania s<> ustawione tak by Kopiowanie i Wklejanie dzia<69>a<EFBFBD>o
z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
a CTRL-V wkleja. U<>yj CTRL-Q by uzyska<6B> oryginalne znaczenie
z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
wkleja tekst. U<>yj CTRL-Q by uzyska<6B> oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@ Zobacz vim(1).
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajer<65>w".
Je<EFBFBD>li u<>ywasz evima oczekuje si<73>, <20>e wyjmiesz chusteczk<7A> do nosa,
Je<EFBFBD>li u<>ywasz eVima oczekuje si<73>, <20>e wyjmiesz chusteczk<7A> do nosa,
zrobisz w<>z<EFBFBD><7A> w ka<6B>dym rogu i b<>dziesz to nosi<73> na g<>owie.
.SH ZOBACZ TAK<EFBFBD>E
vim(1)

View File

@@ -14,11 +14,11 @@ uruchamia
.B Vima
i ustawia opcje tak by zachowywał się jak edytor bez trybów.
To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
Zachowanie w stlu Notepada dla MS-Windows.
Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
.PP
Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
Przeznaczony tylko dla ludzi, którzy naprawdę nie mogą pracować
z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@ Opcja 'insertmode' jest ustawiona by można było od razu wpisywać
tekst.
.br
Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
wkleja tekst. Użyj CTRL-Q by uzyskać oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@ Zobacz vim(1).
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajerów".
Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
Jeśli używasz eVima oczekuje się, że wyjmiesz chusteczkę do nosa,
zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
.SH ZOBACZ TAKŻE
vim(1)

View File

@@ -1,10 +1,10 @@
*fold.txt* For Vim version 7.2. Last change: 2007 May 11
*fold.txt* For Vim version 7.2. Last change: 2009 Dec 22
VIM REFERENCE MANUAL by Bram Moolenaar
Folding *Folding* *folding*
Folding *Folding* *folding* *folds*
You can find an introduction on folding in chapter 28 of the user manual.
|usr_28.txt|

View File

@@ -82,7 +82,7 @@ The Ada plug-in provides support for:
- comment handling (|'comments'|, |'commentstring'|)
The plug-in only activates the features of the Ada mode whenever an Ada
files is opened and add adds Ada related entries to the main and pop-up menu.
file is opened and adds Ada related entries to the main and pop-up menu.
==============================================================================
3. Omni Completion ~
@@ -142,7 +142,7 @@ support yet.
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more then one Ada compiler and will automatically load the
The Ada mode supports more than one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
@@ -154,7 +154,7 @@ environment.
*compiler-gnat*
GNAT is the only free (beer and speech) Ada compiler available. There are
several version available which differentiate in the licence terms used.
several versions available which differ in the licence terms used.
The GNAT compiler plug-in will perform a compile on pressing <F7> and then
immediately shows the result. You can set the project file to be used by
@@ -163,7 +163,7 @@ setting:
> call g:gnat.Set_Project_File ('my_project.gpr')
Setting a project file will also create a Vim session (|views-sessions|) so -
like with the GPS - opened files, window positions etc. will remembered
like with the GPS - opened files, window positions etc. will be remembered
separately for all projects.
*gnat_members*
@@ -228,9 +228,9 @@ and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: <F7> will
compile the current unit.
The Dec Ada compiler expects the package name and not the file name to be
passed a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. For separates both '-' and
'__' are allowed.
passed as a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. Both '-' and '__' are allowed
as separators.
*decada_members*
DEC ADA OBJECT ~
@@ -262,7 +262,7 @@ g:decada.Error_Format| string
*g:ada_standard_types*
g:ada_standard_types bool (true when exists)
Highlight types in package Standard (e.g., "Float")
Highlight types in package Standard (e.g., "Float").
*g:ada_space_errors*
*g:ada_no_trail_space_error*
@@ -279,13 +279,13 @@ g:ada_space_errors bool (true when exists)
*g:ada_line_errors*
g:ada_line_errors bool (true when exists)
Highlight lines which are to long. Note: This highlighting
Highlight lines which are too long. Note: This highlighting
option is quite CPU intensive.
*g:ada_rainbow_color*
g:ada_rainbow_color bool (true when exists)
Use rainbow colours for '(' and ')'. You need the
rainbow_parenthesis for this to work
rainbow_parenthesis for this to work.
*g:ada_folding*
g:ada_folding set ('sigpft')
@@ -313,7 +313,7 @@ g:ada_folding set ('sigpft')
*g:ada_abbrev*
g:ada_abbrev bool (true when exists)
Add some abbreviations. This feature more or less superseded
Add some abbreviations. This feature is more or less superseded
by the various completion methods.
*g:ada_withuse_ordinary*
@@ -359,12 +359,12 @@ g:ada_with_gnat_project_files bool (true when exists)
*g:ada_default_compiler*
g:ada_default_compiler string
set default compiler. Currently supported is 'gnat' and
set default compiler. Currently supported are 'gnat' and
'decada'.
An "exists" type is a boolean is considered true when the variable is defined
and false when the variable is undefined. The value which the variable is
set makes no difference.
An "exists" type is a boolean considered true when the variable is defined and
false when the variable is undefined. The value to which the variable is set
makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
@@ -372,10 +372,10 @@ set makes no difference.
:AdaRainbow *:AdaRainbow*
Toggles rainbow colour (|g:ada_rainbow_color|) mode for
'(' and ')'
'(' and ')'.
:AdaLines *:AdaLines*
Toggles line error (|g:ada_line_errors|) display
Toggles line error (|g:ada_line_errors|) display.
:AdaSpaces *:AdaSpaces*
Toggles space error (|g:ada_space_errors|) display.
@@ -424,7 +424,7 @@ All constants are locked. See |:lockvar| for details.
*g:ada#WordRegex*
g:ada#WordRegex string
Regular expression to search for Ada words
Regular expression to search for Ada words.
*g:ada#DotWordRegex*
g:ada#DotWordRegex string
@@ -432,7 +432,7 @@ g:ada#DotWordRegex string
*g:ada#Comment*
g:ada#Comment string
Regular expression to search for Ada comments
Regular expression to search for Ada comments.
*g:ada#Keywords*
g:ada#Keywords list of dictionaries
@@ -454,7 +454,7 @@ ada#Word([{line}, {col}]) *ada#Word()*
ada#List_Tag([{line}, {col}]) *ada#Listtags()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) inside the quick-fix window
given line/column) inside the quick-fix window.
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
@@ -482,8 +482,8 @@ gnat#New ()
8. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-in. They work well with Ada
and enhance the ability of the Ada mode.:
You can optionally install the following extra plug-ins. They work well with
Ada and enhance the ability of the Ada mode:
backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
@@ -501,7 +501,7 @@ nerd_comments.vim
matchit.vim
http://www.vim.org/scripts/script.php?script_id=39
'%' jumping for any language. The normal '%' jump only works for '{}'
style languages. The Ada mode will set the needed search patters.
style languages. The Ada mode will set the needed search patterns.
taglist.vim
http://www.vim.org/scripts/script.php?script_id=273

View File

@@ -1,4 +1,4 @@
*ft_sql.txt* For Vim version 7.2. Last change: Wed Apr 26 2006 3:05:33 PM
*sql.txt* For Vim version 7.2. Last change: 2009 Nov 03
by David Fishburn
@@ -15,7 +15,8 @@ features for navigation, indentation and syntax highlighting.
1.4 Macros |sql-macros|
2. SQL Dialects |sql-dialects|
2.1 SQLSetType |SQLSetType|
2.2 SQL Dialect Default |sql-type-default|
2.2 SQLGetType |SQLGetType|
2.3 SQL Dialect Default |sql-type-default|
3. Adding new SQL Dialects |sql-adding-dialects|
4. OMNI SQL Completion |sql-completion|
4.1 Static mode |sql-completion-static|
@@ -204,7 +205,7 @@ Press any of the following keys: >
*sqlanywhere*
*oracle* *plsql* *sqlj*
*sqlserver*
*mysql* *postgres* *psql*
*mysql* *postgress* *psql*
*informix*
All relational databases support SQL. There is a portion of SQL that is
@@ -231,7 +232,7 @@ be nice to specify a default in your |vimrc|.
2.1 SQLSetType *sqlsettype* *SQLSetType*
--------------
For the people that work with many different databases, it would be nice to be
For the people that work with many different databases, it is nice to be
able to flip between the various vendors rules (indent, syntax) on a per
buffer basis, at any time. The ftplugin/sql.vim file defines this function: >
SQLSetType
@@ -259,7 +260,17 @@ of available Vim script names: >
:SQL<Tab><space><Tab>
2.2 SQL Dialect Default *sql-type-default*
2.2 SQLGetType *sqlgettype* *SQLGetType*
--------------
At anytime you can determine which SQL dialect you are using by calling the
SQLGetType command. The ftplugin/sql.vim file defines this function: >
SQLGetType
This will echo: >
Current SQL dialect in use:sqlanywhere
2.3 SQL Dialect Default *sql-type-default*
-----------------------
As mentioned earlier, the default syntax rules for Vim is based on Oracle
(PL/SQL). You can override this default by placing one of the following in
@@ -331,6 +342,10 @@ The defaults static maps are: >
imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it
may not work properly on all platforms: >
let g:ftplugin_sql_omni_key = '<C-C>'
>
The static maps (which are based on the syntax highlight groups) follow this
format: >
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
@@ -406,21 +421,25 @@ to display a list of tables, procedures, views and columns. >
To enable the popup, while in INSERT mode, use the following key combinations
for each group (where <C-C> means hold the CTRL key down while pressing
the space bar):
Table List - <C-C>t
- <C-X><C-O> (the default map assumes tables)
Stored Procedure List - <C-C>p
View List - <C-C>v
Column List - <C-C>c
Table List - <C-C>t
- <C-X><C-O> (the default map assumes tables)
Stored Procedure List - <C-C>p
View List - <C-C>v
Column List - <C-C>c
Windows platform only - When viewing a popup window displaying the list
of tables, you can press <C-Right>, this will
replace the table currently highlighted with
the column list for that table.
- When viewing a popup window displaying the list
of columns, you can press <C-Left>, this will
replace the column list with the list of tables.
- This allows you to quickly drill down into a
table to view it's columns and back again.
Drilling In / Out - When viewing a popup window displaying the list
of tables, you can press <Right>, this will
replace the table currently highlighted with
the column list for that table.
- When viewing a popup window displaying the list
of columns, you can press <Left>, this will
replace the column list with the list of tables.
- This allows you to quickly drill down into a
table to view it's columns and back again.
- <Right> and <Left> can be also be chosen via
your |.vimrc| >
let g:ftplugin_sql_omni_key_right = '<Right>'
let g:ftplugin_sql_omni_key_left = '<Left>'
The SQL completion plugin caches various lists that are displayed in
the popup window. This makes the re-displaying of these lists very
@@ -498,30 +517,24 @@ beginning with those characters. >
The SQL completion plugin can also display a list of columns for particular
tables. The column completion is trigger via <C-C>c.
NOTE: The following example uses <C-Right> to trigger a column list while
the popup window is active. This map is only available on the Windows
platforms since *nix does not recognize CTRL and the right arrow held down
together. If you wish to enable this functionality on a *nix platform choose
a key and create one of these mappings (see |sql-completion-maps| for further
details on where to create this imap): >
imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR>
imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
NOTE: The following example uses <Right> to trigger a column list while
the popup window is active.
Example of using column completion:
- Press <C-C>t again to display the list of tables.
- When the list is displayed in the completion window, press <C-Right>,
- When the list is displayed in the completion window, press <Right>,
this will replace the list of tables, with a list of columns for the
table highlighted (after the same short delay).
- If you press <C-Left>, this will again replace the column list with the
- If you press <Left>, this will again replace the column list with the
list of tables. This allows you to drill into tables and column lists
very quickly.
- Press <C-Right> again while the same table is highlighted. You will
- Press <Right> again while the same table is highlighted. You will
notice there is no delay since the column list has been cached. If you
change the schema of a cached table you can press <C-C>R, which
clears the SQL completion cache.
- NOTE: <C-Right> and <C-Left> have been designed to work while the
- NOTE: <Right> and <Left> have been designed to work while the
completion window is active. If the completion popup window is
not active, a normal <C-Right> or <C-Left> will be executed.
not active, a normal <Right> or <Left> will be executed.
Lets look how we can build a SQL statement dynamically. A select statement
requires a list of columns. There are two ways to build a column list using
@@ -529,7 +542,7 @@ the SQL completion plugin. >
One column at a time:
< 1. After typing SELECT press <C-C>t to display a list of tables.
2. Choose a table from the list.
3. Press <C-Right> to display a list of columns.
3. Press <Right> to display a list of columns.
4. Choose the column from the list and press enter.
5. Enter a "," and press <C-C>c. Generating a column list
generally requires having the cursor on a table name. The plugin
@@ -632,7 +645,7 @@ your |vimrc|: >
- When completing tables, procedure or views and using dbext.vim 3.00
or higher the list of objects will also include the owner name.
When completing these objects and omni_sql_include_owner is enabled
the owner name will be replaced. >
the owner name will be be replaced. >
omni_sql_precache_syntax_groups
< - Default:
@@ -684,15 +697,15 @@ plugin. >
<C-C>L
< - Displays a comma separated list of columns for a specific table.
This should only be used when the completion window is active. >
<C-Right>
<Right>
< - Displays a list of columns for the table currently highlighted in
the completion window. <C-Right> is not recognized on most Unix
the completion window. <Right> is not recognized on most Unix
systems, so this maps is only created on the Windows platform.
If you would like the same feature on Unix, choose a different key
and make the same map in your vimrc. >
<C-Left>
<Left>
< - Displays the list of tables.
<C-Left> is not recognized on most Unix systems, so this maps is
<Left> is not recognized on most Unix systems, so this maps is
only created on the Windows platform. If you would like the same
feature on Unix, choose a different key and make the same map in
your vimrc. >

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.2. Last change: 2008 Jun 14
*gui.txt* For Vim version 7.2. Last change: 2009 Jan 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,13 +35,13 @@ GUI version of Vim with:
The X11 version of Vim can run both in GUI and in non-GUI mode. See
|gui-x11-start|.
*gui-init* *gvimrc* *.gvimrc* *_gvimrc*
*gui-init* *gvimrc* *.gvimrc* *_gvimrc* *$MYGVIMRC*
The gvimrc file is where GUI-specific startup commands should be placed. It
is always sourced after the |vimrc| file. If you have one then the $MYGVIMRC
environment variable has its name.
When the GUI starts up initializations are carried out, in this order:
- The 'term' option is set to "builgin_gui" and terminal options are reset to
- The 'term' option is set to "builtin_gui" and terminal options are reset to
their default value for the GUI |terminal-options|.
- If the system menu file exists, it is sourced. The name of this file is
normally "$VIMRUNTIME/menu.vim". You can check this with ":version". Also
@@ -473,9 +473,11 @@ this line to your .vimrc file (NOT your .gvimrc file!): >
:let did_install_default_menus = 1
If you also want to avoid the Syntax menu: >
:let did_install_syntax_menu = 1
If you do want the Syntax menu but not all the entries for each available
syntax file (which take quite a bit of time to load): >
:let skip_syntax_sel_menu = 1
The first item in the Syntax menu can be used to show all available filetypes
in the menu (which can take a bit of time to load). If you want to have all
filetypes already present at startup, add: >
:let do_syntax_sel_menu = 1
<
*console-menus*
Although this documentation is in the GUI section, you can actually use menus

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.2. Last change: 2007 Dec 09
*gui_x11.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -540,13 +540,16 @@ Of these three, Vim uses PRIMARY when reading and writing the "* register
register. Vim does not access the SECONDARY selection.
Examples: (assuming the default option values)
- Select an URL in Visual mode in Vim. Go to a text field in Netscape and
click the middle mouse button. The selected text will be inserted
(hopefully!).
- Select some text in Netscape by dragging with the mouse. Go to Vim and
- Select an URL in Visual mode in Vim. Go to your browser and click the
middle mouse button in the URL text field. The selected text will be
inserted (hopefully!). Note: in Firefox you can set the
middlemouse.contentLoadURL preference to true in about:config, then the
selected URL will be used when pressing middle mouse button in most places
in the window.
- Select some text in your browser by dragging with the mouse. Go to Vim and
press the middle mouse button: The selected text is inserted.
- Select some text in Vim and do "+y. Go to Netscape, select some text in a
textfield by dragging with the mouse. Now use the right mouse button and
- Select some text in Vim and do "+y. Go to your browser, select some text in
a textfield by dragging with the mouse. Now use the right mouse button and
select "Paste" from the popup menu. The selected text is overwritten by the
text from Vim.
Note that the text in the "+ register remains available when making a Visual

View File

@@ -1,8 +1,12 @@
*hangulin.txt* For Vim version 7.2. Last change: 2006 Apr 02
*hangulin.txt* For Vim version 7.2. Last change: 2009 Jun 24
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
NOTE: The |+hangul_input| feature is scheduled to be removed. If you want to
keep it, please send a message to the Vim user maillist.
Introduction *hangul*
------------
It is to input hangul, the Korean language, with VIM GUI version.
@@ -96,6 +100,6 @@ Bug or Comment
Send comments, patches and suggestions to:
Chi-Deok Hwang <hwang@mizi.co.kr>
Nam SungHyun <namsh@kldp.org>
SungHyun Nam <goweol@gmail.com>
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -144,6 +144,7 @@ Special issues ~
|hebrew.txt| Hebrew language support and editing
|russian.txt| Russian language support and editing
|ft_ada.txt| Ada (the programming language) support
|ft_sql.txt| about the SQL filetype plugin
|hangulin.txt| Hangul (Korean) input mode
|rileft.txt| right-to-left editing mode

View File

@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24
*if_mzsch.txt* For Vim version 7.2. Last change: 2010 Jan 19
VIM REFERENCE MANUAL by Sergey Khorev
@@ -9,8 +9,9 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
1. Commands |mzscheme-commands|
2. Examples |mzscheme-examples|
3. Threads |mzscheme-threads|
4. The Vim access procedures |mzscheme-vim|
5. Dynamic loading |mzscheme-dynamic|
4. Vim access from MzScheme |mzscheme-vim|
5. mzeval() Vim function |mzscheme-mzeval|
6. Dynamic loading |mzscheme-dynamic|
{Vi does not have any of these commands}
@@ -142,7 +143,7 @@ Thread scheduling in the console version of Vim is less reliable than in the
GUI version.
==============================================================================
5. VIM Functions *mzscheme-vim*
4. Vim access from MzScheme *mzscheme-vim*
*mzscheme-vimext*
The 'vimext' module provides access to procedures defined in the MzScheme
@@ -231,7 +232,13 @@ Windows *mzscheme-window*
(set-cursor (line . col) [window]) Set cursor position.
==============================================================================
5. Dynamic loading *mzscheme-dynamic* *E815*
5. mzeval() Vim function *mzscheme-mzeval*
To facilitate bi-directional interface, you can use |mzeval| function to
evaluate MzScheme expressions and pass their values to VimL.
==============================================================================
6. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.

View File

@@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 7.2. Last change: 2007 May 10
*if_ole.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
@@ -115,7 +115,7 @@ Example (Visual Basic syntax) >
3. The "normal" command *ole-normal*
Due to the way Vim processes OLE Automation commands, combined with the method
of implementation of the ex command :normal, it is not possible to execute the
of implementation of the Ex command :normal, it is not possible to execute the
:normal command via OLE automation. Any attempt to do so will fail, probably
harmlessly, although possibly in unpredictable ways.

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.2. Last change: 2006 Apr 30
*if_pyth.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
@@ -93,7 +93,7 @@ module before using it: >
Overview >
:py print "Hello" # displays a message
:py vim.command(cmd) # execute an ex command
:py vim.command(cmd) # execute an Ex command
:py w = vim.windows[n] # gets window "n"
:py cw = vim.current.window # gets the current window
:py b = vim.buffers[n] # gets buffer "n"

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.2. Last change: 2006 Apr 30
*if_ruby.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Shugo Maeda
@@ -79,7 +79,7 @@ Ruby code gets all of its access to vim via the "VIM" module.
Overview >
print "Hello" # displays a message
VIM.command(cmd) # execute an ex command
VIM.command(cmd) # execute an Ex command
num = VIM::Window.count # gets the number of windows
w = VIM::Window[n] # gets window "n"
cw = VIM::Window.current # gets the current window

View File

@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 7.2. Last change: 2008 Jun 26
*if_tcl.txt* For Vim version 7.2. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Ingo Wilken
@@ -83,7 +83,7 @@ The following commands are implemented: >
::vim::beep # Guess.
::vim::buffer {n} # Create Tcl command for one buffer.
::vim::buffer list # Create Tcl commands for all buffers.
::vim::command [-quiet] {cmd} # Execute an ex command.
::vim::command [-quiet] {cmd} # Execute an Ex command.
::vim::expr {expr} # Use Vim's expression evaluator.
::vim::option {opt} # Get vim option.
::vim::option {opt} {val} # Set vim option.
@@ -116,7 +116,7 @@ Commands:
::vim::command {cmd} *tcl-command*
::vim::command -quiet {cmd}
Execute the vim (ex-mode) command {cmd}. Any ex command that affects
Execute the vim (ex-mode) command {cmd}. Any Ex command that affects
a buffer or window uses the current buffer/current window. Does not
return a result other than a standard Tcl error code. After this
command is completed, the "::vim::current" variable is updated.
@@ -210,7 +210,7 @@ Variables:
line *tcl-var-line*
lnum *tcl-var-lnum*
These global variables are only available if the ":tcldo" ex command
These global variables are only available if the ":tcldo" Ex command
is being executed. They contain the text and line number of the
current line. When the Tcl command invoked by ":tcldo" is completed,
the current line is set to the contents of the "line" variable, unless
@@ -233,7 +233,7 @@ Let's assume the name of the window command is stored in the Tcl variable "win",
i.e. "$win" calls the command. The following options are available: >
$win buffer # Create Tcl command for window's buffer.
$win command {cmd} # Execute ex command in windows context.
$win command {cmd} # Execute Ex command in windows context.
$win cursor # Get current cursor position.
$win cursor {var} # Set cursor position from array variable.
$win cursor {row} {col} # Set cursor position.
@@ -312,7 +312,7 @@ Let's assume the name of the buffer command is stored in the Tcl variable "buf",
i.e. "$buf" calls the command. The following options are available: >
$buf append {n} {str} # Append a line to buffer, after line {n}.
$buf command {cmd} # Execute ex command in buffers context.
$buf command {cmd} # Execute Ex command in buffers context.
$buf count # Report number of lines in buffer.
$buf delcmd {cmd} # Call Tcl command when buffer is deleted.
$buf delete {n} # Delete a single line.
@@ -438,7 +438,7 @@ used to display messages in vim.
==============================================================================
7. Known bugs & problems *tcl-bugs*
Calling one of the Tcl ex commands from inside Tcl (via "::vim::command") may
Calling one of the Tcl Ex commands from inside Tcl (via "::vim::command") may
have unexpected side effects. The command creates a new interpreter, which
has the same abilities as the standard interpreter - making "::vim::command"
available in a safe child interpreter therefore makes the child unsafe. (It
@@ -487,11 +487,11 @@ This script adds a consecutive number to each line in the current range:
incr i ; incr n
}
The same can also be done quickly with two ex commands, using ":tcldo":
The same can also be done quickly with two Ex commands, using ":tcldo":
:tcl set n 1
:[range]tcldo set line "$n\t$line" ; incr n
This procedure runs an ex command on each buffer (idea stolen from Ron Aaron):
This procedure runs an Ex command on each buffer (idea stolen from Ron Aaron):
proc eachbuf { cmd } {
foreach b [::vim::buffer list] {
$b command $cmd
@@ -500,7 +500,7 @@ This procedure runs an ex command on each buffer (idea stolen from Ron Aaron):
Use it like this:
:tcl eachbuf %s/foo/bar/g
Be careful with Tcl's string and backslash substitution, tough. If in doubt,
surround the ex command with curly braces.
surround the Ex command with curly braces.
If you want to add some Tcl procedures permanently to vim, just place them in

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.2. Last change: 2008 Jul 30
*indent.txt* For Vim version 7.2. Last change: 2010 Jan 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -437,7 +437,7 @@ assume a 'shiftwidth' of 4.
*N Vim searches for unclosed comments at most N lines away. This
limits the time needed to search for the start of a comment.
(default 30 lines).
(default 70 lines).
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognizes '#' comments. Note
@@ -609,8 +609,9 @@ b:sh_indent_options['continuation-line']
b:sh_indent_options['case-labels']
Amount of indent to add for case labels.
(not actually implemented)
b:sh_indent_options['case-statement']
b:sh_indent_options['case-statements']
Amount of indent to add for case statements.
b:sh_indent_options['case-breaks']

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.2. Last change: 2008 May 04
*index.txt* For Vim version 7.2. Last change: 2009 Jul 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -522,7 +522,7 @@ tag command action in Normal mode ~
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height
|CTRL-W_=| CTRL-W = make all windows the same height & width
|CTRL-W_>| CTRL-W > increase current window width N columns
|CTRL-W_H| CTRL-W H move current window to the far left
|CTRL-W_J| CTRL-W J move current window to the very bottom
@@ -572,7 +572,7 @@ tag command action in Normal mode ~
window N lines high
|CTRL-W_t| CTRL-W t go to top window
|CTRL-W_v| CTRL-W v split current window vertically, new window
N lines wide
N columns wide
|CTRL-W_w| CTRL-W w go to N next window (wrap around)
|CTRL-W_x| CTRL-W x exchange current window with window N
(default: next window)
@@ -1339,6 +1339,7 @@ The commands are sorted on the non-optional part of their name.
|:number| :nu[mber] print lines with line number
|:nunmap| :nun[map] like ":unmap" but for Normal mode
|:nunmenu| :nunme[nu] remove menu for Normal mode
|:oldfiles| :ol[dfiles] list files that have marks in the viminfo file
|:open| :o[pen] start open mode (not implemented)
|:omap| :om[ap] like ":map" but for Operator-pending mode
|:omapclear| :omapc[lear] remove all mappings for Operator-pending mode
@@ -1436,7 +1437,7 @@ The commands are sorted on the non-optional part of their name.
|:shell| :sh[ell] escape to a shell
|:simalt| :sim[alt] Win32 GUI: simulate Windows ALT key
|:sign| :sig[n] manipulate signs
|:silent| :sil[ent] Run a command silently
|:silent| :sil[ent] run a command silently
|:sleep| :sl[eep] do nothing for a few seconds
|:slast| :sla[st] split window and go to last file in the
argument list
@@ -1525,6 +1526,7 @@ The commands are sorted on the non-optional part of their name.
|:unlockvar| :unlo[ckvar] unlock variables
|:unmap| :unm[ap] remove mapping
|:unmenu| :unme[nu] remove menu
|:unsilent| :uns[ilent] run a command not silently
|:update| :up[date] write buffer if modified
|:vglobal| :v[global] execute commands for not matching lines
|:version| :ve[rsion] print version number and other info

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.2. Last change: 2008 Jun 21
*insert.txt* For Vim version 7.2. Last change: 2009 Jul 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -123,6 +123,7 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
':' the last command-line
'.' the last inserted text
'-' the last small (less than a line) delete
*i_CTRL-R_=*
'=' the expression register: you are prompted to
enter an expression (see |expression|)
Note that 0x80 (128 decimal) is used for
@@ -133,6 +134,8 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
When the result is a |List| the items are used
as lines. They can have line breaks inside
too.
When the result is a Float it's automatically
converted to a String.
See |registers| about registers. {not in Vi}
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
@@ -660,7 +663,8 @@ CTRL-X CTRL-L Search backwards for a line that starts with the
CTRL-X CTRL-L After expanding a line you can additionally get the
line next to it by typing CTRL-X CTRL-L again, unless
a double CTRL-X is used.
a double CTRL-X is used. Only works for loaded
buffers.
Completing keywords in current file *compl-current*
@@ -1488,7 +1492,7 @@ with data pulled directly from within a database. For detailed instructions
and a tutorial see |omni-sql-completion|.
The SQL completion plugin can be used in conjunction with other completion
plugins. For example, the PHP filetype has it's own completion plugin.
plugins. For example, the PHP filetype has its own completion plugin.
Since PHP is often used to generate dynamic website by accessing a database,
the SQL completion plugin can also be enabled. This allows you to complete
PHP code and SQL code at the same time.
@@ -1725,14 +1729,9 @@ too long when appending characters a line break is automatically inserted.
These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|.
When these commands are used with |:global| or |:vglobal| then the lines are
obtained from the text following the command. Separate lines with a NL
escaped with a backslash: >
:global/abc/insert\
one line\
another line
The final "." is not needed then.
NOTE: ":append" and ":insert" don't work properly in between ":if" and
NOTE: These commands cannot be used with |:global| or |:vglobal|.
":append" and ":insert" don't work properly in between ":if" and
":endif", ":for" and ":endfor", ":while" and ":endwhile".
*:start* *:startinsert*

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.2. Last change: 2008 Jun 24
*intro.txt* For Vim version 7.2. Last change: 2009 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -43,6 +43,10 @@ between different computers and terminals. Besides the remarks given in this
document, there is a separate document for each supported system, see
|sys-file-list|.
*pronounce*
Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a
capital, since it's a name, again like Jim.
This manual is a reference for all the Vim commands and options. This is not
an introduction to the use of Vi or Vim, it gets a bit complicated here and
there. For beginners, there is a hands-on |tutor|. To learn using Vim, read

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.2. Last change: 2008 Aug 09
*map.txt* For Vim version 7.2. Last change: 2009 Nov 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -272,9 +272,10 @@ as a special key.
1.3 MAPPING AND MODES *:map-modes*
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
There are five sets of mappings
There are six sets of mappings
- For Normal mode: When typing commands.
- For Visual mode: When typing commands while the Visual area is highlighted.
- For Select mode: like Visual mode but typing text replaces the selection.
- For Operator-pending mode: When an operator is pending (after "d", "y", "c",
etc.). See below: |omap-info|.
- For Insert mode. These are also used in Replace mode.
@@ -299,6 +300,9 @@ Overview of which map command works in which mode:
Some commands work both in Visual and Select mode, some in only one. Note
that quite often "Visual" is mentioned where both Visual and Select mode
apply. |Select-mode-mapping|
NOTE: Mapping a printable character in Select mode may confuse the user. It's
better to explicitly use :xmap and :smap for printable characters. Or use
:sunmap after defining the mapping.
commands: modes: ~
Visual Select ~
@@ -590,11 +594,14 @@ otherwise you would not be able to use those commands anymore. Here are a few
suggestions:
- Function keys <F2>, <F3>, etc.. Also the shifted function keys <S-F1>,
<S-F2>, etc. Note that <F1> is already used for the help command.
- Meta-keys (with the ALT key pressed). |:map-alt-keys|
- Meta-keys (with the ALT key pressed). Depending on your keybord accented
characters may be used as well. |:map-alt-keys|
- Use the '_' or ',' character and then any other character. The "_" and ","
commands do exist in Vim (see |_| and |,|), but you probably never use them.
- Use a key that is a synonym for another command. For example: CTRL-P and
CTRL-N. Use an extra character to allow more mappings.
- The key defined by <Leader> and one or more other keys. This is especially
useful in scripts. |mapleader|
See the file "index" for keys that are not used and thus can be mapped without
losing any builtin function. You can also use ":help {key}^D" to find out if
@@ -1082,7 +1089,7 @@ feature}.
It is possible to define your own Ex commands. A user-defined command can act
just like a built-in command (it can have a range or arguments, arguments can
be completed as filenames or buffer names, etc), except that when the command
is executed, it is transformed into a normal ex command and then executed.
is executed, it is transformed into a normal Ex command and then executed.
For starters: See section |40.2| in the user manual.
@@ -1150,7 +1157,7 @@ See |:verbose-cmd| for more information.
Command attributes
User-defined commands are treated by Vim just like any other ex commands. They
User-defined commands are treated by Vim just like any other Ex commands. They
can have arguments, or have a range specified. Arguments are subject to
completion as filenames, buffers, etc. Exactly how this works depends upon the
command's attributes, which are specified when the command is defined.
@@ -1240,7 +1247,7 @@ The function arguments are:
CursorPos the cursor position in it (byte index)
The function may use these for determining context. For the "custom"
argument, it is not necessary to filter candidates against the (implicit
pattern in) ArgLead. Vim will do filter the candidates with its regexp engine
pattern in) ArgLead. Vim will filter the candidates with its regexp engine
after function return, and this is probably more efficient in most cases. For
the "customlist" argument, Vim will not filter the returned completion
candidates and the user supplied function should filter the candidates.
@@ -1256,7 +1263,7 @@ the 'path' option: >
:com -nargs=1 -bang -complete=customlist,EditFileComplete
\ EditFile edit<bang> <args>
:fun EditFileComplete(A,L,P)
: return split(globpath(&path, a:ArgLead), "\n")
: return split(globpath(&path, a:A), "\n")
:endfun
<
@@ -1405,7 +1412,7 @@ errors and the "update" command to write modified buffers): >
This will invoke: >
:call Allargs("%s/foo/bar/ge|update")
<
When defining an user command in a script, it will be able to call functions
When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.2. Last change: 2008 Jun 21
*mbyte.txt* For Vim version 7.2. Last change: 2009 Nov 17
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -555,7 +555,7 @@ Unfortunately, using fonts in X11 is complicated. The name of a single-byte
font is a long string. For multi-byte fonts we need several of these...
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
its XLFD is not supported anymore; see 'guifont' for an example of how to
its XLFD is not supported; see 'guifont' for an example of how to
set the font. Do yourself a favor and ignore the |XLFD| and |xfontset|
sections below.
@@ -1030,7 +1030,7 @@ For Command-line mode the flag is NOT remembered. You are expected to type an
Ex command first, which is ASCII.
For typing search patterns the 'imsearch' option is used. It can be set to
use the same value as for 'iminsert'.
*lCursor*
It is possible to give the GUI cursor another color when the language mappings
are being used. This is disabled by default, to avoid that the cursor becomes
invisible when you use a non-standard background color. Here is an example to
@@ -1246,21 +1246,37 @@ character sets. Therefore it is possible to write text in any language using
Unicode (with a few rarely used languages excluded). And it's mostly possible
to mix these languages in one file, which is impossible with other encodings.
Unicode can be encoded in several ways. The two most popular ones are UCS-2,
which uses 16-bit words and UTF-8, which uses one or more bytes for each
character. Vim can support all of these encodings, but always uses UTF-8
Unicode can be encoded in several ways. The most popular one is UTF-8, which
uses one or more bytes for each character and is backwards compatible with
ASCII. On MS-Windows UTF-16 is also used (previously UCS-2), which uses
16-bit words. Vim can support all of these encodings, but always uses UTF-8
internally.
Vim has comprehensive UTF-8 support. It appears to work in:
Vim has comprehensive UTF-8 support. It works well in:
- xterm with utf-8 support enabled
- Athena, Motif and GTK GUI
- MS-Windows GUI
- several other platforms
Double-width characters are supported. This works best with 'guifontwide' or
'guifontset'. When using only 'guifont' the wide characters are drawn in the
normal width and a space to fill the gap. Note that the 'guifontset' option
is no longer relevant in the GTK+ 2 GUI.
*bom-bytes*
When reading a file a BOM (Byte Order Mark) can be used to recognize the
Unicode encoding:
EF BB BF utf-8
FF FE utf-16 big endian
FE FF utf-16 little endian
00 00 FE FF utf-32 big endian
FF FE 00 00 utf-32 little endian
Utf-8 is the recommended encoding. Note that it's difficult to tell utf-16
and utf-32 apart. Utf-16 is often used on MS-Windows, utf-32 is not
widespread as file format.
*mbyte-combining* *mbyte-composing*
A composing or combining character is used to change the meaning of the
character before it. The combining characters are drawn on top of the
@@ -1402,7 +1418,7 @@ options.txt for detailed information.
Contributions specifically for the multi-byte features by:
Chi-Deok Hwang <hwang@mizi.co.kr>
Nam SungHyun <namsh@kldp.org>
SungHyun Nam <goweol@gmail.com>
K.Nagano <nagano@atese.advantest.co.jp>
Taro Muraoka <koron@tka.att.ne.jp>
Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.2. Last change: 2007 Aug 19
*message.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -135,8 +135,8 @@ This means that there are not enough colors available for Vim. It will still
run, but some of the colors will not appear in the specified color. Try
stopping other applications that use many colors, or start them after starting
gvim.
Netscape is known to consume a lot of colors. You can avoid this by telling
it to use its own colormap: >
Browsers are known to consume a lot of colors. You can avoid this with
netscape by telling it to use its own colormap: >
netscape -install
Or tell it to limit to a certain number of colors (64 should work well): >
netscape -ncols 64
@@ -567,7 +567,7 @@ allowed for the command that was used.
Unable to open swap file for "{filename}", recovery impossible
Vim was not able to create a swap file. You can still edit the file, but if
Vim unexpected exits the changes will be lost. And Vim may consume a lot of
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
memory when editing a big file. You may want to change the 'directory' option
to avoid this error. See |swap-file|.
@@ -758,9 +758,9 @@ and the screen is about to be redrawn:
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This
works the same way as at the |more-prompt|. Only works when 'compatible'
is off and 'more' is on.
-> Pressing 'j', 'd' or <Down> is ignored when messages scrolled off the top
of the screen, 'compatible' is off and 'more' is on, to avoid that typing
one 'j' too many causes the messages to disappear.
-> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the
top of the screen, 'compatible' is off and 'more' is on, to avoid that
typing one 'j' or 'f' too many causes the messages to disappear.
-> Press <C-Y> to copy (yank) a modeless selection to the clipboard register.
-> Use a menu. The characters defined for Cmdline-mode are used.
-> When 'mouse' contains the 'r' flag, clicking the left mouse button works
@@ -795,7 +795,7 @@ group.
Type effect ~
<CR> or <NL> or j or <Down> one more line
d down a page (half a screen)
<Space> or <PageDown> down a screen
<Space> or f or <PageDown> down a screen
G down all the way, until the hit-enter
prompt

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.2. Last change: 2008 Aug 03
*motion.txt* For Vim version 7.2. Last change: 2009 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -151,6 +151,11 @@ CTRL-V When used after an operator, before the motion command: Force
==============================================================================
2. Left-right motions *left-right-motions*
These commands move the cursor to the specified column in the current line.
They stop at the first column and at the end of the line, except "$", which
may move to one of the next lines. See 'whichwrap' option to make some of the
commands move across line boundaries.
h or *h*
<Left> or *<Left>*
CTRL-H or *CTRL-H* *<BS>*
@@ -234,7 +239,7 @@ g$ or g<End> When lines wrap ('wrap' on): To the last character of
*bar*
| To screen column [count] in the current line.
|exclusive| motion.
|exclusive| motion. Ceci n'est pas une pipe.
*f*
f{char} To [count]'th occurrence of {char} to the right. The
@@ -270,11 +275,6 @@ T{char} Till after [count]'th occurrence of {char} to the
, Repeat latest f, t, F or T in opposite direction
[count] times.
These commands move the cursor to the specified column in the current line.
They stop at the first column and at the end of the line, except "$", which
may move to one of the next lines. See 'whichwrap' option to make some of the
commands move across line boundaries.
==============================================================================
3. Up-down motions *up-down-motions*
@@ -325,9 +325,9 @@ gg Goto line [count], default first line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
:[range] Set the cursor on the specified line number. If
there are several numbers, the last one is used.
:[range] Set the cursor on the last line number in [range].
[range] can also be just one line number, e.g., ":1"
or ":'m".
*N%*
{count}% Go to {count} percentage in the file, on the first
non-blank in the line |linewise|. To compute the new
@@ -637,7 +637,8 @@ a` *v_a`* *a`*
When the cursor starts on a quote, Vim will figure out
which quote pairs form a string by searching from the
start of the line.
Any trailing or leading white space is included.
Any trailing white space is included, unless there is
none, then leading white space is included.
When used in Visual mode it is made characterwise.
Repeating this object in Visual mode another string is
included. A count is currently not used.

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.2. Last change: 2008 Nov 25
*options.txt* For Vim version 7.2. Last change: 2010 Jan 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -743,8 +743,8 @@ A jump table for the options with a short description can be found at |Q_op|.
within a word (initial, medial, final and stand-alone).
b) the enabling of the ability to compose characters
c) the enabling of the required combining of some characters
When disabled the character display reverts back to each character's
true stand-alone form.
When disabled the display shows each character's true stand-alone
form.
Arabic is a complex language which requires other settings, for
further details see |arabic.txt|.
@@ -813,11 +813,11 @@ A jump table for the options with a short description can be found at |Q_op|.
When 'background' is set Vim will adjust the default color groups for
the new value. But the colors used for syntax highlighting will not
change. *g:colors_name*
When a color scheme is loaded (the "colors_name" variable is set)
When a color scheme is loaded (the "g:colors_name" variable is set)
setting 'background' will cause the color scheme to be reloaded. If
the color scheme adjusts to the value of 'background' this will work.
However, if the color scheme sets 'background' itself the effect may
be undone. First delete the "colors_name" variable when needed.
be undone. First delete the "g:colors_name" variable when needed.
When setting 'background' to the default value with: >
:set background&
@@ -959,7 +959,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
List of directories for the backup file, separated with commas.
- The backup file will be created in the first directory in the list
where this is possible.
where this is possible. The directory must exist, Vim will not
create it for you.
- Empty means that no backup file will be created ('patchmode' is
impossible!). Writing may fail because of this.
- A directory "." means to put the backup file in the same directory
@@ -1143,7 +1144,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Some applications use the BOM to recognize the encoding of the file.
Often used for UCS-2 files on MS-Windows. For other applications it
causes trouble, for example: "cat file1 file2" makes the BOM of file2
appear halfway the resulting file.
appear halfway the resulting file. Gcc doesn't accept a BOM.
When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
check for the presence of the BOM is done and 'bomb' set accordingly.
Unless 'binary' is set, it is removed from the first line, so that you
@@ -1759,8 +1760,8 @@ A jump table for the options with a short description can be found at |Q_op|.
set and to the Vim default value when 'compatible' is reset.
NOTE: This option is set to the POSIX default value at startup when
the Vi default value would be used and the $VIM_POSIX environment
variable exists |posix|. This means tries to behave like the POSIX
specification.
variable exists |posix|. This means Vim tries to behave like the
POSIX specification.
contains behavior ~
*cpo-a*
@@ -2386,6 +2387,10 @@ A jump table for the options with a short description can be found at |Q_op|.
This is specified with 'fileencoding'. The conversion is done with
iconv() or as specified with 'charconvert'.
If you need to know whether 'encoding' is a multi-byte encoding, you
can use: >
if has("multi_byte_encoding")
<
Normally 'encoding' will be equal to your current locale. This will
be the default if Vim recognizes your environment settings. If
'encoding' is not set to the current locale, 'termencoding' must be
@@ -2446,6 +2451,9 @@ A jump table for the options with a short description can be found at |Q_op|.
'eadirection' option tells in which direction the size is affected.
Changing the height and width of a window can be avoided by setting
'winfixheight' and 'winfixwidth', respectively.
If a window size is specified when creating a new window sizes are
currently not equalized (it's complicated, but may be implemented in
the future).
*'equalprg'* *'ep'*
'equalprg' 'ep' string (default "")
@@ -2453,7 +2461,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
External program to use for "=" command. When this option is empty
the internal formatting functions are used; either 'lisp', 'cindent'
or 'indentexpr'.
or 'indentexpr'. When Vim was compiled without internal formatting,
the "indent" program is used.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -2550,13 +2559,17 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Sets the character encoding for the file of this buffer.
When 'fileencoding' is different from 'encoding', conversion will be
done when reading and writing the file.
done when writing the file. For reading see below.
When 'fileencoding' is empty, the same value as 'encoding' will be
used (no conversion when reading or writing a file).
Conversion will also be done when 'encoding' and 'fileencoding' are
both a Unicode encoding and 'fileencoding' is not utf-8. That's
because internally Unicode is always stored as utf-8.
WARNING: Conversion can cause loss of information! When
'encoding' is "utf-8" conversion is most likely done in a way
that the reverse conversion results in the same text. When
'encoding' is not "utf-8" some characters may be lost!
'encoding' is "utf-8" or another Unicode encoding, conversion
is most likely done in a way that the reverse conversion
results in the same text. When 'encoding' is not "utf-8" some
characters may be lost!
See 'encoding' for the possible values. Additionally, values may be
specified that can be handled by the converter, see
|mbyte-conversion|.
@@ -2843,6 +2856,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
This option can't be set from a |modeline| when the 'diff' option is
on.
It is not allowed to change text or jump to another window while
evaluating 'foldexpr' |textlock|.
@@ -3235,7 +3250,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the case of X). The font names given should be "normal" fonts. Vim
will try to find the related bold and italic fonts.
For Win32, GTK, Mac OS and Photon: >
For Win32, GTK, Motif, Mac OS and Photon: >
:set guifont=*
< will bring up a font requester, where you can pick the font you want.
@@ -3244,8 +3259,13 @@ A jump table for the options with a short description can be found at |Q_op|.
For the GTK+ 2 GUI the font name looks like this: >
:set guifont=Andale\ Mono\ 11
< That's all. XLFDs are no longer accepted.
< That's all. XLFDs are not used. For Chinese this is reported to work
well: >
if has("gui_gtk2")
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
endif
<
For Mac OSX you can use something like this: >
:set guifont=Monaco:h10
< Also see 'macatsui', it can help fix display problems.
@@ -3491,7 +3511,9 @@ A jump table for the options with a short description can be found at |Q_op|.
When nonempty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
You can include a line break. Simplest method is to use |:let|: >
:let &guitabtooltip = "line one\nline two"
<
*'helpfile'* *'hf'*
'helpfile' 'hf' string (default (MSDOS) "$VIMRUNTIME\doc\help.txt"
@@ -3776,7 +3798,7 @@ A jump table for the options with a short description can be found at |Q_op|.
English characters directly, e.g., when it's used to type accented
characters with dead keys.
*'imdisable'* *'imd'* *'nodisable'* *'noimd'*
*'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
{not in Vi}
@@ -4092,8 +4114,8 @@ A jump table for the options with a short description can be found at |Q_op|.
displayed as <xx>, with the hexadecimal value of the byte.
When 'display' contains "uhex" all unprintable characters are
displayed as <xx>.
The NonText highlighting will be used for unprintable characters.
|hl-NonText|
The SpecialKey highlighting will be used for unprintable characters.
|hl-SpecialKey|
Multi-byte characters 256 and above are always included, only the
characters up to 255 are specified with this option. When a character
@@ -4330,10 +4352,17 @@ A jump table for the options with a short description can be found at |Q_op|.
*'list'* *'nolist'*
'list' boolean (default off)
local to window
List mode: Show tabs as CTRL-I, show end of line with $. Useful to
see the difference between tabs and spaces and for trailing blanks.
Note that this will also affect formatting (set with 'textwidth' or
'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
List mode: Show tabs as CTRL-I is displayed, display $ after end of
line. Useful to see the difference between tabs and spaces and for
trailing blanks. Further changed by the 'listchars' option.
The cursor is displayed at the start of the space a Tab character
occupies, not at the end as usual in Normal mode. To get this cursor
position while displaying Tabs with spaces, use: >
:set list lcs=tab\ \
<
Note that list mode will also affect formatting (set with 'textwidth'
or 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
changing the way tabs are displayed.
*'listchars'* *'lcs'*
@@ -4516,15 +4545,15 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Maximum amount of memory (in Kbyte) to use for one buffer. When this
limit is reached allocating extra memory for a buffer will cause
other memory to be freed. Maximum value 2000000. Use this to work
without a limit. Also see 'maxmemtot'.
other memory to be freed. The maximum usable value is about 2000000.
Use this to work without a limit. Also see 'maxmemtot'.
*'maxmempattern'* *'mmp'*
'maxmempattern' 'mmp' number (default 1000)
global
{not in Vi}
Maximum amount of memory (in Kbyte) to use for pattern matching.
Maximum value 2000000. Use this to work without a limit.
The maximum value is about 2000000. Use this to work without a limit.
*E363*
When Vim runs into the limit it gives an error message and mostly
behaves like CTRL-C was typed.
@@ -4539,9 +4568,11 @@ A jump table for the options with a short description can be found at |Q_op|.
available)
global
{not in Vi}
Maximum amount of memory (in Kbyte) to use for all buffers together.
Maximum value 2000000. Use this to work without a limit. Also see
'maxmem'.
Maximum amount of memory in Kbyte to use for all buffers together.
The maximum usable value is about 2000000 (2 Gbyte). Use this to work
without a limit. On 64 bit machines higher values might work. But
hey, do you really need more than 2 Gbyte for text editing?
Also see 'maxmem'.
*'menuitems'* *'mis'*
'menuitems' 'mis' number (default 25)
@@ -5607,8 +5638,8 @@ A jump table for the options with a short description can be found at |Q_op|.
winsize window sizes
Don't include both "curdir" and "sesdir".
When "curdir" nor "sesdir" is included, file names are stored with
absolute paths.
When neither "curdir" nor "sesdir" is included, file names are stored
with absolute paths.
"slash" and "unix" are useful on Windows when sharing session files
with Unix. The Unix version of Vim cannot source dos format scripts,
but the Windows version of Vim can source unix format scripts.
@@ -5884,8 +5915,12 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+linebreak|
feature}
String to put at the start of lines that have been wrapped. Useful
values are "> " or "+++ ".
Only printable single-cell characters are allowed, excluding <Tab> and
values are "> " or "+++ ": >
:set showbreak=>\
< Note the backslash to escape the trailing space. It's easier like
this: >
:let &showbreak = '+++ '
< Only printable single-cell characters are allowed, excluding <Tab> and
comma (in a future version the comma might be used to separate the
part that is shown at the end and at the start of a line).
The characters are highlighted according to the '@' flag in
@@ -5906,7 +5941,8 @@ A jump table for the options with a short description can be found at |Q_op|.
In Visual mode the size of the selected area is shown:
- When selecting characters within a line, the number of characters.
- When selecting more than one line, the number of lines.
- When selecting a block, the size in screen characters: linesxcolumns.
- When selecting a block, the size in screen characters:
{lines}x{columns}.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
@@ -6641,8 +6677,9 @@ A jump table for the options with a short description can be found at |Q_op|.
of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be
case-fold sorted with the -f switch to "sort" in most unices, as in
the command: "sort -f -o tags tags". For "Exuberant ctags" version
5.3 or higher the -f or --fold-case-sort switch can be used for this
as well. Note that case must be folded to uppercase for this to work.
5.x or higher (at least 5.5) the --sort=foldcase switch can be used
for this as well. Note that case must be folded to uppercase for this
to work.
When 'tagbsearch' is off, tags searching is slower when a full match
exists, but faster when no full match exists. Tags in unsorted tags
@@ -7252,9 +7289,9 @@ A jump table for the options with a short description can be found at |Q_op|.
*'viminfo'* *'vi'* *E526* *E527* *E528*
'viminfo' 'vi' string (Vi default: "", Vim default for MS-DOS,
Windows and OS/2: '20,<50,s10,h,rA:,rB:,
for Amiga: '20,<50,s10,h,rdf0:,rdf1:,rdf2:
for others: '20,<50,s10,h)
Windows and OS/2: '100,<50,s10,h,rA:,rB:,
for Amiga: '100,<50,s10,h,rdf0:,rdf1:,rdf2:
for others: '100,<50,s10,h)
global
{not in Vi}
{not available when compiled without the |+viminfo|
@@ -7727,6 +7764,8 @@ A jump table for the options with a short description can be found at |Q_op|.
:set sidescroll=5
:set listchars+=precedes:<,extends:>
< See 'sidescroll', 'listchars' and |wrap-off|.
This option can't be set from a |modeline| when the 'diff' option is
on.
*'wrapmargin'* *'wm'*
'wrapmargin' 'wm' number (default 0)

View File

@@ -1,4 +1,4 @@
*os_390.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_390.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Ralf Schandl
@@ -282,7 +282,7 @@ not an exhaustive summary of all the modifications made to the code base.
5.6-390c:
I grepped through the source and examined every spot with a character
involved in a operation (+-). I hope I now found all EBCDIC/ASCII
involved in an operation (+-). I hope I now found all EBCDIC/ASCII
stuff, but ....
Fixed:
@@ -311,7 +311,7 @@ not an exhaustive summary of all the modifications made to the code base.
- added special compiler and linker options if building with X11
- configure:
- after created via autoconf hand-edited it to make the test for
ICEConnectionNumber work. This is a autoconf problem. OS/390 UNIX
ICEConnectionNumber work. This is an autoconf problem. OS/390 UNIX
needs -lX11 for this.
- Makefile
- Don't include the lib directories ('-L...') into the variable

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.2. Last change: 2008 Aug 19
*os_vms.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL
@@ -139,9 +139,9 @@ Use: >
define/nolog VIMRUNTIME device:[path.vim.vim60]
define/nolog TMP device:[path.tmp]
to get vim.exe to find its document, filetype, and syntax files, and to
To get vim.exe to find its document, filetype, and syntax files, and to
specify a directory where temporary files will be located. Copy the "runtime"
subdirectory of the vim distribution to vimruntime.
subdirectory of the Vim distribution to vimruntime.
Logicals $VIMRUNTIME and $TMP are optional.
@@ -217,7 +217,7 @@ You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
as for example: >
As for example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -234,7 +234,7 @@ then add to the SYS$STARTUP:SYLOGICALS.COM >
$ define/nolog/sys VIM device:<path>
$ define/nolog/sys TMP SYS$SCRATCH
and to the SYS$STARTUP:SYLOGIN.COM >
And to the SYS$STARTUP:SYLOGIN.COM >
$ vi*m :== mcr VIM:VIM.EXE
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
@@ -396,7 +396,7 @@ It is possible to use Vim as an internode editor.
vi "<server>""username passwd""::<device>:<path><filename>;<version>"
example: >
Example: >
vi "pluto""zay passwd""::RF10:<USER.ZAY.WORK>TEST.C;1"
Note: syntax is very important, otherwise VMS will recognize more parameters
@@ -418,7 +418,7 @@ and run the command procedure below: >
$ end:
Note: Never use it in a clustered environment (you do not need it), loading
could be very-very slow, but even faster then a local Emacs. :-)
could be very-very slow, but even faster than a local Emacs. :-)
(Zoltan Arpadffy, Vim 5.6)
@@ -575,12 +575,12 @@ boxes that is meant to solve GNU problems on OpenVMS.
8.12 diff-mode
Vim 6.0 and higher supports vim diff-mode (See |new-diff-mode|, |diff-mode|
Vim 6.0 and higher supports Vim diff-mode (See |new-diff-mode|, |diff-mode|
and |08.7|). This uses the external program 'diff' and expects a Unix-like
output format from diff. The standard VMS diff has a different output
format. To use vim on VMS in diff-mode, you need to:
format. To use Vim on VMS in diff-mode, you need to:
1 Install a Unix-like diff program, e.g. GNU diff
2 Tell vim to use the Unix-like diff for diff-mode.
2 Tell Vim to use the Unix-like diff for diff-mode.
You can download GNU diff from the VIM-VMS website, it is one of the GNU
tools in http://www.polarhome.com/vim/files/gnu_tools.zip. I suggest to
@@ -594,7 +594,7 @@ prompt: >
GDIFF :== $GNU:DIFF.EXE
Now you need to tell vim to use the new diff program. Take the example
Now you need to tell Vim to use the new diff program. Take the example
settings from |diff-diffexpr| and change the call to the external diff
program to the new diff on VMS. Add this to your .vimrc file: >
@@ -615,7 +615,7 @@ program to the new diff on VMS. Add this to your .vimrc file: >
endfunction
endif
You can now use vim in diff-mode, e.g. to compare two files in read-only
You can now use Vim in diff-mode, e.g. to compare two files in read-only
mode: >
$ VIM -D/R <FILE1> <FILE2>
@@ -638,7 +638,7 @@ You can now compare files in 4 ways: >
8.13 Allow '$' in C keywords
DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
and vim recognises the '$' as the end of the identifier. You can change this
and Vim recognises the '$' as the end of the identifier. You can change this
with the |iskeyword|command.
Add this command to your .vimrc file: >
@@ -667,7 +667,7 @@ start it with: >
8.14 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administartors
As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather
slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
@@ -680,7 +680,7 @@ both GUI/GTK build and just console build executables, like below: >
|----- syntax
vimrc (system rc files)
gvimrc
gvim.exe (the remaned GUI or GTK built vim.exe)
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
@@ -713,11 +713,11 @@ View of Cluster from system ID 11655 node: TOR
<EFBFBD> ODIN <20> VMS V7.3-2 <20> MEMBER <20>
+---------------------------------+
It is convinient to have a common VIM directory but execute different
It is convenient to have a common VIM directory but execute different
executables.
There are more solutions for this problem:
solution 1. all executables in the same directory with different names
Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added
to the login.com or sylogin.com: >
@@ -737,7 +737,7 @@ to the login.com or sylogin.com: >
$ vi*m :== mcr vim:VIM.EXE_IA64
$ endif
solution 2. different directories: >
Solution 2. Different directories: >
$ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
$ then
@@ -757,8 +757,8 @@ solution 2. different directories: >
$! VIMRUNTIME must be defined in order to find runtime files
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
A good examle for this approach is the [GNU]gnu_tools.com script from GNU_TOOLS.ZIP
package downloadable from http://www.polarhome.com/vim/
A good example for this approach is the [GNU]gnu_tools.com script from
GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
(Zoltan Arpadffy, Vim 7.2)

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.2. Last change: 2008 Jul 16
*pattern.txt* For Vim version 7.2. Last change: 2008 Nov 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,12 +32,13 @@ explanations are in chapter 27 |usr_27.txt|.
|linewise|.
*/<CR>*
/<CR> Search forward for the [count]'th latest used
pattern |last-pattern| with latest used |{offset}|.
/<CR> Search forward for the [count]'th occurrence of the
latest used pattern |last-pattern| with latest used
|{offset}|.
//{offset}<CR> Search forward for the [count]'th latest used
pattern |last-pattern| with new |{offset}|. If
{offset} is empty no offset is used.
//{offset}<CR> Search forward for the [count]'th occurrence of the
latest used pattern |last-pattern| with new
|{offset}|. If {offset} is empty no offset is used.
*?*
?{pattern}[?]<CR> Search backward for the [count]'th previous
@@ -48,12 +49,13 @@ explanations are in chapter 27 |usr_27.txt|.
down |linewise|.
*?<CR>*
?<CR> Search backward for the [count]'th latest used
pattern |last-pattern| with latest used |{offset}|.
?<CR> Search backward for the [count]'th occurrence of the
latest used pattern |last-pattern| with latest used
|{offset}|.
??{offset}<CR> Search backward for the [count]'th latest used
pattern |last-pattern| with new |{offset}|. If
{offset} is empty no offset is used.
??{offset}<CR> Search backward for the [count]'th occurrence of the
latest used pattern |last-pattern| with new
|{offset}|. If {offset} is empty no offset is used.
*n*
n Repeat the latest "/" or "?" [count] times.
@@ -507,7 +509,7 @@ Character classes {not in Vi}: */character-classes*
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
Useful when searching voweled Hebrew or Arabic text.
|/\%d| \%d \%d match specified decimal character (eg \%d123
|/\%d| \%d \%d match specified decimal character (eg \%d123)
|/\%x| \%x \%x match specified hex character (eg \%x2a)
|/\%o| \%o \%o match specified octal character (eg \%o040)
|/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
@@ -794,7 +796,11 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
*/\%V*
\%V Match inside the Visual area. When Visual mode has already been
stopped match in the area that |gv| would reselect.
Only works for the current buffer.
This is a |/zero-width| match. To make sure the whole pattern is
inside the Visual area put it at the start and end of the pattern,
e.g.: >
/\%Vfoo.*bar\%V
< Only works for the current buffer.
*/\%#* *cursor-position*
\%# Matches with the cursor position. Only works when matching in a
@@ -877,10 +883,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
this will clearly show when the match is updated or not.
To match the text up to column 17: >
/.*\%17v
< Column 17 is not included, because that's where the "\%17v" matches,
and since this is a |/zero-width| match, column 17 isn't included in
the match. This does the same: >
/.*\%<18v
< Column 17 is included, because that's where the "\%17v" matches,
even though this is a |/zero-width| match. Adding a dot to match the
next character has the same result: >
/.*\%17v.
< This command does the same thing, but also matches when there is no
character in column 17: >
/.*\%<18v.
<
Character classes: {not in Vi}

View File

@@ -1,11 +1,11 @@
*pi_getscript.txt* For Vim version 7.2. Last change: 2008 Jun 29
*pi_getscript.txt* For Vim version 7.0. Last change: 2009 Oct 14
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
<
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
*GetLatestVimScripts-copyright*
Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *glvs-copyright*
Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE applies to getscript.vim and
pi_getscript.txt (see |copyright|) except use
"getscript" instead of "Vim". No warranty, express or implied.
@@ -51,7 +51,7 @@ The GetLatestVimScripts.dist file serves as an example and a template for your
own personal list. Feel free to remove all the scripts mentioned within it;
the "important" part of it is the first two lines.
Your computer needs to have wget for GetLatestVimScripts to do its work.
Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
1. if compressed: gunzip getscript.vba.gz
2. Unix:
@@ -76,7 +76,7 @@ Your computer needs to have wget for GetLatestVimScripts to do its work.
==============================================================================
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
Unless its been defined elsewhere, >
Unless it has been defined elsewhere, >
:GLVS
will invoke GetLatestVimScripts(). If some other plugin has defined that
command, then you may type
@@ -136,7 +136,7 @@ insures that GetLatestVimScripts will assume that the script it has is
out-of-date.
The SourceID is extracted by GetLatestVimScripts from the script's page on
vim.sf.net; whenever its greater than the one stored in the
vim.sf.net; whenever it is greater than the one stored in the
GetLatestVimScripts.dat file, the script will be downloaded
(see |GetLatestVimScripts_dat|).
@@ -176,6 +176,8 @@ Note: the first two lines are required, but essentially act as comments.
==============================================================================
5. GetLatestVimScripts Friendly Plugins *getscript-plugins* *glvs-plugins*
(this section is for plugin authors)~
If a plugin author includes the following comment anywhere in their plugin,
GetLatestVimScripts will find it and use it to automatically build the user's
GetLatestVimScripts.dat files:
@@ -191,11 +193,20 @@ plus any additional lines describing any plugin dependencies it may have.
Same format, of course!
If your command is auto-installable (see |glvs-autoinstall|), and most scripts
are, then you may include :AutoInstall: at the start of "yourscriptname".
are, then you may include :AutoInstall: just before "yourscriptname":
>
src_id
v
" GetLatestVimScripts: ### ### :AutoInstall: yourscriptname
^
scriptid
<
NOTE: :AutoInstall: is a plugin-author option, not a GetLatestVimScripts.dat~
entry!~
GetLatestVimScripts commands for those scripts are then appended, if not
already present, to the user's GetLatest/GetLatestVimScripts.dat file. Its a
relatively painless way to automate the acquisition of any scripts your
already present, to the user's GetLatest/GetLatestVimScripts.dat file. It is
a relatively painless way to automate the acquisition of any scripts your
plugins depend upon.
Now, as an author, you probably don't want GetLatestVimScripts to download
@@ -290,14 +301,19 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
This variable holds the options to be used with the
g:GetLatestVimScripts_wget command.
>
g:getLatestVimScripts_allowautoinstall
g:GetLatestVimScripts_allowautoinstall
< default= 1
This variable indicates whether GetLatestVimScripts is allowed
to attempt to automatically install scripts. Note that it
doesn't understand vimballs (yet). Furthermore, the plugin
author has to have explicitly indicated that his/her plugin
is automatically installable.
to attempt to automatically install scripts. Furthermore, the
plugin author has to have explicitly indicated that his/her
plugin is automatically installable (via the :AutoInstall:
keyword in the GetLatestVimScripts comment line).
>
g:GetLatestVimScripts_autoinstalldir
< default= $HOME/.vim (linux)
default= $HOME/vimfiles (windows)
Override where :AutoInstall: scripts will be installed.
Doesn't override vimball installation.
==============================================================================
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
@@ -336,8 +352,10 @@ The AutoInstall process will:
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
* (David Schaefer) the acd option interferes with vimballs
Solution: bypass the acd option
v30 Jun 13, 2008 : * GLVS now checks for existence of fnameescape() and will
issue an error message if its not supported
issue an error message if it is not supported
v29 Jan 07, 2008 : * Bram M pointed out that cpo is a global option and that
getscriptPlugin.vim was setting it but not restoring it.
v28 Jan 02, 2008 : * improved shell quoting character handling, cygwin

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.2. Last change: 2008 Aug 09
*pi_tar.txt* For Vim version 7.2. Last change: 2009 Dec 28
+====================+
| Tar File Interface |
@@ -26,6 +26,33 @@ Copyright 2005-2008: The GPL (gnu public license) applies to *tar-copyright*
also write to the file. Currently, one may not make a new file in
tar archives via the plugin.
*:Untarvim*
UNTARVIM~
:Untarvim [vimhome]
This command copies, if necessary, the tarball to the .vim or vimfiles
directory using the first writable directory in the |'runtimepath'|
when no [vimhome] is specified. Otherwise, the [vimhome] argument
allows the user to specify that directory, instead.
The copy is done using the command in *g:tar_copycmd* , which is >
cp for cygwin, unix, macunix
copy for windows (32, 95, 64, 16)
< The extraction is done with the command specified with
*g:tar_extractcmd* , which by default is >
"tar -xf"
<
PREVENTING LOADING~
If for some reason you do not wish to use vim to examine tar'd files,
you may put the following two variables into your <.vimrc> to prevent
the tar plugin from loading: >
let g:loaded_tarPlugin= 1
let g:loaded_tar = 1
<
==============================================================================
3. Options *tar-options*
@@ -38,14 +65,15 @@ Copyright 2005-2008: The GPL (gnu public license) applies to *tar-copyright*
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
"--" will be used to prevent unwanted
"--"s will be used to prevent unwanted
option expansion in tar commands.
Please be sure that your tar command
accepts "--"; Posix compliant tar
utilities do accept it.
utilities do accept them.
if not exists:
The tar plugin will reject any member
files that begin with "-"
The tar plugin will reject any tar
files or member files that begin with
"-"
Not all tar's support the "--" which is why
it isn't default.
*g:tar_writeoptions* "uf" used to update/replace a file
@@ -54,6 +82,9 @@ Copyright 2005-2008: The GPL (gnu public license) applies to *tar-copyright*
==============================================================================
4. History *tar-history*
v24 Apr 07, 2009 * :Untarvim command implemented
Sep 28, 2009 * Added lzma support
v22 Aug 08, 2008 * security fixes
v16 Jun 06, 2008 * tarfile:: used instead of tarfile: when editing files
inside tarballs. Fixes a problem with tarballs called

View File

@@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 7.2. Last change: 2008 Jul 30
*pi_vimball.txt* For Vim version 7.2. Last change: 2009 Dec 28
----------------
Vimball Archiver
@@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE applies to Vimball.vim, and Vimball.txt
(see |copyright|) except use "Vimball" instead of "Vim".
No warranty, express or implied.
@@ -55,7 +55,7 @@ Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
==============================================================================
3. Vimball Manual *vimball-manual*
*:MkVimball*
MAKING A VIMBALL *:MkVimball*
:[range]MkVimball[!] filename [path]
The range is composed of lines holding paths to files to be included
@@ -79,29 +79,34 @@ Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
"filename.vba" file, overwriting it if it already exists. This
behavior resembles that for |:w|.
*g:vimball_mkdir*
If you wish to force slashes into the filename, that can also be done
by using the exclamation mark (ie. :MkVimball! path/filename).
The tip at http://vim.wikia.com/wiki/Using_VimBall_with_%27Make%27
has a good idea on how to automate the production of vimballs using
make.
MAKING DIRECTORIES VIA VIMBALLS *g:vimball_mkdir*
First, the |mkdir()| command is tried (not all systems support it).
If it doesn't exist, then g:vimball_mkdir doesn't exist, it is set to:
If it doesn't exist, then if g:vimball_mkdir doesn't exist, it is set
as follows: >
|g:netrw_local_mkdir|, if it exists
"mkdir", if it is executable
"makedir", if it is executable
Otherwise, it is undefined.
One may explicitly specify the directory making command using
"mkdir" , if it is executable
"makedir" , if it is executable
Otherwise , it is undefined.
< One may explicitly specify the directory making command using
g:vimball_mkdir. This command is used to make directories that
are needed as indicated by the vimball.
*g:vimball_home*
CONTROLLING THE VIMBALL EXTRACTION DIRECTORY *g:vimball_home*
You may override the use of the |'runtimepath'| by specifying a
variable, g:vimball_home.
Path Preprocessing *g:vimball_path_escape*
Paths used in vimball are preprocessed by s:Path(); in addition,
certain characters are escaped (by prepending a backslash). The
characters are in g:vimball_path_escape, and may be overridden by
the user in his/her .vimrc initialization script.
*vimball-extract*
vim filename.vba
@@ -112,12 +117,16 @@ Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
line.
:VimballList *:VimballList*
LISTING FILES IN A VIMBALL *:VimballList*
:VimballList
This command will tell Vimball to list the files in the archive, along
with their lengths in lines.
:UseVimball [path] *:UseVimball*
MANUALLY INVOKING VIMBALL EXTRACTION *:UseVimball*
:UseVimball [path]
This command is contained within the vimball itself; it invokes the
vimball#Vimball() routine which is responsible for unpacking the
@@ -126,7 +135,9 @@ Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
installation, thereby overriding the automatic choice of the first
existing directory on the |'runtimepath'|.
:RmVimball vimballfile [path] *:RmVimball*
REMOVING A VIMBALL *:RmVimball*
:RmVimball vimballfile [path]
This command removes all files generated by the specified vimball
(but not any directories it may have made). One may choose a path
@@ -136,10 +147,29 @@ Copyright: (c) 2004-2008 by Charles E. Campbell, Jr. *Vimball-copyright*
containing a record of what files need to be removed for all vimballs
used thus far.
PREVENTING LOADING
If for some reason you don't want to be able to extract plugins
using vimballs: you may prevent the loading of vimball.vim by
putting the following two variables in your <.vimrc>: >
let g:loaded_vimballPlugin= 1
let g:loaded_vimball = 1
<
==============================================================================
4. Vimball History *vimball-history* {{{1
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems
* RmVimball supports filenames that would
otherwise be considered to have "magic"
characters (ie. Abc[1].vba)
Feb 18, 2009 * s:Escape(), g:vimball_shq, and g:netrw_shq
removed (shellescape() used directly)
Oct 05, 2009 * (Nikolai Weibull) suggested that MkVimball
be allowed to use slashes in the filename.
26 : May 27, 2008 * g:vimball_mkdir usage installed. Makes the
$HOME/.vim (or $HOME\vimfiles) directory if
necessary.

View File

@@ -1,4 +1,4 @@
*print.txt* For Vim version 7.2. Last change: 2008 Apr 30
*print.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -704,7 +704,7 @@ print output, turn it over and place it back in the paper feeder. Now print
even.ps with your platform's print command. All the even pages should now
appear on the back of the odd pages.
There a couple of points to bear in mind:
There are a couple of points to bear in mind:
1. Position of the first page. If the first page is on top of the printout
when printing the odd pages then you need to reverse the order that the odd

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.2. Last change: 2008 Mar 14
*quickfix.txt* For Vim version 7.2. Last change: 2009 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -482,7 +482,7 @@ example: >
{shellpipe} is the 'shellpipe' option.
{errorfile} is the 'makeef' option, with ## replaced to make it unique.
The placeholder "$*" can be used for the argument list in {makeprog} if the
The placeholder "$*" can be used for the argument list in {makeprg} if the
command needs some additional characters after its arguments. The $* is
replaced then by all arguments. Example: >
:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
@@ -630,14 +630,20 @@ id-utils) in a similar way to its compiler integration (see |:make| above).
Just like ":grep", but instead of making a new list of
errors the matches are appended to the current list.
Example: >
:grep nothing %
:call setqflist([])
:bufdo grepadd! something %
< The first command makes a new error list which is
empty. The second command executes "grepadd" for each
listed buffer. Note the use of ! to avoid that
":grepadd" jumps to the first error, which is not
allowed with |:bufdo|.
An example that uses the argument list and avoids
errors for files without matches: >
:silent argdo try
\ | grepadd! something %
\ | catch /E480:/
\ | endtry"
<
*:lgrepa* *:lgrepadd*
:lgrepa[dd][!] [arguments]
Same as ":grepadd", except the location list for the
@@ -1206,7 +1212,7 @@ Maintaining the correct directory is more complicated if you don't use
GNU-make. AIX-make for example doesn't print any information about its
working directory. Then you need to enhance the makefile. In the makefile of
LessTif there is a command which echoes "Making {target} in {dir}". The
special problem here is that it doesn't print informations on leaving the
special problem here is that it doesn't print information on leaving the
directory and that it doesn't print the absolute path.
To solve the problem with relative paths and missing "leave directory"

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.2. Last change: 2008 Jan 22
*quickref.txt* For Vim version 7.2. Last change: 2009 Jan 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -40,13 +40,13 @@ N is used to indicate an optional count that can be given before the command.
|^| ^ to first non-blank character in the line
|$| N $ to the last character in the line (N-1 lines lower)
(also: <End> key)
|g0| N g0 to first character in screen line (differs from "0"
|g0| g0 to first character in screen line (differs from "0"
when lines wrap)
|g^| N g^ to first non-blank character in screen line (differs
|g^| g^ to first non-blank character in screen line (differs
from "^" when lines wrap)
|g$| N g$ to last character in screen line (differs from "$"
when lines wrap)
|gm| N gm to middle of the screen line
|gm| gm to middle of the screen line
|bar| N | to column N (default: 1)
|f| N f{char} to the Nth occurrence of {char} to the right
|F| N F{char} to the Nth occurrence of {char} to the left

View File

@@ -247,7 +247,7 @@ transition - as an Editor it is so much better in many ways: keyboard layout,
memory usage, text alteration to name 3. (Mark Adam)
In fact, now if I want to know what a particular setting does in vi, I fire up
VIM and check out it's help! (Nikhil Patel, USA)
VIM and check out its help! (Nikhil Patel, USA)
As a vi user, VIM has made working with text a far more pleasant task than
before I encountered this program. (Steinar Knutsen, Norway)

View File

@@ -1,4 +1,4 @@
*recover.txt* For Vim version 7.2. Last change: 2006 Apr 24
*recover.txt* For Vim version 7.2. Last change: 2009 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -181,7 +181,7 @@ parts of the original file were not written to disk.
Be sure that the recovery was successful before overwriting the original
file or deleting the swap file. It is good practice to write the recovered
file elsewhere and run 'diff' to find out if the changes you want are in the
recovered file.
recovered file. Or use |:DiffOrig|.
Once you are sure the recovery is ok delete the swap file. Otherwise, you
will continue to get warning messages that the ".swp" file already exists.

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.2. Last change: 2007 Aug 12
*repeat.txt* For Vim version 7.2. Last change: 2009 Nov 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -332,6 +332,12 @@ Note however that trailing whitespace in the line before it cannot be
inserted freely; it depends on the position where a command is split up
whether additional whitespace is allowed or not.
When a space is required it's best to put it right after the backslash. A
space at the end of a line is hard to see and may be accidentally deleted. >
:syn match Comment
\ "very long regexp"
\ keepend
There is a problem with the ":append" and ":insert" commands: >
:1append
\asdf

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.2. Last change: 2008 Nov 30
*spell.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1279,7 +1279,7 @@ compound word. The word itself is not a good word. Example:
*spell-ONLYINCOMPOUND*
The ONLYINCOMPOUND does exactly the same as NEEDCOMPOUND. Supported for
compatiblity with Hunspell.
compatibility with Hunspell.
*spell-COMPOUNDMIN*
The minimal character length of a word used for compounding is specified with

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.2. Last change: 2008 Nov 09
*starting.txt* For Vim version 7.2. Last change: 2009 Dec 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -338,12 +338,19 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-C*
-C Compatible mode. Sets the 'compatible' option. You can use
this to get 'compatible', even though a .vimrc file exists.
But the command ":set nocompatible" overrules it anyway.
Also see |compatible-default|. {not in Vi}
Keep in mind that the command ":set nocompatible" in some
plugin or startup script overrules this, so you may end up
with 'nocompatible' anyway. To find out, use: >
:verbose set compatible?
< Several plugins won't work with 'compatible' set. You may
want to set it after startup this way: >
vim "+set cp" filename
< Also see |compatible-default|. {not in Vi}
*-N*
-N Not compatible mode. Resets the 'compatible' option. You can
use this to get 'nocompatible', when there is no .vimrc file.
use this to get 'nocompatible', when there is no .vimrc file
or when using "-u NONE".
Also see |compatible-default|. {not in Vi}
*-y* *easy*
@@ -361,6 +368,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Can also be done with ":set updatecount=0". You can switch it
on again by setting the 'updatecount' option to some value,
e.g., ":set uc=100".
NOTE: Don't combine -n with -b, making -nb, because that has a
different meaning: |-nb|.
'updatecount' is set to 0 AFTER executing commands from a
vimrc file, but before the GUI initializations. Thus it
overrides a setting for 'updatecount' in a vimrc file, but not
@@ -593,17 +602,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
it. The second form specifies a file to read connection info
from. The third form specifies the hostname, address and
password for connecting to Netbeans. |netbeans-run|
Example for using a script file to change a name in several files:
Create a file "subs.vi" containing substitute commands and a :wq
command: >
:%s/Jones/Smith/g
:%s/Allen/Peter/g
:wq
<
Execute Vim on all files you want to change: >
foreach i ( *.let ) vim -s subs.vi $i
{only available when compiled with the |+netbeans_intg|
feature; if not then -nb will make Vim exit}
If the executable is called "view", Vim will start in Readonly mode. This is
useful if you can make a hard or symbolic link from "view" to "vim".
@@ -777,10 +777,11 @@ accordingly. Vim proceeds in this order:
nocp" command if you like.
For the Macintosh the $VIMRUNTIME/macmap.vim is read.
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc*
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC*
c. Four places are searched for initializations. The first that exists
is used, the others are ignored. The $MYVIMRC environment variable is
set to the file that was first found, unless $MYVIMRC was already set.
set to the file that was first found, unless $MYVIMRC was already set
and when using VIMINIT.
- The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
- The user vimrc file(s):
@@ -969,7 +970,8 @@ part of the line in the tags file) is always done in secure mode. This works
just like executing a command from a vimrc/exrc in the current directory.
*slow-start*
If Vim takes a long time to start up, there may be a few causes:
If Vim takes a long time to start up, use the |--startuptime| argument to find
out what happens. There are a few common causes:
- If the Unix version was compiled with the GUI and/or X11 (check the output
of ":version" for "+GUI" and "+X11"), it may need to load shared libraries
and connect to the X11 server. Try compiling a version with GUI and X11
@@ -990,7 +992,7 @@ there is not enough room, you will see only part of it).
*info-message*
The |--help| and |--version| arguments cause Vim to print a message and then
exit. Normally the message is send to stdout, thus can be redirected to a
exit. Normally the message is sent to stdout, thus can be redirected to a
file with: >
vim --help >file
@@ -1441,7 +1443,7 @@ requires Vim to be compiled with the |+iconv| feature. Filenames are not
converted.
MANUALLY READING AND WRITING
MANUALLY READING AND WRITING *viminfo-read-write*
Two commands can be used to read and write the viminfo file manually. This
can be used to exchange registers between two running Vim programs: First
@@ -1504,7 +1506,7 @@ most of the information will be restored).
the list is edited.
If you get the |press-enter| prompt you can press "q"
and still get the prompt to enter a file number.
Use ! to abondon a modified buffer. |abandon|
Use ! to abandon a modified buffer. |abandon|
{not when compiled with tiny or small features}
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.2. Last change: 2008 Jul 22
*syntax.txt* For Vim version 7.2. Last change: 2009 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -113,6 +113,9 @@ this works, look in the file:
:syntax off $VIMRUNTIME/syntax/nosyntax.vim
Also see |syntax-loading|.
NOTE: If displaying long lines is slow and switching off syntax highlighting
makes it fast, consider setting the 'synmaxcol' option to a lower value.
==============================================================================
2. Syntax files *:syn-files*
@@ -198,8 +201,12 @@ that you write the syntax file in a directory that is early in 'runtimepath'.
Vim will only load the first syntax file found.
NAMING CONVENTIONS
*group-name* *{group-name}* *E669* *W18*
NAMING CONVENTIONS *group-name* *{group-name}* *E669* *W18*
A syntax group name is to be used for syntax items that match the same kind of
thing. These are then linked to a highlight group that specifies the color.
A syntax group name doesn't specify any color or attributes itself.
The name for a highlight or syntax group must consist of ASCII letters, digits
and the underscore. As a regexp: "[a-zA-Z0-9_]*"
@@ -379,8 +386,8 @@ Or use the ":TOhtml" user command. It is defined in a standard plugin.
:10,40TOhtml
After you save the resulting file, you can view it with any HTML viewer, such
as Netscape. The colors should be exactly the same as you see them in Vim.
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 set "html_start_line" and
"html_end_line" to the first and last line to be converted. Example, using
@@ -398,15 +405,45 @@ Force to omit the line numbers by using a zero value: >
Go back to the default to use 'number' by deleting the variable: >
:unlet html_number_lines
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 html_ignore_folding = 1
By default, HTML optimized for old browsers is generated. If you prefer using
cascading style sheets (CSS1) for the attributes (resulting in considerably
shorter and valid HTML 4 file), use: >
:let html_use_css = 1
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 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 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 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 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>" is used around the text. This makes it show
up as you see it in Vim, but without wrapping. If you prefer wrapping, at the
risk of making some things look a bit different, use: >
@@ -525,9 +562,10 @@ files are included:
pic PIC assembly (currently for PIC16F84)
The most flexible is to add a line in your assembly file containing: >
:asmsyntax=nasm
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.
one of the first five lines in the file. No non-white text must be
immediately before or after this text.
The syntax type can always be overruled for a specific buffer by setting the
b:asmsyntax variable: >
@@ -2529,11 +2567,13 @@ If you notice highlighting errors while scrolling backwards, which are fixed
when redrawing with CTRL-L, try setting the "tcsh_minlines" internal variable
to a larger number: >
:let tcsh_minlines = 100
:let tcsh_minlines = 1000
This will make the syntax synchronization start 100 lines before the first
displayed line. The default value is 15. The disadvantage of using a larger
number is that redrawing can become slow.
This will make the syntax synchronization start 1000 lines before the first
displayed line. If you set "tcsh_minlines" to "fromstart", then
synchronization is done from the start of the file. The default value for
tcsh_minlines is 100. The disadvantage of using a larger number is that
redrawing can become slow.
TEX *tex.vim* *ft-tex-syntax*
@@ -3414,8 +3454,9 @@ Notes:
- The highlighted area will never be outside of the matched text.
- A negative offset for an end pattern may not always work, because the end
pattern may be detected when the highlighting should already have stopped.
- Until Vim 7.2 the offsets were counted in bytes instead of characters. This
didn't work well for multi-byte characters.
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
This didn't work well for multi-byte characters, so it was changed with the
Vim 7.2 release.
- The start of a match cannot be in a line other than where the pattern
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
start in another line, this does work: "a\nb"hs=e.
@@ -3466,7 +3507,8 @@ expected, but there are a few exceptions.
When using a start pattern with an offset, the start of the match is not
allowed to start in a following line. The highlighting can start in a
following line though.
following line though. Using the "\zs" item also requires that the start of
the match doesn't move to another line.
The skip pattern can include the "\n", but the search for an end pattern will
continue in the first character of the next line, also when that character is
@@ -3832,10 +3874,11 @@ in their own color.
:colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath'
for the file "colors/{name}.vim. The first one that
is found is loaded.
To see the name of the currently active color scheme
(if there is one): >
To see the name of the currently active color scheme: >
:echo g:colors_name
< Doesn't work recursively, thus you can't use
< When using the default colors you will get an E121
error.
Doesn't work recursively, thus you can't use
":colorscheme" in a color scheme script.
After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
@@ -4032,7 +4075,7 @@ ctermbg={color-nr} *highlight-ctermbg*
colors.
When a colorscheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "colors_name" variable when you don't want this.
delete the "g:colors_name" variable when you don't want this.
When you have set "ctermfg" or "ctermbg" for the Normal group, Vim
needs to reset the color when exiting. This is done with the "op"

View File

@@ -4,6 +4,8 @@
$ motion.txt /*$*
$HOME options.txt /*$HOME*
$HOME-use version5.txt /*$HOME-use*
$MYGVIMRC gui.txt /*$MYGVIMRC*
$MYVIMRC starting.txt /*$MYVIMRC*
$VIM starting.txt /*$VIM*
$VIM-use version5.txt /*$VIM-use*
$VIMRUNTIME starting.txt /*$VIMRUNTIME*
@@ -481,7 +483,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'nodg' options.txt /*'nodg'*
'nodiff' options.txt /*'nodiff'*
'nodigraph' options.txt /*'nodigraph'*
'nodisable' options.txt /*'nodisable'*
'noea' options.txt /*'noea'*
'noeb' options.txt /*'noeb'*
'noed' options.txt /*'noed'*
@@ -518,6 +519,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'noimc' options.txt /*'noimc'*
'noimcmdline' options.txt /*'noimcmdline'*
'noimd' options.txt /*'noimd'*
'noimdisable' options.txt /*'noimdisable'*
'noincsearch' options.txt /*'noincsearch'*
'noinf' options.txt /*'noinf'*
'noinfercase' options.txt /*'noinfercase'*
@@ -1169,6 +1171,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
+signs various.txt /*+signs*
+smartindent various.txt /*+smartindent*
+sniff various.txt /*+sniff*
+startuptime various.txt /*+startuptime*
+statusline various.txt /*+statusline*
+sun_workshop various.txt /*+sun_workshop*
+syntax various.txt /*+syntax*
@@ -1230,6 +1233,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
--serverlist remote.txt /*--serverlist*
--servername remote.txt /*--servername*
--socketid starting.txt /*--socketid*
--startuptime starting.txt /*--startuptime*
--version starting.txt /*--version*
--windowid starting.txt /*--windowid*
-A starting.txt /*-A*
@@ -1771,6 +1775,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:Sexplore pi_netrw.txt /*:Sexplore*
:TOhtml syntax.txt /*:TOhtml*
:Texplore pi_netrw.txt /*:Texplore*
:Untarvim pi_tar.txt /*:Untarvim*
:UseVimball pi_vimball.txt /*:UseVimball*
:Vexplore pi_netrw.txt /*:Vexplore*
:VimballList pi_vimball.txt /*:VimballList*
@@ -1781,6 +1786,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:_! cmdline.txt /*:_!*
:_# cmdline.txt /*:_#*
:_## cmdline.txt /*:_##*
:_#0 cmdline.txt /*:_#0*
:_#< cmdline.txt /*:_#<*
:_#n cmdline.txt /*:_#n*
:_% cmdline.txt /*:_%*
:_%: cmdline.txt /*:_%:*
:_%< cmdline.txt /*:_%<*
@@ -1971,7 +1979,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:command-range map.txt /*:command-range*
:command-register map.txt /*:command-register*
:command-verbose map.txt /*:command-verbose*
:comment eval.txt /*:comment*
:comment cmdline.txt /*:comment*
:comp quickfix.txt /*:comp*
:compiler quickfix.txt /*:compiler*
:con eval.txt /*:con*
@@ -2087,6 +2095,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:enew! editing.txt /*:enew!*
:ex editing.txt /*:ex*
:exe eval.txt /*:exe*
:exe-comment eval.txt /*:exe-comment*
:execute eval.txt /*:execute*
:exi editing.txt /*:exi*
:exit editing.txt /*:exit*
@@ -2434,6 +2443,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:nunme gui.txt /*:nunme*
:nunmenu gui.txt /*:nunmenu*
:o vi_diff.txt /*:o*
:ol starting.txt /*:ol*
:oldfiles starting.txt /*:oldfiles*
:om map.txt /*:om*
:omap map.txt /*:omap*
:omap_l map.txt /*:omap_l*
@@ -2862,6 +2873,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:unme gui.txt /*:unme*
:unmenu gui.txt /*:unmenu*
:unmenu-all gui.txt /*:unmenu-all*
:uns various.txt /*:uns*
:unsilent various.txt /*:unsilent*
:up editing.txt /*:up*
:update editing.txt /*:update*
:v repeat.txt /*:v*
@@ -4102,7 +4115,15 @@ E805 eval.txt /*E805*
E806 eval.txt /*E806*
E807 eval.txt /*E807*
E808 eval.txt /*E808*
E809 cmdline.txt /*E809*
E81 map.txt /*E81*
E810 diff.txt /*E810*
E811 autocmd.txt /*E811*
E812 autocmd.txt /*E812*
E813 editing.txt /*E813*
E814 editing.txt /*E814*
E815 if_mzsch.txt /*E815*
E816 diff.txt /*E816*
E82 message.txt /*E82*
E83 message.txt /*E83*
E84 windows.txt /*E84*
@@ -4304,6 +4325,7 @@ Ruby if_ruby.txt /*Ruby*
Russian russian.txt /*Russian*
S change.txt /*S*
SHELL starting.txt /*SHELL*
SQLGetType ft_sql.txt /*SQLGetType*
SQLSetType ft_sql.txt /*SQLSetType*
Select visual.txt /*Select*
Select-mode visual.txt /*Select-mode*
@@ -4660,6 +4682,7 @@ blockwise-operators visual.txt /*blockwise-operators*
blockwise-register change.txt /*blockwise-register*
blockwise-visual visual.txt /*blockwise-visual*
bold syntax.txt /*bold*
bom-bytes mbyte.txt /*bom-bytes*
book intro.txt /*book*
bookmark usr_03.txt /*bookmark*
boolean options.txt /*boolean*
@@ -4698,6 +4721,11 @@ bzip2 pi_gzip.txt /*bzip2*
c change.txt /*c*
c.vim syntax.txt /*c.vim*
cW change.txt /*cW*
c_# cmdline.txt /*c_#*
c_## cmdline.txt /*c_##*
c_#< cmdline.txt /*c_#<*
c_#n cmdline.txt /*c_#n*
c_% cmdline.txt /*c_%*
c_<BS> cmdline.txt /*c_<BS>*
c_<C-Left> cmdline.txt /*c_<C-Left>*
c_<C-R> cmdline.txt /*c_<C-R>*
@@ -4733,6 +4761,7 @@ c_CTRL-B cmdline.txt /*c_CTRL-B*
c_CTRL-C cmdline.txt /*c_CTRL-C*
c_CTRL-D cmdline.txt /*c_CTRL-D*
c_CTRL-E cmdline.txt /*c_CTRL-E*
c_CTRL-F cmdline.txt /*c_CTRL-F*
c_CTRL-H cmdline.txt /*c_CTRL-H*
c_CTRL-I cmdline.txt /*c_CTRL-I*
c_CTRL-J cmdline.txt /*c_CTRL-J*
@@ -4773,6 +4802,7 @@ cc change.txt /*cc*
ceil() eval.txt /*ceil()*
ch.vim syntax.txt /*ch.vim*
change-list-jumps motion.txt /*change-list-jumps*
change-name tips.txt /*change-name*
change-tabs change.txt /*change-tabs*
change.txt change.txt /*change.txt*
changed-5.1 version5.txt /*changed-5.1*
@@ -4836,6 +4866,7 @@ collapse tips.txt /*collapse*
color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim*
command-line-window cmdline.txt /*command-line-window*
command-mode intro.txt /*command-mode*
compatible-default starting.txt /*compatible-default*
compile-changes-5 version5.txt /*compile-changes-5*
@@ -5022,6 +5053,7 @@ daw motion.txt /*daw*
dd change.txt /*dd*
debug-gcc debug.txt /*debug-gcc*
debug-highlight debugger.txt /*debug-highlight*
debug-leaks debug.txt /*debug-leaks*
debug-minidump debug.txt /*debug-minidump*
debug-mode repeat.txt /*debug-mode*
debug-scripts repeat.txt /*debug-scripts*
@@ -5368,6 +5400,7 @@ foldend-variable eval.txt /*foldend-variable*
folding fold.txt /*folding*
foldlevel() eval.txt /*foldlevel()*
foldlevel-variable eval.txt /*foldlevel-variable*
folds fold.txt /*folds*
foldstart-variable eval.txt /*foldstart-variable*
foldtext() eval.txt /*foldtext()*
foldtextresult() eval.txt /*foldtextresult()*
@@ -5512,7 +5545,6 @@ ft-xml-omni insert.txt /*ft-xml-omni*
ft-xml-syntax syntax.txt /*ft-xml-syntax*
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
ft_ada.txt ft_ada.txt /*ft_ada.txt*
ft_sql.txt ft_sql.txt /*ft_sql.txt*
ftdetect filetype.txt /*ftdetect*
ftp pi_netrw.txt /*ftp*
ftplugin usr_41.txt /*ftplugin*
@@ -5544,6 +5576,7 @@ g- undo.txt /*g-*
g0 motion.txt /*g0*
g8 various.txt /*g8*
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
g:ada#Comment ft_ada.txt /*g:ada#Comment*
g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds*
g:ada#DotWordRegex ft_ada.txt /*g:ada#DotWordRegex*
@@ -5586,14 +5619,17 @@ g:gnat.Tags() ft_ada.txt /*g:gnat.Tags()*
g:gnat.Tags_Command ft_ada.txt /*g:gnat.Tags_Command*
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*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
g:netrw_compress pi_netrw.txt /*g:netrw_compress*
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
g:netrw_cursorline pi_netrw.txt /*g:netrw_cursorline*
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
g:netrw_extracmd pi_netrw.txt /*g:netrw_extracmd*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
@@ -5603,10 +5639,13 @@ g:netrw_ftp_cmd pi_netrw.txt /*g:netrw_ftp_cmd*
g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd*
g:netrw_ftp_sizelist_cmd pi_netrw.txt /*g:netrw_ftp_sizelist_cmd*
g:netrw_ftp_timelist_cmd pi_netrw.txt /*g:netrw_ftp_timelist_cmd*
g:netrw_ftpextracmd pi_netrw.txt /*g:netrw_ftpextracmd*
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
@@ -5619,6 +5658,7 @@ g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
g:netrw_mousemaps pi_netrw.txt /*g:netrw_mousemaps*
g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
@@ -5629,6 +5669,7 @@ g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd*
g:netrw_silent pi_netrw.txt /*g:netrw_silent*
g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
@@ -5650,6 +5691,8 @@ g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
g:tar_cmd pi_tar.txt /*g:tar_cmd*
g:tar_copycmd pi_tar.txt /*g:tar_copycmd*
g:tar_extractcmd pi_tar.txt /*g:tar_extractcmd*
g:tar_nomax pi_tar.txt /*g:tar_nomax*
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
g:tar_secure pi_tar.txt /*g:tar_secure*
@@ -5657,7 +5700,6 @@ g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
g:var eval.txt /*g:var*
g:vimball_home pi_vimball.txt /*g:vimball_home*
g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir*
g:vimball_path_escape pi_vimball.txt /*g:vimball_path_escape*
g:vimsyn_embed syntax.txt /*g:vimsyn_embed*
g:vimsyn_folding syntax.txt /*g:vimsyn_folding*
g:vimsyn_maxlines syntax.txt /*g:vimsyn_maxlines*
@@ -6054,6 +6096,7 @@ i_CTRL-O insert.txt /*i_CTRL-O*
i_CTRL-P insert.txt /*i_CTRL-P*
i_CTRL-Q insert.txt /*i_CTRL-Q*
i_CTRL-R insert.txt /*i_CTRL-R*
i_CTRL-R_= insert.txt /*i_CTRL-R_=*
i_CTRL-R_CTRL-O insert.txt /*i_CTRL-R_CTRL-O*
i_CTRL-R_CTRL-P insert.txt /*i_CTRL-R_CTRL-P*
i_CTRL-R_CTRL-R insert.txt /*i_CTRL-R_CTRL-R*
@@ -6228,6 +6271,7 @@ keys() eval.txt /*keys()*
known-bugs todo.txt /*known-bugs*
l motion.txt /*l*
l:var eval.txt /*l:var*
lCursor mbyte.txt /*lCursor*
lace.vim syntax.txt /*lace.vim*
lang-variable eval.txt /*lang-variable*
language-mapping map.txt /*language-mapping*
@@ -6442,11 +6486,13 @@ mysql ft_sql.txt /*mysql*
mysyntaxfile syntax.txt /*mysyntaxfile*
mysyntaxfile-add syntax.txt /*mysyntaxfile-add*
mysyntaxfile-replace syntax.txt /*mysyntaxfile-replace*
mzeval() eval.txt /*mzeval()*
mzscheme if_mzsch.txt /*mzscheme*
mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
mzscheme-dynamic if_mzsch.txt /*mzscheme-dynamic*
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
mzscheme-vim if_mzsch.txt /*mzscheme-vim*
@@ -6483,11 +6529,13 @@ netreadfixup pi_netrw.txt /*netreadfixup*
netrw pi_netrw.txt /*netrw*
netrw-% pi_netrw.txt /*netrw-%*
netrw-- pi_netrw.txt /*netrw--*
netrw-C pi_netrw.txt /*netrw-C*
netrw-D pi_netrw.txt /*netrw-D*
netrw-O pi_netrw.txt /*netrw-O*
netrw-P pi_netrw.txt /*netrw-P*
netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-T pi_netrw.txt /*netrw-T*
netrw-U pi_netrw.txt /*netrw-U*
netrw-a pi_netrw.txt /*netrw-a*
netrw-activate pi_netrw.txt /*netrw-activate*
@@ -6505,6 +6553,7 @@ netrw-cadaver pi_netrw.txt /*netrw-cadaver*
netrw-chgup pi_netrw.txt /*netrw-chgup*
netrw-clean pi_netrw.txt /*netrw-clean*
netrw-contents pi_netrw.txt /*netrw-contents*
netrw-copyright pi_netrw.txt /*netrw-copyright*
netrw-cr pi_netrw.txt /*netrw-cr*
netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
@@ -6524,10 +6573,14 @@ netrw-explore pi_netrw.txt /*netrw-explore*
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
netrw-externapp pi_netrw.txt /*netrw-externapp*
netrw-file pi_netrw.txt /*netrw-file*
netrw-filigree pi_netrw.txt /*netrw-filigree*
netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-ftype pi_netrw.txt /*netrw-ftype*
netrw-gb pi_netrw.txt /*netrw-gb*
netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx*
netrw-handler pi_netrw.txt /*netrw-handler*
netrw-help pi_netrw.txt /*netrw-help*
@@ -6539,10 +6592,12 @@ netrw-horiz pi_netrw.txt /*netrw-horiz*
netrw-i pi_netrw.txt /*netrw-i*
netrw-incompatible pi_netrw.txt /*netrw-incompatible*
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
netrw-list pi_netrw.txt /*netrw-list*
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
netrw-listhack pi_netrw.txt /*netrw-listhack*
netrw-login pi_netrw.txt /*netrw-login*
netrw-mB pi_netrw.txt /*netrw-mB*
netrw-mT pi_netrw.txt /*netrw-mT*
netrw-mb pi_netrw.txt /*netrw-mb*
netrw-mc pi_netrw.txt /*netrw-mc*
@@ -6551,8 +6606,10 @@ netrw-me pi_netrw.txt /*netrw-me*
netrw-mf pi_netrw.txt /*netrw-mf*
netrw-mg pi_netrw.txt /*netrw-mg*
netrw-mh pi_netrw.txt /*netrw-mh*
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
netrw-mm pi_netrw.txt /*netrw-mm*
netrw-mouse pi_netrw.txt /*netrw-mouse*
netrw-move pi_netrw.txt /*netrw-move*
netrw-mp pi_netrw.txt /*netrw-mp*
netrw-mr pi_netrw.txt /*netrw-mr*
@@ -6571,6 +6628,7 @@ netrw-p pi_netrw.txt /*netrw-p*
netrw-p1 pi_netrw.txt /*netrw-p1*
netrw-p10 pi_netrw.txt /*netrw-p10*
netrw-p11 pi_netrw.txt /*netrw-p11*
netrw-p12 pi_netrw.txt /*netrw-p12*
netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4*
@@ -6603,6 +6661,7 @@ netrw-ref pi_netrw.txt /*netrw-ref*
netrw-rename pi_netrw.txt /*netrw-rename*
netrw-reverse pi_netrw.txt /*netrw-reverse*
netrw-rexplore pi_netrw.txt /*netrw-rexplore*
netrw-rightmouse pi_netrw.txt /*netrw-rightmouse*
netrw-s pi_netrw.txt /*netrw-s*
netrw-settings pi_netrw.txt /*netrw-settings*
netrw-sexplore pi_netrw.txt /*netrw-sexplore*
@@ -6617,6 +6676,7 @@ netrw-starstarpat pi_netrw.txt /*netrw-starstarpat*
netrw-start pi_netrw.txt /*netrw-start*
netrw-t pi_netrw.txt /*netrw-t*
netrw-texplore pi_netrw.txt /*netrw-texplore*
netrw-todo pi_netrw.txt /*netrw-todo*
netrw-transparent pi_netrw.txt /*netrw-transparent*
netrw-u pi_netrw.txt /*netrw-u*
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
@@ -6732,6 +6792,7 @@ object-select motion.txt /*object-select*
objects index.txt /*objects*
obtaining-exted netbeans.txt /*obtaining-exted*
ocaml.vim syntax.txt /*ocaml.vim*
oldfiles-variable eval.txt /*oldfiles-variable*
ole-activation if_ole.txt /*ole-activation*
ole-eval if_ole.txt /*ole-eval*
ole-gethwnd if_ole.txt /*ole-gethwnd*
@@ -6852,7 +6913,7 @@ ports-6 version6.txt /*ports-6*
posix vi_diff.txt /*posix*
posix-compliance vi_diff.txt /*posix-compliance*
posix-screen-size vi_diff.txt /*posix-screen-size*
postgres ft_sql.txt /*postgres*
postgress ft_sql.txt /*postgress*
postscr.vim syntax.txt /*postscr.vim*
postscript-cjk-printing print.txt /*postscript-cjk-printing*
postscript-print-encoding print.txt /*postscript-print-encoding*
@@ -6889,6 +6950,7 @@ profiling repeat.txt /*profiling*
profiling-variable eval.txt /*profiling-variable*
progname-variable eval.txt /*progname-variable*
progress.vim syntax.txt /*progress.vim*
pronounce intro.txt /*pronounce*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
@@ -7149,6 +7211,7 @@ settabwinvar() eval.txt /*settabwinvar()*
setting-guifont gui.txt /*setting-guifont*
setting-guitablabel tabpage.txt /*setting-guitablabel*
setting-tabline tabpage.txt /*setting-tabline*
setuid change.txt /*setuid*
setwinvar() eval.txt /*setwinvar()*
sftp pi_netrw.txt /*sftp*
sgml.vim syntax.txt /*sgml.vim*
@@ -7171,6 +7234,7 @@ simulated-command vi_diff.txt /*simulated-command*
sin() eval.txt /*sin()*
single-repeat repeat.txt /*single-repeat*
skeleton autocmd.txt /*skeleton*
slice eval.txt /*slice*
slow-fast-terminal term.txt /*slow-fast-terminal*
slow-start starting.txt /*slow-start*
slow-terminal term.txt /*slow-terminal*
@@ -7195,6 +7259,7 @@ spell spell.txt /*spell*
spell-ACCENT spell.txt /*spell-ACCENT*
spell-AUTHOR spell.txt /*spell-AUTHOR*
spell-BAD spell.txt /*spell-BAD*
spell-BREAK spell.txt /*spell-BREAK*
spell-CHECKCOMPOUNDCASE spell.txt /*spell-CHECKCOMPOUNDCASE*
spell-CHECKCOMPOUNDDUP spell.txt /*spell-CHECKCOMPOUNDDUP*
spell-CHECKCOMPOUNDPATTERN spell.txt /*spell-CHECKCOMPOUNDPATTERN*
@@ -7214,6 +7279,7 @@ spell-COMPOUNDMIN spell.txt /*spell-COMPOUNDMIN*
spell-COMPOUNDPERMITFLAG spell.txt /*spell-COMPOUNDPERMITFLAG*
spell-COMPOUNDROOT spell.txt /*spell-COMPOUNDROOT*
spell-COMPOUNDRULE spell.txt /*spell-COMPOUNDRULE*
spell-COMPOUNDRULES spell.txt /*spell-COMPOUNDRULES*
spell-COMPOUNDSYLLABLE spell.txt /*spell-COMPOUNDSYLLABLE*
spell-COMPOUNDSYLMAX spell.txt /*spell-COMPOUNDSYLMAX*
spell-COMPOUNDWORDMAX spell.txt /*spell-COMPOUNDWORDMAX*
@@ -7224,6 +7290,7 @@ spell-FOL spell.txt /*spell-FOL*
spell-FORBIDDENWORD spell.txt /*spell-FORBIDDENWORD*
spell-HOME spell.txt /*spell-HOME*
spell-KEEPCASE spell.txt /*spell-KEEPCASE*
spell-KEY spell.txt /*spell-KEY*
spell-LANG spell.txt /*spell-LANG*
spell-LEMMA_PRESENT spell.txt /*spell-LEMMA_PRESENT*
spell-LOW spell.txt /*spell-LOW*
@@ -7311,9 +7378,11 @@ sql-object-motions ft_sql.txt /*sql-object-motions*
sql-predefined-objects ft_sql.txt /*sql-predefined-objects*
sql-type-default ft_sql.txt /*sql-type-default*
sql-types ft_sql.txt /*sql-types*
sql.txt ft_sql.txt /*sql.txt*
sql.vim syntax.txt /*sql.vim*
sqlanywhere ft_sql.txt /*sqlanywhere*
sqlanywhere.vim syntax.txt /*sqlanywhere.vim*
sqlgettype ft_sql.txt /*sqlgettype*
sqlinformix.vim syntax.txt /*sqlinformix.vim*
sqlj ft_sql.txt /*sqlj*
sqlserver ft_sql.txt /*sqlserver*
@@ -7364,12 +7433,14 @@ sub-menu-priority gui.txt /*sub-menu-priority*
sub-replace-\= change.txt /*sub-replace-\\=*
sub-replace-expression change.txt /*sub-replace-expression*
sub-replace-special change.txt /*sub-replace-special*
sublist eval.txt /*sublist*
submatch() eval.txt /*submatch()*
subscribe-maillist intro.txt /*subscribe-maillist*
substitute() eval.txt /*substitute()*
substitute-CR version6.txt /*substitute-CR*
suffixes cmdline.txt /*suffixes*
suspend starting.txt /*suspend*
swap-exists-choices usr_11.txt /*swap-exists-choices*
swap-file recover.txt /*swap-file*
swapchoice-variable eval.txt /*swapchoice-variable*
swapcommand-variable eval.txt /*swapcommand-variable*
@@ -7650,6 +7721,7 @@ tcsh.vim syntax.txt /*tcsh.vim*
tear-off-menus gui.txt /*tear-off-menus*
telnet-CTRL-] tagsrch.txt /*telnet-CTRL-]*
temp-file-name eval.txt /*temp-file-name*
tempfile change.txt /*tempfile*
template autocmd.txt /*template*
tempname() eval.txt /*tempname()*
term-dependent-settings term.txt /*term-dependent-settings*
@@ -7818,6 +7890,7 @@ v:lnum eval.txt /*v:lnum*
v:mouse_col eval.txt /*v:mouse_col*
v:mouse_lnum eval.txt /*v:mouse_lnum*
v:mouse_win eval.txt /*v:mouse_win*
v:oldfiles eval.txt /*v:oldfiles*
v:operator eval.txt /*v:operator*
v:prevcount eval.txt /*v:prevcount*
v:profiling eval.txt /*v:profiling*
@@ -7942,6 +8015,7 @@ v_x change.txt /*v_x*
v_y change.txt /*v_y*
v_~ change.txt /*v_~*
val-variable eval.txt /*val-variable*
valgrind debug.txt /*valgrind*
values() eval.txt /*values()*
variables eval.txt /*variables*
various various.txt /*various*
@@ -8008,6 +8082,7 @@ viminfo-file starting.txt /*viminfo-file*
viminfo-file-marks starting.txt /*viminfo-file-marks*
viminfo-file-name starting.txt /*viminfo-file-name*
viminfo-read starting.txt /*viminfo-read*
viminfo-read-write starting.txt /*viminfo-read-write*
viminfo-write starting.txt /*viminfo-write*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*
@@ -8167,6 +8242,7 @@ xterm-function-keys term.txt /*xterm-function-keys*
xterm-modifier-keys term.txt /*xterm-modifier-keys*
xterm-mouse options.txt /*xterm-mouse*
xterm-mouse-wheel scroll.txt /*xterm-mouse-wheel*
xterm-resize term.txt /*xterm-resize*
xterm-save-screen tips.txt /*xterm-save-screen*
xterm-screens tips.txt /*xterm-screens*
xterm-scroll-region term.txt /*xterm-scroll-region*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.2. Last change: 2006 Apr 24
*tagsrch.txt* For Vim version 7.2. Last change: 2009 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -176,7 +176,7 @@ get an error message.
3. Tag match list *tag-matchlist* *E427* *E428*
When there are several matching tags, these commands can be used to jump
between them. Note that these command don't change the tag stack, they keep
between them. Note that these commands don't change the tag stack, they keep
the same entry.
*:ts* *:tselect*
@@ -428,6 +428,10 @@ Emacs style tag files are only supported if Vim was compiled with the
|+emacs_tags| feature enabled. Sorry, there is no explanation about Emacs tag
files here, it is only supported for backwards compatibility :-).
Lines in Emacs tags files can be very long. Vim only deals with lines of up
to about 510 bytes. To see whether lines are ignored set 'verbose' to 5 or
higher.
*tags-option*
The 'tags' option is a list of file names. Each of these files is searched
for the tag. This can be used to use a different tags file than the default

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.2. Last change: 2008 Jun 21
*term.txt* For Vim version 7.2. Last change: 2009 Nov 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -410,6 +410,21 @@ VT220, etc.). The result is that codes like <xF1> are no longer needed.
Note: This is only done on startup. If the xterm options are changed after
Vim has started, the escape sequences may not be recognized any more.
*xterm-resize*
Window resizing with xterm only works if the allowWindowOps resource is
enabled. On some systems and versions of xterm it's disabled by default
because someone thought it would be a security issue. It's not clear if this
is actually the case.
To overrule the default, put this line in your ~/.Xdefaults or
~/.Xresources:
>
XTerm*allowWindowOps: true
And run "xrdb -merge .Xresources" to make it effective. You can check the
value with the context menu (right mouse button while CTRL key is pressed),
there should be a tick at allow-window-ops.
*termcap-colors*
Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.

View File

@@ -1,4 +1,4 @@
*tips.txt* For Vim version 7.2. Last change: 2006 Jul 24
*tips.txt* For Vim version 7.2. Last change: 2009 Nov 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,6 +6,10 @@
Tips and ideas for using Vim *tips*
These are just a few that we thought would be helpful for many users.
You can find many more tips on the wiki. The URL can be found on
http://www.vim.org
Don't forget to browse the user manual, it also contains lots of useful tips
|usr_toc.txt|.
@@ -18,11 +22,12 @@ Correcting common typing mistakes |type-mistakes|
Counting words, lines, etc. |count-items|
Restoring the cursor position |restore-position|
Renaming files |rename-files|
Change a name in multiple files |change-name|
Speeding up external commands |speed-up|
Useful mappings |useful-mappings|
Compressing the help files |gzip-helpfile|
Hex editing |hex-editing|
Executing shell commands in a window |shell-window|
Hex editing |hex-editing|
Using <> notation in autocommands |autocmd-<>|
Highlighting matching parens |match-parens|
@@ -246,6 +251,8 @@ Breaking up restoring the position:
zt scroll to move this line to the top of the window
`s jump to the original position of the cursor
For something more advanced see |winsaveview()| and |winrestview()|.
==============================================================================
Renaming files *rename-files*
@@ -265,6 +272,25 @@ and I want to rename *.c *.bla. I'd do it like this: >
:w !sh
:q!
==============================================================================
Change a name in multiple files *change-name*
Example for using a script file to change a name in several files:
Create a file "subs.vim" containing substitute commands and a :update
command: >
:%s/Jones/Smith/g
:%s/Allen/Peter/g
:update
<
Execute Vim on all files you want to change, and source the script for
each argument: >
vim *.let
argdo source subs.vim
See |:argdo|.
==============================================================================
Speeding up external commands *speed-up*

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*uganda.txt* For Vim version 7.2. Last change: 2008 Jun 21
*uganda.txt* For Vim version 7.2. Last change: 2009 Dec 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -194,11 +194,12 @@ child, you should have the intention to do this for at least one year.
How do you know that the money will be spent right? First of all you have my
personal guarantee as the author of Vim. I trust the people that are working
at the centre, I know them personally. Further more, the centre is
co-sponsored and inspected by World Vision, Save the Children Fund and
International Child Care Fund. The centre is visited about once a year to
check the progress (at our own cost). I have visited the centre myself in
1996, 1998, 2000, 2001 and 2003. The visit reports are on the ICCF web site.
at the centre, I know them personally. Further more, the centre has been
co-sponsored and inspected by World Vision, Save the Children Fund and is now
under the supervision of Pacific Academy Outreach Society. The centre is
visited about once a year to check the progress (at our own cost). I have
visited the centre myself many times, starting in 1993. The visit reports are
on the ICCF web site.
If you have any further questions, send me e-mail: <Bram@vim.org>.

View File

@@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.2. Last change: 2006 Apr 30
*undo.txt* For Vim version 7.2. Last change: 2009 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -106,6 +106,10 @@ change again. But you can do something like this: >
After this an "u" command will undo the delete command and the previous
change.
To do the opposite, break a change into two undo blocks, in Insert mode use
CTRL-G u. This is useful if you want an insert command to be undoable in
parts. E.g., for each sentence. |i_CTRL-G_u|
==============================================================================
4. Undo branches *undo-branches* *undo-tree*

View File

@@ -1,4 +1,4 @@
*usr_04.txt* For Vim version 7.2. Last change: 2006 Jun 21
*usr_04.txt* For Vim version 7.2. Last change: 2008 Sep 06
VIM USER MANUAL - by Bram Moolenaar
@@ -263,7 +263,7 @@ When using blockwise selection, you have four corners. "o" only takes you to
one of the other corners, diagonally. Use "O" to move to the other corner in
the same line.
Note that "o" and "O" in Visual mode work very different from Normal mode,
Note that "o" and "O" in Visual mode work very differently from Normal mode,
where they open a new line below or above the cursor.
==============================================================================

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.2. Last change: 2007 May 11
*usr_05.txt* For Vim version 7.2. Last change: 2009 Jun 04
VIM USER MANUAL - by Bram Moolenaar
@@ -205,8 +205,8 @@ to 78, but only locally in one file.
*restore-cursor* >
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
Another autocommand. This time it is used after reading any file. The

View File

@@ -1,4 +1,4 @@
*usr_06.txt* For Vim version 7.2. Last change: 2006 Apr 24
*usr_06.txt* For Vim version 7.2. Last change: 2009 Oct 28
VIM USER MANUAL - by Bram Moolenaar
@@ -244,10 +244,14 @@ commands to move in Visual mode, of course.
This also works on Unix, if you have a PostScript printer. Otherwise, you
will have to do a bit more work. You need to convert the text to HTML first,
and then print it from a web browser such as Netscape.
and then print it from a web browser.
Convert the current file to HTML with this command: >
:TOhtml
In case that doesn't work: >
:source $VIMRUNTIME/syntax/2html.vim
You will see it crunching away, this can take quite a while for a large file.

View File

@@ -1,4 +1,4 @@
*usr_11.txt* For Vim version 7.2. Last change: 2006 Apr 24
*usr_11.txt* For Vim version 7.2. Last change: 2009 Oct 29
VIM USER MANUAL - by Bram Moolenaar
@@ -6,9 +6,9 @@
Did your computer crash? And you just spent hours editing? Don't panic! Vim
keeps enough information on harddisk to be able to restore most of your work.
This chapter shows you how to get your work back and explains how the swap
file is used.
stores enough information to be able to restore most of your work. This
chapter shows you how to get your work back and explains how the swap file is
used.
|11.1| Basic recovery
|11.2| Where is the swap file?
@@ -111,6 +111,8 @@ Example: >
vim -r .help.txt.swo
This is also handy when the swap file is in another directory than expected.
Vim recognizes files with the pattern *.s[uvw][a-z] as swap files.
If this still does not work, see what file names Vim reports and rename the
files accordingly. Check the 'directory' option to see where Vim may have
put the swap file.
@@ -214,7 +216,7 @@ extent of the changes that were "forgotten". If you are the one in charge of
that file, be prepared to redo your last changes.
WHAT TO DO?
WHAT TO DO? *swap-exists-choices*
If dialogs are supported you will be asked to select one of five choices:

View File

@@ -304,7 +304,7 @@ want to enable one, use the following command: >
One horizontal scrollbar will appear at the bottom of the Vim window.
If you don't have a scrollbar or don't want to use it, use these commands to
scroll the text. The cursor will stay in the same place, but it's move back
scroll the text. The cursor will stay in the same place, but it's moved back
into the visible text if necessary.
zh scroll right
@@ -547,7 +547,7 @@ The layout is messed up. To avoid that, use the "gr" command:
What happens is that the "gr" command makes sure the new character takes the
right amount of screen space. Extra spaces or tabs are inserted to fill the
gap. Thus what actually happens is that a tab is replaced by "x" and then
blanks added to make the text after it keep it's place. In this case a
blanks added to make the text after it keep its place. In this case a
tab is inserted.
When you need to replace more than one character, you use the "R" command
to go to Replace mode (see |04.9|). This messes up the layout and replaces

View File

@@ -245,7 +245,7 @@ you can set the 'lines' option to set a different window size: >
:set lines=55
You don't want to do this in a terminal, since it's size is fixed (except for
You don't want to do this in a terminal, since its size is fixed (except for
an xterm that supports resizing).
The gvimrc file is searched for in the same locations as the vimrc file.
Normally its name is "~/.gvimrc" for Unix and "$VIM/_gvimrc" for MS-Windows.

View File

@@ -868,6 +868,8 @@ Various:
taglist() get list of matching tags
tagfiles() get a list of tags files
mzeval() evaluate |MzScheme| expression
==============================================================================
*41.7* Defining a function

View File

@@ -1,4 +1,4 @@
*usr_43.txt* For Vim version 7.2. Last change: 2006 Apr 24
*usr_43.txt* For Vim version 7.2. Last change: 2008 Dec 28
VIM USER MANUAL - by Bram Moolenaar
@@ -57,7 +57,8 @@ default value or the value from the last ":set" command.
Likewise, the mapping for "\c" will disappear when editing another buffer.
The ":map <buffer>" command creates a mapping that is local to the current
buffer. This works with any mapping command: ":map!", ":vmap", etc. The
|<LocalLeader>| in the mapping is replaced with the value of "maplocalleader".
|<LocalLeader>| in the mapping is replaced with the value of the
"maplocalleader" variable.
You can find examples for filetype plugins in this directory: >

View File

@@ -1,4 +1,4 @@
*usr_44.txt* For Vim version 7.2. Last change: 2006 Apr 24
*usr_44.txt* For Vim version 7.2. Last change: 2008 Dec 28
VIM USER MANUAL - by Bram Moolenaar
@@ -493,9 +493,9 @@ one for C by using the following command: >
:runtime! syntax/c.vim
The ":runtime!" command searches 'runtimepath' for all "syntax/c.vim" files.
This makes the C syntax be defined like for C files. If you have replaced the
c.vim syntax file, or added items with an extra file, these will be loaded as
well.
This makes the C parts of the C++ syntax be defined like for C files. If you
have replaced the c.vim syntax file, or added items with an extra file, these
will be loaded as well.
After loading the C syntax items the specific C++ items can be defined.
For example, add keywords that are not used in C: >
@@ -503,8 +503,8 @@ For example, add keywords that are not used in C: >
This works just like in any other syntax file.
Now consider the Perl language. It consists of two distinct parts: a
documentation section in POD format, and a program written in Perl itself.
Now consider the Perl language. A Perl script consists of two distinct parts:
a documentation section in POD format, and a program written in Perl itself.
The POD section starts with "=head" and ends with "=cut".
You want to define the POD syntax in one file, and use it from the Perl
syntax file. The ":syntax include" command reads in a syntax file and stores
@@ -663,7 +663,7 @@ as an example will save you a lot of time.
Choose a good, descriptive name for your syntax file. Use lowercase letters
and digits. Don't make it too long, it is used in many places: The name of
the syntax file "name.vim", 'filetype', b:current_syntax the start of each
the syntax file "name.vim", 'filetype', b:current_syntax and the start of each
syntax group (nameType, nameStatement, nameString, etc).
Start with a check for "b:current_syntax". If it is defined, some other

View File

@@ -1,4 +1,4 @@
*usr_45.txt* For Vim version 7.2. Last change: 2008 Apr 30
*usr_45.txt* For Vim version 7.2. Last change: 2008 Nov 15
VIM USER MANUAL - by Bram Moolenaar
@@ -265,7 +265,7 @@ actually view a file that way, if you have lots of time at hand.
Suppose you have setup Vim to use Unicode, and you want to edit a file that is
in 16-bit Unicode. Sounds simple, right? Well, Vim actually uses utf-8
encoding internally, thus the 16-bit encoding must be converted. Thus there
encoding internally, thus the 16-bit encoding must be converted, since there
is a difference between the character set (Unicode) and the encoding (utf-8 or
16-bit).
Vim will try to detect what kind of file you are editing. It uses the
@@ -283,7 +283,7 @@ if it's one of these encodings:
When you start editing that 16-bit Unicode file, and it has a BOM, Vim will
detect this and convert the file to utf-8 when reading it. The 'fileencoding'
option (without s at the end) is set to the detected value. In this case it
is "ucs-2le". That means it's Unicode, two bytes and little-endian. This
is "utf-16le". That means it's Unicode, 16-bit and little-endian. This
file format is common on MS-Windows (e.g., for registry files).
When writing the file, Vim will compare 'fileencoding' with 'encoding'. If
they are different, the text will be converted.

View File

@@ -1,4 +1,4 @@
*usr_90.txt* For Vim version 7.2. Last change: 2006 Apr 24
*usr_90.txt* For Vim version 7.2. Last change: 2008 Sep 10
VIM USER MANUAL - by Bram Moolenaar
@@ -126,12 +126,12 @@ If it is alright you will finally see:
test results: ~
ALL DONE ~
If there are one or two messages about failed tests, Vim might still work, but
not perfectly. If you see a lot of error messages or Vim doesn't finish until
the end, there must be something wrong. Either try to find out yourself, or
find someone who can solve it. You could look in the |maillist-archive| for a
solution. If everything else fails, you could ask in the vim |maillist| if
someone can help you.
If you get "TEST FAILURE" some test failed. If there are one or two messages
about failed tests, Vim might still work, but not perfectly. If you see a lot
of error messages or Vim doesn't finish until the end, there must be something
wrong. Either try to find out yourself, or find someone who can solve it.
You could look in the |maillist-archive| for a solution. If everything else
fails, you could ask in the vim |maillist| if someone can help you.
INSTALLING

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.2. Last change: 2008 Aug 06
*various.txt* For Vim version 7.2. Last change: 2009 Nov 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -179,8 +179,8 @@ g8 Print the hex values of the bytes used in the
(to start Insert mode, see |:startinsert|). A ":"
command must be completed as well. And you can't use
"Q" or "gQ" to start Ex mode.
{commands} cannot start with a space. Put a 1 (one)
before it, 1 space is one space.
{commands} cannot start with a space. Put a count of
1 (one) before it, "1 " is one space.
The 'insertmode' option is ignored for {commands}.
This command cannot be followed by another command,
since any '|' is considered part of the command.
@@ -347,7 +347,7 @@ 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|
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
B *+multi_byte* Korean and other languages |multibyte|
B *+multi_byte* 16 and 32 bit characters |multibyte|
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
@@ -647,7 +647,7 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
after ":help subject").
after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>

View File

@@ -1,4 +1,4 @@
*version5.txt* For Vim version 7.2. Last change: 2008 Jun 28
*version5.txt* For Vim version 7.2. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -460,10 +460,10 @@ See |--|.
Regular expression patterns *added-regexp*
---------------------------
Added specifying a range for the number of matches of a atom: "\{a,b}". |/\{|
Added specifying a range for the number of matches of an atom: "\{a,b}". |/\{|
Added the "shortest match" regexp "\{-}" (Webb).
Added "\s", matches a white character. Can replace "[ \t]". |/\s|
Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S|
Added "\s", matches a white character. Can replace "[ \t]". |/\s|
Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S|
Overloaded tags *tag-overloaded*

View File

@@ -11170,7 +11170,7 @@ Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags,
runtime/menu.vim, src/version.c
Patch 6.2.192
Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonahtan
Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan
Hankins)
Solution: Avoid calling change_indent() recursively.
Files: src/edit.c

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