updated for version 7.0012

This commit is contained in:
Bram Moolenaar
2004-07-26 12:53:41 +00:00
parent 89cb5e0f64
commit 5eb86f9199
42 changed files with 1362 additions and 648 deletions

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.0aa. Last change: 2004 Jul 11
*diff.txt* For Vim version 7.0aa. Last change: 2004 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -344,6 +344,10 @@ get an error message. Possible causes:
If it's not clear what the problem is set the 'verbose' option to see more
messages.
The self-installing Vim includes a diff program. If you don't have it you
might want to download a diff.exe. For example from
http://jlb.twu.net/code/unixkit.php.
USING PATCHES *diff-patchexpr*

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2004 Jul 19
*eval.txt* For Vim version 7.0aa. Last change: 2004 Jul 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -846,8 +846,10 @@ getbufvar( {expr}, {varname}) variable {varname} in buffer {expr}
getcmdline() String return the current command-line
getcmdpos() Number return cursor position in command-line
getcwd() String the current working directory
getfsize( {fname}) Number size in bytes of file
getfperm( {fname}) String file permissions of file {fname}
getfsize( {fname}) Number size in bytes of file {fname}
getftime( {fname}) Number last modification time of file
getftype( {fname}) String description of type of file {fname}
getline( {lnum}) String line {lnum} from current buffer
getreg( [{regname}]) String contents of register
getregtype( [{regname}]) String type of register
@ -1580,6 +1582,20 @@ getfsize({fname}) *getfsize()*
If {fname} is a directory, 0 is returned.
If the file {fname} can't be found, -1 is returned.
getfperm({fname}) *getfperm()*
The result is a String, which is the read, write, and execute
permissions of the given file {fname}.
If {fname} does not exist or its directory cannot be read, an
empty string is returned.
The result is of the form "rwxrwxrwx", where each group of
"rwx" flags represent, in turn, the permissions of the owner
of the file, the group the file belongs to, and other users.
If a user does not have a given permission the flag for this
is replaced with the string "-". Example: >
:echo getfperm("/etc/passwd")
< This will hopefully (from a security point of view) display
the string "rw-r--r--" or even "rw-------".
getftime({fname}) *getftime()*
The result is a Number, which is the last modification time of
the given file {fname}. The value is measured as seconds
@ -1587,6 +1603,26 @@ getftime({fname}) *getftime()*
|localtime()| and |strftime()|.
If the file {fname} can't be found -1 is returned.
getftype({fname}) *getftype()*
The result is a String, which is a description of the kind of
file of the given file {fname}.
If {fname} does not exist an empty string is returned.
Here is a table over different kinds of files and their
results:
Normal file "file"
Directory "dir"
Symbolic link "link"
Block device "bdev"
Character device "cdev"
Socket "socket"
FIFO "fifo"
All other "other"
Example: >
getftype("/home")
< Note that a type such as "link" will only be returned on
systems that support it. On some systems only "dir" and
"file" are returned.
*getline()*
getline({lnum}) The result is a String, which is line {lnum} from the current
buffer. Example: >
@ -2246,14 +2282,16 @@ search({pattern} [, {flags}]) *search()*
cursor position.
{flags} is a String, which can contain these character flags:
'b' search backward instead of forward
'n' do Not move the cursor
'w' wrap around the end of the file
'W' don't wrap around the end of the file
If neither 'w' or 'W' is given, the 'wrapscan' option applies.
When a match has been found its line number is returned, and
the cursor will be positioned at the match. If there is no
match a 0 is returned and the cursor doesn't move. No error
message is given.
When a match has been found its line number is returned.
The cursor will be positioned at the match, unless the 'n'
flag is used).
If there is no match a 0 is returned and the cursor doesn't
move. No error message is given.
Example (goes over all files in the argument list): >
:let n = 1
@ -2747,9 +2785,15 @@ winline() The result is a Number, which is the screen line of the cursor
the window. The first line is one.
*winnr()*
winnr() The result is a Number, which is the number of the current
window. The top window has number 1. The number can be used
with |CTRL-W_w| and ":wincmd w" |:wincmd|.
winnr([{arg}]) The result is a Number, which is the number of the current
window. The top window has number 1.
When the optional argument is "$", the number of the
last window is returnd (the window count).
When the optional argument is "#", the number of the last
accessed window is returned (where |CTRL-W_p| goes to).
If there is no previous window 0 is returned.
The number can be used with |CTRL-W_w| and ":wincmd w"
|:wincmd|.
*winrestcmd()*
winrestcmd() Returns a sequence of |:resize| commands that should restore

View File

@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.0aa. Last change: 2004 Jan 17
*if_cscop.txt* For Vim version 7.0aa. Last change: 2004 Jul 23
VIM REFERENCE MANUAL by Andy Kahn
@ -335,6 +335,9 @@ cscope version for Win32 see:
http://iamphet.nm.ru/cscope/index.html
The DJGPP-built version from http://cscope.sourceforge.net is known to not
work with Vim.
There are a couple of hard-coded limitations:
1. The maximum number of cscope connections allowed is 8. Do you

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.0aa. Last change: 2004 Feb 28
*if_pyth.txt* For Vim version 7.0aa. Last change: 2004 Jul 25
VIM REFERENCE MANUAL by Paul Moore
@ -91,23 +91,23 @@ module before using it: >
:python import vim
Overview >
print "Hello" # displays a message
vim.command(cmd) # execute an ex command
w = vim.windows[n] # gets window "n"
cw = vim.current.window # gets the current window
b = vim.buffers[n] # gets buffer "n"
cb = vim.current.buffer # gets the current buffer
w.height = lines # sets the window height
w.cursor = (row, col) # sets the window cursor position
pos = w.cursor # gets a tuple (row, col)
name = b.name # gets the buffer file name
line = b[n] # gets a line from the buffer
lines = b[n:m] # gets a list of lines
num = len(b) # gets the number of lines
b[n] = str # sets a line in the buffer
b[n:m] = [str1, str2, str3] # sets a number of lines at once
del b[n] # deletes a line
del b[n:m] # deletes a number of lines
:py print "Hello" # displays a message
: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"
:py cb = vim.current.buffer # gets the current buffer
:py w.height = lines # sets the window height
:py w.cursor = (row, col) # sets the window cursor position
:py pos = w.cursor # gets a tuple (row, col)
:py name = b.name # gets the buffer file name
:py line = b[n] # gets a line from the buffer
:py lines = b[n:m] # gets a list of lines
:py num = len(b) # gets the number of lines
:py b[n] = str # sets a line in the buffer
:py b[n:m] = [str1, str2, str3] # sets a number of lines at once
:py del b[n] # deletes a line
:py del b[n:m] # deletes a number of lines
Methods of the "vim" module
@ -115,8 +115,8 @@ Methods of the "vim" module
vim.command(str) *python-command*
Executes the vim (ex-mode) command str. Returns None.
Examples: >
vim.command("set tw=72")
vim.command("%s/aaa/bbb/g")
:py vim.command("set tw=72")
:py vim.command("%s/aaa/bbb/g")
< The following definition executes Normal mode commands: >
def normal(str):
vim.command("normal "+str)
@ -126,15 +126,15 @@ vim.command(str) *python-command*
< *E659*
The ":python" command cannot be used recursively with Python 2.2 and
older. This only works with Python 2.3 and later: >
:python vim.command("python print 'Hello again Python'")
:py vim.command("python print 'Hello again Python'")
vim.eval(str) *python-eval*
Evaluates the expression str using the vim internal expression
evaluator (see |expression|). Returns the expression result as a
string.
Examples: >
text_width = vim.eval("&tw")
str = vim.eval("12+12") # NB result is a string! Use
:py text_width = vim.eval("&tw")
:py str = vim.eval("12+12") # NB result is a string! Use
# string.atoi() to convert to
# a number.
@ -158,18 +158,18 @@ Constants of the "vim" module
vim.buffers *python-buffers*
A sequence object providing access to the list of vim buffers. The
object supports the following operations: >
b = vim.buffers[i] # Indexing (read-only)
b in vim.buffers # Membership test
n = len(vim.buffers) # Number of elements
for b in vim.buffers: # Sequential access
:py b = vim.buffers[i] # Indexing (read-only)
:py b in vim.buffers # Membership test
:py n = len(vim.buffers) # Number of elements
:py for b in vim.buffers: # Sequential access
<
vim.windows *python-windows*
A sequence object providing access to the list of vim windows. The
object supports the following operations: >
w = vim.windows[i] # Indexing (read-only)
w in vim.windows # Membership test
n = len(vim.windows) # Number of elements
for w in vim.windows: # Sequential access
:py w = vim.windows[i] # Indexing (read-only)
:py w in vim.windows # Membership test
:py n = len(vim.windows) # Number of elements
:py for w in vim.windows: # Sequential access
<
vim.current *python-current*
An object providing access (via specific attributes) to various
@ -236,17 +236,21 @@ The buffer object methods are:
represents the part of the given buffer between line
numbers s and e |inclusive|.
Note that when adding a line it must not contain a line break character '\n'.
A trailing '\n' is allowed and ignored, so that you can do: >
:py b.append(f.readlines())
Examples (assume b is the current buffer) >
print b.name # write the buffer file name
b[0] = "hello!!!" # replace the top line
b[:] = None # delete the whole buffer
del b[:] # delete the whole buffer (same as above)
b[0:0] = [ "a line" ] # add a line at the top
del b[2] # delete a line (the third)
b.append("bottom") # add a line at the bottom
n = len(b) # number of lines
(row,col) = b.mark('a') # named mark
r = b.range(1,5) # a sub-range of the buffer
:py print b.name # write the buffer file name
:py b[0] = "hello!!!" # replace the top line
:py b[:] = None # delete the whole buffer
:py del b[:] # delete the whole buffer
:py b[0:0] = [ "a line" ] # add a line at the top
:py del b[2] # delete a line (the third)
:py b.append("bottom") # add a line at the bottom
:py n = len(b) # number of lines
:py (row,col) = b.mark('a') # named mark
:py r = b.range(1,5) # a sub-range of the buffer
==============================================================================
4. Range objects *python-range*

View File

@ -1,4 +1,4 @@
*message.txt* For Vim version 7.0aa. Last change: 2004 Jan 17
*message.txt* For Vim version 7.0aa. Last change: 2004 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -643,6 +643,7 @@ and |+X11| features.
A command line started with a backslash or the range of a command contained a
backslash in a wrong place. This is often caused by command-line continuation
being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it.
Or use ":set nocp".
*E471* >
Argument required

View File

@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.0aa. Last change: 2004 Jul 02
*motion.txt* For Vim version 7.0aa. Last change: 2004 Jul 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -83,6 +83,7 @@ are however, two general exceptions:
end of the motion is moved to the end of the previous line and the motion
becomes inclusive. Example: "}" moves to the first line after a paragraph,
but "d}" will not include that line.
*exclusive-linewise*
2. If the motion is exclusive, the end of the motion is in column 1 and the
start of the motion was at or before the first non-blank in the line, the
motion becomes linewise. Example: If a paragraph begins with some blanks
@ -424,20 +425,24 @@ between Vi and Vim.
*]]*
]] [count] sections forward or to the next '{' in the
first column. When used after an operator, then the
'}' in the first column. |linewise|
first column. When used after an operator, then also
stops below a '}' in the first column. |exclusive|
Note that |exclusive-linewise| often applies.
*][*
][ [count] sections forward or to the next '}' in the
first column. |linewise|
first column. |exclusive|
Note that |exclusive-linewise| often applies.
*[[*
[[ [count] sections backward or to the previous '{' in
the first column. |linewise|
the first column. |exclusive|
Note that |exclusive-linewise| often applies.
*[]*
[] [count] sections backward or to the previous '}' in
the first column. |linewise|
the first column. |exclusive|
Note that |exclusive-linewise| often applies.
These commands move over three kinds of text objects.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 15
*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -3924,7 +3924,7 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: To avoid portability problems with using patterns, always keep
this option at the default "on". Only switch it off when working with
old Vi scripts. In any other situation write patterns that work when
'magic' is on.
'magic' is on. Include "\M" when you want to |/\M|.
*'makeef'* *'mef'*
'makeef' 'mef' string (default: "")

View File

@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.0aa. Last change: 2004 May 09
*pattern.txt* For Vim version 7.0aa. Last change: 2004 Jul 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -382,7 +382,7 @@ More explanation and examples below, follow the links.
|/\%c| \%23c \%23c in column 23 |/zero-width|
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
Character classes {not in Vi}:
Character classes {not in Vi}: */character-classes*
|/\i| \i \i identifier character (see 'isident' option)
|/\I| \I \I like "\i", but excluding digits
|/\k| \k \k keyword character (see 'iskeyword' option)

View File

@ -1337,6 +1337,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
/atom pattern.txt /*\/atom*
/bar pattern.txt /*\/bar*
/branch pattern.txt /*\/branch*
/character-classes pattern.txt /*\/character-classes*
/collection pattern.txt /*\/collection*
/concat pattern.txt /*\/concat*
/dyn various.txt /*\/dyn*
@ -3570,6 +3571,7 @@ EncodingChanged autocmd.txt /*EncodingChanged*
Eterm syntax.txt /*Eterm*
Ex intro.txt /*Ex*
Ex-mode intro.txt /*Ex-mode*
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
F motion.txt /*F*
FAQ intro.txt /*FAQ*
Farsi farsi.txt /*Farsi*
@ -4518,6 +4520,7 @@ except-syntax-error eval.txt /*except-syntax-error*
exception-handling eval.txt /*exception-handling*
exception-variable eval.txt /*exception-variable*
exclusive motion.txt /*exclusive*
exclusive-linewise motion.txt /*exclusive-linewise*
executable() eval.txt /*executable()*
execute-menus gui.txt /*execute-menus*
exim starting.txt /*exim*
@ -4625,6 +4628,7 @@ filewritable() eval.txt /*filewritable()*
filter change.txt /*filter*
find-manpage usr_12.txt /*find-manpage*
find-replace usr_10.txt /*find-replace*
finddir() eval.txt /*finddir()*
findfile() eval.txt /*findfile()*
fixed-5.1 version5.txt /*fixed-5.1*
fixed-5.2 version5.txt /*fixed-5.2*
@ -4773,8 +4777,10 @@ getcharmod() eval.txt /*getcharmod()*
getcmdline() eval.txt /*getcmdline()*
getcmdpos() eval.txt /*getcmdpos()*
getcwd() eval.txt /*getcwd()*
getfperm() eval.txt /*getfperm()*
getfsize() eval.txt /*getfsize()*
getftime() eval.txt /*getftime()*
getftype() eval.txt /*getftype()*
getline() eval.txt /*getline()*
getreg() eval.txt /*getreg()*
getregtype() eval.txt /*getregtype()*

View File

@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.0aa. Last change: 2004 Apr 29
*tagsrch.txt* For Vim version 7.0aa. Last change: 2004 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -468,6 +468,7 @@ a tag for each "#defined" macro, typedefs, enums, etc.
Some programs that generate tags files:
ctags As found on most Unix systems. Only supports C. Only
does the basic work.
*Exuberant_ctags*
exuberant ctags This a very good one. It works for C, C++, Java,
Fortran, Eiffel and others. It can generate tags for
many items. See http://ctags.sourceforge.net.

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 19
*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,27 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Add fix for zh_cn to Vim 6.3? (Liang)
Aborting at the ATTENTION prompt causes trouble:
buffer remains active, nwindows isn't closed (fixed in buffer.c)
alternate buffer gets "read error" flag.
":sbuf" and ":ball" leave an empty window behind.
Change in handle_swap_exists() also in 6.3?
For version 7.0:
- Include many PATCHES:
8 Add functions:
realname() Get user name (first, last, full)
user_fullname() patch by Nikolai Weibull, Nov
3 2002)
getfperm() file permissions, in form "rwxrwxrwx"
(patch from Nikolai Weibull 2003 Jan 13)
getftype() "file", "dir", "link", "other"?
(patch from Nikolai Weibull 2003 Jan 13)
setbufline() set line in any buffer (patch from Yegappan
Lakshmanan, 2003 Jan 21)
winnr("$") Get number of windows. (patch from Nikolai
Weibull 2003 Jan 13) (another patch from
Yegappan Lakshmanan, 2004 Jul 11)
search() Add optional offset argument.
Add 'n' flag. (patch from Nikolai Weibull
2003 Jan 13)
filter() Patch from Yegappan Lakshmanan, 2004 Jul 11
8 Make it possible to delete marks. Charles Campbell has a patch that
does this with the markclear() function (2004 Jan 9).
@ -63,6 +54,7 @@ For version 7.0:
When "filename" has no wildcards and there is no matching buffer, add
the buffer (unlisted).
Patch for \xnn (Ciaran McCreesh) 2004 Jul 10
http://dev.gentoo.org/~ciaranm/patches/vim/vim-7.00a-regexp-numbered-characters-r5.patch
7 Add 'taglistfiles' option, show file name and type when listing matching
tags name with CTRL-D completion. Patch from Yegappan Lakshmanan.
2004 Jul 11
@ -72,6 +64,15 @@ For version 7.0:
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)
8 Add buffer-local autocommands? Reduces overhead for autocommands that
trigger often (inserting a character, switching mode).
:au Event <buffer> do-something
E.g.:
:au BufEnter <buffer> menu enable ...
:au BufLeave <buffer> menu disable ...
Patch from Yakov Lerner, including test (2004 Jan 7).
VimResized - When the Vim window has been resized (SIGWINCH)
patch from Yakov Lerner, 2003 July 24.
--- awaiting updated patch ---
7 Add patch from Wall for this one ( ~/Mail/oldmail/wall/in.00019 ):
'flipcase' variable: upper/lowercase pairs.
@ -84,18 +85,7 @@ For version 7.0:
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
Aric Blumer has a patch for this.
He will update the patch for 6.3.
8 Add buffer-local autocommands? Reduces overhead for autocommands that
trigger often (inserting a character, switching mode).
:au Event <buffer> do-something
E.g.:
:au BufEnter <buffer> menu enable ...
:au BufLeave <buffer> menu disable ...
Patch from Yakov Lerner, including test (2004 Jan 7).
He'll send updated patch.
Autocommands:
VimResized - When the Vim window has been resized (SIGWINCH)
patch from Yakov Lerner, 2003 July 24.
He'll write documentation and send updated patch.
7 Completion of network shares, patch by Yasuhiro Matsumoto.
Update 2004 Jun 17.
How does this work? Missing comments.
@ -1458,6 +1448,14 @@ Built-in script language:
7 Add argument to winwidth() to subtract the space taken by 'foldcolumn',
signs and/or 'number'.
8 Add functions:
search() Add optional offset argument.
realname() Get user name (first, last, full)
user_fullname() patch by Nikolai Weibull, Nov
3 2002
Only add this when also implemented for
non-Unix systems, otherwise a shell cmd could
be used.
get_user_name() gets login name.
menuprop({name}, {idx}, {what})
Get menu property of menu {name} item {idx}.
menuprop("", 1, "name") returns "File".
@ -3196,6 +3194,7 @@ Various improvements:
column number. Can use the code of ":helpgrep".
Also support using "**" in filename, so that a directory tree can be
searched.
Also see the "minigrep.vim" script on www.vim.org.
- Change ":fixdel" into option 'fixdel', t_del will be adjusted each time
t_bs is set? (Webb)
- "gc": goto character, move absolute character positions forward, also

View File

@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 19
*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -127,6 +127,9 @@ byteidx(expr, nr) |byteidx()| Index of a character. (Ilya Sher)
finddir(name) |finddir()| Find a directory in 'path'.
findfile(name) |findfile()| Find a file in 'path'. (Johannes
Zellner)
getfperm(fname) |getfperm()| Get file permission string. (Nikolai
Weibull)
getftype(fname) |getftype()| Get type of file. (Nikolai Weibull)
repeat(expr, count) |repeat()| Repeat "expr" "count" times.
(Christophe Poucet)
tr(expr, from, to) |tr()| Translate characters. (Ron Aaron)
@ -187,6 +190,11 @@ For lisp indenting and matching parenthesis: (Sergey Khorev)
Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher)
winnr() takes an optional "$" and "#" arguments. (Nikolai Weibull, Yegappan
Lakshmanan)
Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull)
==============================================================================
COMPILE TIME CHANGES *compile-changes-7*
@ -272,4 +280,13 @@ items.
The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use
"cn" or "tw" as intended.
When 'bin' is set and 'eol' is not set then line2byte() added the line break
after the last line while it's not there.
Using foldlevel() in a WinEnter autocommand may not work. Noticed when
resizing the GUI shell upon startup.
Python: Using buffer.append(f.readlines()) didn't work. Allow appending a
string with a trailing newline. The newline is ignored.
vim:tw=78:ts=8:ft=help:norl: