updated for version 7.0017

This commit is contained in:
Bram Moolenaar
2004-10-07 21:02:47 +00:00
parent e5f258eb4c
commit 3fdfa4a9a5
52 changed files with 959 additions and 589 deletions

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Aug 30
*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Sep 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -234,22 +234,26 @@ BufWriteCmd Before writing the whole buffer to a file.
should not be changed. |Cmd-event|
*FileWritePre*
FileWritePre Before writing to a file, when not writing the
whole buffer.
whole buffer. Use the '[ and '] marks for the
range of lines.
*FileWritePost*
FileWritePost After writing to a file, when not writing the
whole buffer.
*FileWriteCmd*
FileWriteCmd Before writing to a file, when not writing the
whole buffer. Should do the writing to the
file. Should not change the buffer.
file. Should not change the buffer. Use the
'[ and '] marks for the range of lines.
|Cmd-event|
*FileAppendPre*
FileAppendPre Before appending to a file.
FileAppendPre Before appending to a file. Use the '[ and ']
marks for the range of lines.
*FileAppendPost*
FileAppendPost After appending to a file.
*FileAppendCmd*
FileAppendCmd Before appending to a file. Should do the
appending to the file. |Cmd-event|
appending to the file. Use the '[ and ']
marks for the range of lines.|Cmd-event|
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
making a diff.
@ -738,8 +742,9 @@ The '[ and '] marks have a special position:
the new lines will be inserted.
- Before the *ReadPost event the '[ mark is set to the first line that was
just read, the '] mark to the last line.
- Before executing the *WritePre and *AppendPre autocommands the '[ mark is
set to the first line that will be written, the '] mark to the last line.
- Before executing the *WriteCmd, *WritePre and *AppendPre autocommands the '[
mark is set to the first line that will be written, the '] mark to the last
line.
Careful: '[ and '] change when using commands that change the buffer.
In commands which expect a file name, you can use "<afile>" for the file name

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
*change.txt* For Vim version 7.0aa. Last change: 2004 Sep 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -659,7 +659,7 @@ magic nomagic action ~
\0 replaced with the whole matched pattern *\0* *s/\0*
\1 replaced with the matched pattern in the first
pair of () *s/\1*
\2 replaced with the matched pattern in the first
\2 replaced with the matched pattern in the second
pair of () *s/\2*
.. .. *s/\3*
\9 replaced with the matched pattern in the ninth

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
*digraph.txt* For Vim version 7.0aa. Last change: 2004 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -28,7 +28,8 @@ An alternative is using the 'keymap' option.
*E104* *E39*
:dig[raphs] {char1}{char2} {number} ...
Add digraph {char1}{char2} to the list. {number} is
the decimal representation of the character.
the decimal representation of the character. Normally
it is the Unicode character, see |digraph-encoding|.
Example: >
:digr e: 235 a: 228
< Avoid defining a digraph with '_' (underscore) as the
@ -48,7 +49,24 @@ In the middle of each column is the resulting character. This may be mangled
if you look at it on a system that does not support digraphs or if you print
this file.
The decimal number is the number of the character.
*digraph-encoding*
The decimal number normally is the Unicode number of the character. Note that
the meaning doesn't change when 'encoding' changes. The character will be
converted from Unicode to 'encoding' when needed. This does require the
conversion to be available, it might fail.
When Vim was compiled without the +multi_byte feature, you need to specify the
character in the encoding given with 'encoding'. You might want to use
something like this: >
if has("multi_byte")
digraph oe 339
elseif &encoding == "iso-8859-15"
digraph oe 189
endif
This defines the "oe" digraph for a character that is number 339 in Unicode
and 189 in latin9 (iso-8859-15).
==============================================================================
2. Using digraphs *digraphs-use*
@ -142,6 +160,9 @@ Example: a: is
These are the RFC1345 digraphs for the one-byte characters. See the output of
":digraphs" for the others. The characters above 255 are only available when
Vim was compiled with the |+multi_byte| feature.
Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was
added for this.
*digraph-table*
char digraph hex dec official name ~
^@ NU 0x00 0 NULL (NUL)

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2004 Sep 13
*eval.txt* For Vim version 7.0aa. Last change: 2004 Oct 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -125,8 +125,8 @@ Expression syntax summary, from least to most significant:
|expr8| expr9[expr1] index in String
|expr9| number number constant
"string" string constant
'string' literal string constant
"string" string constant, backslash is special
'string' string constant
&option option value
(expr1) nested expression
variable internal variable
@ -355,13 +355,18 @@ Note that "\000" and "\x00" force the end of the string.
literal-string *literal-string* *E115*
---------------
'string' literal string constant *expr-'*
'string' string constant *expr-'*
Note that single quotes are used.
This string is taken literally. No backslashes are removed or have a special
meaning. A literal-string cannot contain a single quote. Use a normal string
for that.
This string is taken as it is. No backslashes are removed or have a special
meaning. A literal-string cannot contain a single quote. Use a normal,
double-quoted string for that.
Single quoted strings are useful for patterns, so that backslashes do not need
to be doubled. These two commands are equivalent: >
if a =~ "\\s*"
if a =~ '\s*'
option *expr-option* *E112* *E113*

View File

@ -79,9 +79,33 @@ All the examples below assume this naming scheme. Note that you need to do
this again for every buffer.
The auto-instantiation can be achieved with autocommands, e.g. you can put
something like this in your .vimrc: >
au VimEnter,BufNew,BufNewFile,BufAdd,BufReadPre *
\:mz (require (prefix vim- vimext)
something like this in your .vimrc (EOFs should not have indentation): >
function s:MzRequire()
if has("mzscheme")
:mz << EOF
(require (prefix vim- vimext))
(let ((buf (vim-get-buff-by-name (vim-eval "expand(\"<afile>\")"))))
(when (and buf (not (eq? buf (vim-curr-buff))))
(parameterize ((current-namespace (vim-get-buff-namespace buf)))
(namespace-attach-module vim-global-namespace 'vimext)
(namespace-require '(prefix vim vimext)))))
EOF
endif
endfunction
function s:MzStartup()
if has("mzscheme")
au BufNew,BufNewFile,BufAdd,BufReadPre * :call s:MzRequire()
:mz << EOF
(current-library-collection-paths
(cons
(build-path (find-system-path 'addon-dir) (version) "collects")
(current-library-collection-paths)))
EOF
endif
endfunction
call s:MzStartup()
<
The global namespace just instantiated this module with the prefix "vimext:".

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2004 Sep 04
*options.txt* For Vim version 7.0aa. Last change: 2004 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -954,6 +954,12 @@ A jump table for the options with a short description can be found at |Q_op|.
prefer using ".bak", but make sure that you don't have files with
".bak" that you want to keep.
If you like to keep a lot of backups, you could use a BufWritePre
autocommand to change 'backupext' just before writing the file to
include a timestamp. >
:au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'
< Use 'backupdir' to put the backup in a different directory.
*'backupskip'* *'bsk'*
'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
global

View File

@ -1,4 +1,4 @@
*pi_netrw.txt For Vim version 6.2. Last change: Sep 10, 2004
*pi_netrw.txt For Vim version 6.2. Last change: Sep 13, 2004
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
@ -587,10 +587,14 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
"directories" and "files" in the
listing. This pattern is used to
remove such embedded messages.
g:netrw_keepdir keep current directory immune from the
browsing directory. The browsing
directory is contained in b:netrw_curdir
g:netrw_keepdir =1 (default) keep current directory
immune from the browsing directory.
=0 keep the current directory the
same as the browsing directory.
The browsing directory is contained in
b:netrw_curdir
g:netrw_list_cmd command for listing remote directories
g:netrw_longlist if =1, then long listing will be default
g:netrw_ftp_list_cmd options for passing along to ftp for
directory listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
@ -601,6 +605,12 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
g:netrw_local_rmdir remove directory command (rmdir)
g:netrw_local_rename rename file/directory command
unix-default: rm win32-default: ren
g:netrw_maxfilenamelen =32 by default, selected so as to make
long listings fit on 80 column displays.
If your screen is wider, and you have
file/directory names longer than 32 bytes,
you may set this option to keep listings
columnar.
g:netrw_mkdir_cmd command for making a remote directory
g:netrw_rm_cmd command for removing files
g:netrw_rmdir_cmd command for removing directories
@ -825,22 +835,26 @@ See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html
file with mozilla.
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c*
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir*
By default, g:netrw_keepdir is 0. This setting means that the current
directory will track the browsing directory. However, setting g:netrw_keepdir
to 1 (say, in your <.vimrc>) will keep the current directory independent
of the browsing directory. In that case, in order to make the two
directories the same, use the "c" map (just type c).
By default, g:netrw_keepdir is 1. This setting means that the current
directory will not track the browsing directory. However, setting
g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
currently browsed directory be the current directory.
With the default setting for g:netrw_keepdir, in order to make the two
directories the same, use the "c" map (just type c). That map will set
the current directory to the current browsing directory.
BOOKMARKING A DIRECTORY *netrw-b*
BOOKMARKING A DIRECTORY *netrw-b* *netrw-bookmark* *netrw-bookmarks*
One may easily "bookmark" a directory by using
{cnt}b
Any count may be used.
Any count may be used. One may use viminfo's "!" option to retain bookmarks
between vim sessions.
CHANGING TO A BOOKMARKED DIRECTORY *netrw-B*
@ -913,7 +927,10 @@ the associated security issues.
P4. I would like long listings to be the default.
let g:netrw_longlist=1
let g:netrw_longlist=1
Check out |netrw-browse-var| for more customizations that
you can set.
P5. My times come up oddly in local browsing
@ -923,10 +940,10 @@ the associated security issues.
your <.vimrc>:
let g:netrw_timefmt= "%X" (where X is the option)
P6. I don't want my current directory changing just because I'm
browsing somewhere.
P6. I want my current directory to track my browsing.
How do I do that?
let g:netrw_keepdir= 1
let g:netrw_keepdir= 0
==============================================================================
@ -979,60 +996,65 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
10. History *netrw-history*
v48: * One may use ftp to do remote host file browsing
v50: * directories now displayed using buftype=nofile; should keep the
directory names as-is
* attempts to remove empty "[No File]" buffers leftover
from :file ..name.. commands
* bugfix: a "caps-lock" editing difficulty left in v49 was fixed
* syntax highlighting for "Showing:" the hiding list included
* bookmarks can now be retained if "!" is in the viminfo option
v49: * will use ftp for http://.../ browsing v48: * One may use ftp to
do remote host file browsing
* (windows and !cygwin) remote browsing with ftp can now use
the "dir" command internally to provide listings
* g:netrw_keepdir now allows one to keep the initial current
directory as the current directory (normally the local
file browser makes the currently viewed directory the
current directory)
directory as the current directory (normally the local file
browser makes the currently viewed directory the current
directory)
* g:netrw_alto and g:netrw_altv now support alternate placement
of windows started with o or v
* Nread ? and Nwrite ? now uses echomsg (instead of echo) so
:messages can repeat showing the help
* bugfix: avoids problems with partial matches of directory names
to prior buffers with longer names
* one can suppress error messages with g:netrw_quiet
* ctrl-h used instead of <Leader>h for editing hiding list
* one may edit the sorting sequence with the S map
* now allows confirmation of deletion with [y(es) n(o) a(ll) q(uit)]
* the "x" map now handles special file viewing with:
(windows) rundll32 url.dll
(gnome) gnome-open
(kde) kfmclient
If none of these are on the executable path, then
* one can suppress error messages with g:netrw_quiet ctrl-h used
* instead of <Leader>h for editing hiding list one may edit the
* sorting sequence with the S map now allows confirmation of
* deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
* special file viewing with:
(windows) rundll32 url.dll (gnome) gnome-open (kde)
kfmclient If none of these are on the executable path, then
NetrwFileHandlers.vim is used.
* directory bookmarking during both local and remote browsing
implemented
* one may view all, use the hiding list to suppress, or use the
hiding list to show-only remote and local file/directory listings
* improved unusual file and directory name handling
* preview window support
v47: * now handles local directory browsing.
v46: * now handles remote directory browsing
hiding list to show-only remote and local file/directory
listings
* improved unusual file and directory name handling preview
* window support
v47: * now handles local directory browsing. v46: * now handles
remote directory browsing
* g:netrw_silent (if 1) will cause all transfers to be silent'd
v45: * made the [user@]hostname:path form a bit more restrictive
to better handle errors in using protocols
(e.g. scp:usr@host:file was being recognized as an rcp request)
v44: * changed from "rsync -a" to just "rsync"
v45: * made the [user@]hostname:path form a bit more restrictive to
better handle errors in using protocols (e.g. scp:usr@host:file
was being recognized as an rcp request) v44: * changed from
"rsync -a" to just "rsync"
* somehow an editing error messed up the test to recognize
use of the fetch method for NetRead.
* more debugging statements included
v43: * moved "Explanation" comments to <pi_netrw.txt> help file
as "Network Reference" (|netrw-ref|)
v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
"Network Reference" (|netrw-ref|)
* <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
* removed superfluous NetRestorePosn() calls
v42: * now does BufReadPre and BufReadPost events on file:///*
and file://localhost/*
v41: * installed file:///* and file://localhost/* handling
v40: * prevents redraw when a protocol error occurs so that the
user may see it
v39: * sftp support
v38: * Now uses NetRestorePosn() calls with Nread/Nwrite commands
v42: * now does BufReadPre and BufReadPost events on file:///* and
file://localhost/* v41: * installed file:///* and
file://localhost/* handling v40: * prevents redraw when a
protocol error occurs so that the user may see it v39: * sftp
support v38: * Now uses NetRestorePosn() calls with
Nread/Nwrite commands
* Temporary files now removed via bwipe! instead of bwipe
(thanks to Dave Roberts)
v37: * Claar's modifications which test if ftp is successful, otherwise
give an error message
(thanks to Dave Roberts) v37: * Claar's modifications which
test if ftp is successful, otherwise give an error message
* After a read, the alternate file was pointing to the temp file.
The temp file buffer is now wiped out.
* removed silent from transfer methods so user can see what's

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2004 Sep 13
*syntax.txt* For Vim version 7.0aa. Last change: 2004 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1799,7 +1799,7 @@ If you do not want complex things like '@{${"foo"}}' to be parsed: >
:let perl_no_extended_vars = 1
{In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.)
(In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.)
The coloring strings can be changed. By default strings and qq friends will be
highlighted like the first line. If you set the variable

View File

@ -3542,6 +3542,7 @@ E675 print.txt /*E675*
E676 options.txt /*E676*
E677 eval.txt /*E677*
E678 pattern.txt /*E678*
E679 syntax.txt /*E679*
E68 pattern.txt /*E68*
E69 pattern.txt /*E69*
E70 pattern.txt /*E70*
@ -4414,6 +4415,7 @@ diff-options diff.txt /*diff-options*
diff-patchexpr diff.txt /*diff-patchexpr*
diff.txt diff.txt /*diff.txt*
digraph-arg change.txt /*digraph-arg*
digraph-encoding digraph.txt /*digraph-encoding*
digraph-table digraph.txt /*digraph-table*
digraph.txt digraph.txt /*digraph.txt*
digraphs digraph.txt /*digraphs*
@ -4920,7 +4922,6 @@ hebrew hebrew.txt /*hebrew*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help-context help.txt /*help-context*
help-tags tags 1
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
@ -5454,6 +5455,8 @@ netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-activate pi_netrw.txt /*netrw-activate*
netrw-b pi_netrw.txt /*netrw-b*
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
netrw-bookmarks pi_netrw.txt /*netrw-bookmarks*
netrw-browse pi_netrw.txt /*netrw-browse*
netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds*
netrw-browse-var pi_netrw.txt /*netrw-browse-var*
@ -5463,6 +5466,7 @@ netrw-contents pi_netrw.txt /*netrw-contents*
netrw-cr pi_netrw.txt /*netrw-cr*
netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
netrw-curdir pi_netrw.txt /*netrw-curdir*
netrw-d pi_netrw.txt /*netrw-d*
netrw-debug pi_netrw.txt /*netrw-debug*
netrw-delete pi_netrw.txt /*netrw-delete*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2004 Sep 13
*todo.txt* For Vim version 7.0aa. Last change: 2004 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,18 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Endless loop when "syntax reset" in ~/.vim/after/syntax/syncolor.vim.
Crash when using ":set background=dark". Solved!
Limit init_highlight() to five recursive calls?
patch for Vim 6.3 for free_oldval and init_highlight()?
Add browsedir(): like browse() but for directories.
For GTK it already sort-of works when the default name is empty.
Crash with long line. (Walter Briscoe, Sep 13)
When ":file" sets the alternate file name and it's empty this doesn't make
sense. Could skip it, but would that break scripts that rely on the buffer to
exist?
Add fix for appending BOM to 6.3? Reported by Alex Jakushev.
Win32 console doesn't compile. Does GetCommandLineW() work for non-GUI?
(Dave Roberts) If yes, then move the functions to another file.
link with kernel32.lib?
Folding support for 2html. (Carl Osterwisch, Oct 4)
How to evaluate an expression in the sandbox?
Aborting at the ATTENTION prompt causes trouble:
buffer remains active, nwindows isn't closed (fixed in buffer.c)
@ -59,7 +56,44 @@ Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't
work. (Valery Kondakoff)
Solved in os_mswin.c. Add to 6.3?
Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17.
GTK 2 error message with this sequence (Namsh Oct 7):
- start gvim with French locale
- set enc=utf-8
- :aunmenu *
- :unlet did_install_default_menus
- :source $VIMRUNTIME/menu.vim
Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
Works fine for me. Only in specific environment?
netrw plugin: When coming back to the same directory a scratch buffer appears.
Only on Win32. (Charles Campbell, Sept 15)
New Eiffel indent script from Jocelyn Fiat. OK with David Clarke.
Win32: not using 'tenc' in GUI causes problems on Win 98? (Jiri Jezdinsky)
Try out with Russian input method.
After "Y" '[ and '] are not at start/end of the yanked text. (Ken Clark)
Patch for adding 'fsync' option: disable using fsync() on file write. (Sept.
26, Ciaran McCreesh)
Folding for C syntax: (Olaf Dabrunz 27 sept 2004)
Add remark about using Vim with VS .net to Visvim docs. (David Fishburn, Sept
27)
Vim icon for documents associated with Vim? (Rahul Kulkarni, sept 28)
Add a function to test if a font name actually works.
When using "set laststatus=2 cmdheight=2" in the .gvimrc you only get one line
for the cmdline. (Christian Robinson) When the Vim window is resized (e.g.,
xterm with many lines) it's OK.
For version 7.0:
@ -70,6 +104,7 @@ For version 7.0:
7 For Visual mode: Command to do a search for the string in the marked
area. Only when fewer than two lines. Use "g/" and "gb". Patch from
Yegappan Lakshmanan. 2004 Jul 11
When more than two lines: perform a search in the Visual area only.
8 Make 'statusline' local, so that each window can have a different
value. But should it also be local to a buffer? (Yegappan Lakshmanan
has a patch, 2004 Jul 11)
@ -168,6 +203,12 @@ For version 7.0:
- findmatch() should be adjusted for Lisp. See remark at
get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
incomplete patch Mar 18)
- Set user variables to the names of the actually used user vimrc file,
the first directory looked for user plugins/syntax files.
$MYVIMRC for .vimrc, $MYGVIMRC for .gvimrc, $MYRUNTIME/plugin for
runtime files?
Also: when the environment variable exists, use it. If it doesn't
exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
- In the kvim/KDE source files fix the formatting.
@ -192,6 +233,8 @@ For version 7.0:
the contains list directly for matching syntax items.
- Keep wordlist in syntax group, load it only once and use it several
times later. Sort of global syntax items.
- Use wordlists from openoffice (myspell). Work together with them to
update the wordlist. (Adri Verhoef, Aad Nales)
- REFACTORING: The main() function is very long. Move parts to separate
functions, especially loops. Ideas from Walter Briscoe (2003 Apr 3, 2004
Feb 9).
@ -205,9 +248,33 @@ For version 7.0:
http://sourceforge.net/projects/insenvim
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
Ivan Villanueva has something for Java.
Can't call it Intellisense, it is a trademark by Microsoft.
Ideas from the Vim 7 BOF at SANE:
- It's not possible to have one solution for all languages. Design an
interface for completion plugins. The matches can be done in a
Vim-script list.
- For interpreted languages, use the interpreter to obtain information.
Should work for Java (Eclipse does this), Python, Tcl, etc.
- Check Readline for its completion interface.
- Use ctags for other languages. Writing a file could trigger running
ctags, merging the tags of the changed file.
- UNDO TREE: keep all states of the text, don't delete undo info.
When making a change, instead of clearing any future undo (thus redo)
info, make a new branch.
To navigate through the undo tree number the states of the text
sequentially and make it possible to go through the tree in that order.
Could also use timestamps (to show the time and/or jump to a state five
minutes ago). (David Schweikert)
To go from one state to another: backtrack to a common state, then forward
again.
Only difficult thing: When going back in time, how to find the previous
text state in the tree?
Show the list of changes in a window to be able to select a version?
- PERSISTENT UNDO: store undo in a file.
Support multiple threads. Show the list of changes in a window to be able
to select a version.
Use timestamps, so that a version a certain time ago can be found and info
before some time/date can be flushed. 'undopersist' gives maximum time to
keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
7 SWAP FILE CHANGE: When a dos format file was edited with ":e ++ff=unix",
Vim is killed and trying to recover the file, 'ff' will be dos. Same for
non-default fileencoding. (Miroslaw Dobrzanski-Neumann, Jul 17)
@ -235,8 +302,12 @@ For version 7.0:
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
Especially when using the scrollbar. Typing a cursor-movement command
scrolls back to where the cursor is.
- Execute a function with standard option values. No need to save and
restore option values. Especially useful for new options. Problem: how
to avoid a performance penalty (esp. for string options)?
8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
Add the 'maxcombining' option to set the nr. of composing characters.
At the same time support more colors (use two bytes when necessary).
- Add a few more things to 'diffopt': "horizontal", "vertical",
"foldcolumn". (Benji Fisher, 2004 Jun 21)
- FileChangedShellPost autocommand event: after (not) reloading a changed
@ -265,6 +336,9 @@ For version 7.0:
- "onemore" flag in 'virtualedit': move cursor past end of line. Patch by
Mattias Flodin (2004 Jul 30)
The fsync() in buf_write() causes laptop harddisk spinup. Add an option to
avoid it?
Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug
2004). Should also work for 'filetype'.
@ -274,6 +348,9 @@ Smilauer, 2004 Sep 13)
Win32: In 'fileencodings' allow using "acp" for the active codepage. Useful
value: "ucs-bom,utf-8,acp,latin1"
Win32: Cannot edit a file starting with # with --remote. (Giuseppe Bilotta,
Oct 6 2004)
For manipulating buffers without opening a new window, support Virtual
windows. Example:
:virtwin let l = GetBufLine(4, 10)
@ -291,6 +368,10 @@ Win32: In the generated batch files, use $VIMRUNTIME if it's set. Examples by
Mathias Michaelis (2004 Sep 6)
Also place vimtutor.bat in %windir%?
Support ":enew filename" to edit a new buffer with a name. It's like "enew |
file filename" but without setting the alternate file to a buffer without a
name. (Charles Campbell)
Vi incompatibility:
9 In Ex mode, "u" undoes all changes, not just the last one. (John Cowan)
@ -386,6 +467,7 @@ GTK+ GUI known bugs:
KDE GUI known bugs:
- The default font is ugly. bold text isn't displayed correctly.
(bold characters are half the width of normal characters)
- Error messages when starting up. The "tip of the day" box is empty.
- Encoding of menu items needs to be converted. (Yasuhiro Matsumoto)
@ -2041,6 +2123,7 @@ Autocommands:
*Leave - Leaving a mode (in pair with the above *Enter)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
WinMoved - when windows have been moved around, e.g, ":wincmd J"
CmdUndefined - Like FuncUndefined but for user commands.
SearchPost - After doing a search command (e.g. to do "M")
PreDirChanged/PostDirChanged
@ -2511,8 +2594,6 @@ Mappings and Abbreviations:
- Add command to repeat a whole mapping ("." only repeats the last change in
a mapping). Also: Repeat a whole insert command, including any mappings
that it included. Sort-of automatic recording?
- Make it possible to undo all the commands from a mapping, including a
trailing unfinished command, e.g. for ":map K iX^[r".
- Add an option to ":map" that makes it display the special keys in
<> notation (e.g. <CR> instead of ^M). Or just always do this?
- Include an option (or flag to 'cpoptions') that makes errors in mappings
@ -2663,6 +2744,8 @@ item stack to allow matching (). One side is "push X on
Undo:
- Make it possible to undo all the commands from a mapping, including a
trailing unfinished command, e.g. for ":map K iX^[r".
- When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
possible, even when typing <Esc> immediately. (Grahn) Also for "i", "a",
etc. Postpone saving for undo until something is really inserted?
@ -2676,9 +2759,6 @@ Undo:
version without changing the rest of the file. Stop doing this when a
change includes only some of these lines and changes the line count. Need
to store these undo actions as a separate change that can be undone.
7 Add an undo tree: When making a change, instead of clearing any future
undo (thus redo) info, make a new branch. How to navigate through the
undo tree?
- For u_save() include the column number. This can be used to set '[ and '].
And in the future the undo can be made more efficient (Webb).
- In out-of-memory situations: Free allocated space in undo, and reduce the
@ -2897,7 +2977,7 @@ Digraphs:
below/above).
- Use digraph table to tell Vim about the collating sequence of special
characters?
8 Add command to remove (all) digraphs. (Brown)
8 Add command to remove one or more (all) digraphs. (Brown)
7 Support different sets of digraphs (depending on the character set?). At
least Latin1/Unicode, Latin-2, MS-DOS (esp. for Win32).

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.0aa. Last change: 2004 Aug 28
*usr_41.txt* For Vim version 7.0aa. Last change: 2004 Oct 06
VIM USER MANUAL - by Bram Moolenaar
@ -218,9 +218,9 @@ To avoid the need for a backslash, you can use a string in single quotes: >
:echo name
< "peter" ~
Inside a single-quote string all the characters are taken literally. The
drawback is that it's impossible to include a single quote. A backslash is
taken literally as well, thus you can't use it to change the meaning of the
Inside a single-quote string all the characters are as they are. The drawback
is that it's impossible to include a single quote. A backslash is taken
literally as well, thus you can't use it to change the meaning of the
character after it.
In double-quote strings it is possible to use special characters. Here are
a few useful ones:

View File

@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2004 Sep 13
*version7.txt* For Vim version 7.0aa. Last change: 2004 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -243,6 +243,12 @@ upper case. Add color support to the builtin vt320 terminal codes.
For the '%' item in 'viminfo', allow a number to set a maximum for the number
of buffers.
When a file looks like a shell script, check for an "exec" command that starts
the tcl interpreter. (suggested by Alexios Zavras)
Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that
digraphs still work when iconv is not available.
==============================================================================
COMPILE TIME CHANGES *compile-changes-7*
@ -373,4 +379,21 @@ When an error message is given while waiting for a character (e.g., when an
xterm reports the number of colors), the hit-enter prompt overwrote the last
line. Don't reset msg_didout in normal_cmd() for K_IGNORE.
Mac GUI: Shift-Tab didn't work.
When defining tooltip text, don't translate terminal codes, since it's not
going to be used like a command.
GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a
GTK error. Invalid characters may appear when 'encoding' is changed.
GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango.
Win32: When 'encoding' is changed while starting up, use the Unicode command
line to convert the file arguments to 'encoding'. Both for the GUI and the
console version.
Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because
there is no codepage for latin9. Do our own conversion from latin9 to UCS2.
vim:tw=78:ts=8:ft=help:norl: