updated for version 7.0201
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 0b4bc5f..c28e3d3 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
" Vim completion script
" Language: XHTML 1.0 Strict
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change: 2006 Feb 6
+" Last Change: 2006 Feb 18
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@@ -540,24 +540,26 @@
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
return [opentag.">"]
endif
- " Deal with tag completion.
- let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
- if opentag == ''
- " Hack for sometimes failing GetLastOpenTag.
- " As far as I tested fail isn't GLOT fault but problem
- " of invalid document - not properly closed tags and other mish-mash.
- " If returns empty string assume <body>. Safe bet.
- let opentag = 'body'
- endif
- " }}}
" Load data {{{
if !exists("g:xmldata_xhtml10s")
runtime! autoload/xml/xhtml10s.vim
endif
" }}}
" Tag completion {{{
+ " Deal with tag completion.
+ let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
+ if opentag == ''
+ " Hack for sometimes failing GetLastOpenTag.
+ " As far as I tested fail isn't GLOT fault but problem
+ " of invalid document - not properly closed tags and other mish-mash.
+ " Also when document is empty. Return list of *all* tags.
+ let tags = keys(g:xmldata_xhtml10s)
+ call filter(tags, 'v:val !~ "^vimxml"')
+ else
+ let tags = g:xmldata_xhtml10s[opentag][0]
+ endif
+ " }}}
- let tags = g:xmldata_xhtml10s[opentag][0]
for m in sort(tags)
if m =~ '^'.context
diff --git a/runtime/autoload/xmlcomplete.vim b/runtime/autoload/xmlcomplete.vim
index 22e81a4..6b7b804 100644
--- a/runtime/autoload/xmlcomplete.vim
+++ b/runtime/autoload/xmlcomplete.vim
@@ -1,7 +1,7 @@
" Vim completion script
" Language: XML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change: 2006 Feb 6
+" Last Change: 2006 Feb 18
" This function will create Dictionary with users namespace strings and values
" canonical (system) names of data files. Names should be lowercase,
@@ -319,10 +319,13 @@
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
let opentag = substitute(opentag, '^\k*:', '', '')
if opentag == ''
- return []
+ "return []
+ let tags = keys(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]})
+ call filter(tags, 'v:val !~ "^vimxml"')
+ else
+ let tags = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[opentag][0]
endif
- let tags = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[opentag][0]
let context = substitute(context, '^\k*:', '', '')
for m in tags
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index c63d09b..1cf3241 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -89,6 +89,7 @@
starting.txt \
spell.txt \
syntax.txt \
+ tabpage.txt \
tagsrch.txt \
term.txt \
tips.txt \
@@ -211,6 +212,7 @@
starting.html \
spell.html \
syntax.html \
+ tabpage.html \
tagsrch.html \
tags.html \
term.html \
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 3688cda..2ca301b 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.0aa. Last change: 2006 Feb 13
+*autocmd.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -284,6 +284,8 @@
|WinEnter| after entering another window
|WinLeave| before leaving a window
+|TabEnterPost| after entering another tab page
+|TabLeavePre| before leaving a tab page
|CmdwinEnter| after entering the command-line window
|CmdwinLeave| before leaving the command-line window
@@ -704,6 +706,14 @@
where this option was set, and <amatch> for
the new value of 'syntax'.
See |:syn-on|.
+ *TabEnterPost*
+TabEnterPost Just after entering a tab page. |tab-page|
+ Before triggering the WinEnter and BufEnter
+ events.
+ *TabLeavePre*
+TabLeavePre Just before leaving a tab page. |tab-page|
+ BufLeave and WinLeave events will have been
+ triggered first.
*TermChanged*
TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index b39e721..aaf21b0 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 7.0aa. Last change: 2006 Jan 22
+*diff.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41,6 +41,10 @@
This only works when a standard "diff" command is available. See 'diffexpr'.
+Diffs are local to the current tab page |tab-page|. You can't see diffs with
+a window in another tab page. This does make it possible to have several
+diffs at the same time, each in their own tab page.
+
What happens is that Vim opens a window for each of the files. This is like
using the |-O| argument. This uses vertical splits. If you prefer horizontal
splits add the |-o| argument: >
@@ -113,7 +117,7 @@
*:diffo* *:diffoff*
:diffoff Switch off diff mode for the current window.
-:diffoff! Switch off diff mode for all windows.
+:diffoff! Switch off diff mode for all windows in the current tab page.
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,
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 25dc1a6..b29504c 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.0aa. Last change: 2006 Jan 20
+*editing.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1014,6 +1014,9 @@
Vim refuses to |abandon| the current buffer, and when
the last file in the argument list has not been
edited.
+ If there are other tab pages and quitting the last
+ window in the current tab page the current tab page is
+ closed |tab-page|.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0f339e1..9bad529 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 14
+*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1690,6 +1690,7 @@
String attribute {what} of syntax ID {synID}
synIDtrans( {synID}) Number translated syntax ID of {synID}
system( {expr} [, {input}]) String output of shell command/filter {expr}
+tabpage( [{expr}]) Number number of current tab page
taglist( {expr}) List list of tags matching {expr}
tagfiles() List tags files used
tempname() String name for a temporary file
@@ -1705,7 +1706,7 @@
wincol() Number window column of the cursor
winheight( {nr}) Number height of window {nr}
winline() Number window line of the cursor
-winnr() Number number of current window
+winnr( [{expr}]) Number number of current window
winrestcmd() String returns command to restore window sizes
winwidth( {nr}) Number width of window {nr}
writefile({list}, {fname} [, {binary}])
@@ -4447,6 +4448,14 @@
Use |:checktime| to force a check.
+tabpagenr([{arg}]) *tabpagenr()*
+ The result is a Number, which is the number of the current
+ tab page. The first tab page has number 1.
+ When the optional argument is "$", the number of the last tab
+ page is returned (the tab page count).
+ The number can be used with the |:tab| command.
+
+
taglist({expr}) *taglist()*
Returns a list of tags matching the regular expression {expr}.
Each list item is a dictionary with at least the following
@@ -4618,7 +4627,7 @@
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).
+ last window is returned (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.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 999a507..42f0eb1 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 7.0aa. Last change: 2005 Nov 30
+*help.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM - main help file
k
@@ -122,6 +122,7 @@
|tagsrch.txt| tags and special searches
|quickfix.txt| commands for a quick edit-compile-fix cycle
|windows.txt| commands for using multiple windows and buffers
+|tabpage.txt| commands for using multiple tab pages
|syntax.txt| syntax highlighting
|spell.txt| spell checking
|diff.txt| working with two or three versions of the same file
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index e1788b0..b265ee6 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.0aa. Last change: 2006 Jan 26
+*index.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1305,7 +1305,7 @@
|:omap| :om[ap] like ":map" but for Operator-pending mode
|:omapclear| :omapc[lear] remove all mappings for Operator-pending mode
|:omenu| :ome[nu] add menu for Operator-pending mode
-|:only| :on[ly] close all windows except current one
+|:only| :on[ly] close all windows except the current one
|:onoremap| :ono[remap] like ":noremap" but for Operator-pending mode
|:onoremenu| :onoreme[nu] like ":noremenu" but for Operator-pending mode
|:options| :opt[ions] open the options-window
@@ -1436,6 +1436,13 @@
|:syncbind| :sync[bind] sync scroll binding
|:t| :t same as ":copy"
|:tNext| :tN[ext] jump to previous matching tag
+|:tabclose| :tabc[lose] close current tab page
+|:tabedit| :tabe[dit] edit a file in a new tab page
+|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
+|:tabnew| :tabn[ew] edit a file in a new tab page
+|:tabonly| :tabo[nly] close all tab pages except the current one
+|:tabs| :tabs list the tab pages and what they contain
+|:tab| :tab jump to another tab page
|:tag| :ta[g] jump to tag
|:tags| :tags show the contents of the tag stack
|:tcl| :tc[l] execute Tcl command
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c9aa452..c17074c 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 14
+*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5336,6 +5336,8 @@
winsize window sizes
Don't include both "curdir" and "sesdir".
+ There is no option to include tab pages yet, only the current tab page
+ is stored in the session. |tab-page|
When "curdir" nor "sesdir" is included, file names are stored with
absolute paths.
"slash" and "unix" are useful on Windows when sharing session files
@@ -6232,6 +6234,19 @@
'S' flag in 'cpoptions'.
Only normal file name characters can be used, "/\*?[|<>" are illegal.
+ *'tabline'* *'tal'*
+'tabline' 'tal' number (default 1)
+ global
+ {not in Vi}
+ {not available when compiled without the +windows
+ feature}
+ The value of this option specifies when the line with tab page labels
+ will be displayed:
+ 0: never
+ 1: only if there are at least two tab pages
+ 2: always
+ |tab-page|
+
*'tabstop'* *'ts'*
'tabstop' 'ts' number (default 8)
local to buffer
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index d21a52d..0b64ca3 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.0aa. Last change: 2006 Feb 14
+*starting.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -374,6 +374,13 @@
the command line determines how the windows will be split.
{not in Vi}
+ *-p*
+-p[N] Open N tab pages. If [N] is not given, one tab page is opened
+ for every file given as argument. The maximum is 10 tab
+ pages. If there are more tab pages than arguments, the last
+ few tab pages will be editing an empty file.
+ {not in Vi}
+
*-T*
-T {terminal} Set the terminal type to "terminal". This influences the
codes that Vim will send to your terminal. This is normally
@@ -831,6 +838,8 @@
11. Open all windows
When the |-o| flag was given, windows will be opened (but not
displayed yet).
+ When the |-p| flag was given, tab pages will be created (but not
+ displayed yet).
When switching screens, it happens now. Redrawing starts.
If the "-q" flag was given to Vim, the first error is jumped to.
Buffers for all windows will be loaded.
@@ -1203,6 +1212,9 @@
:nmap <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:so ~/sessions/
This saves the current Session, and starts off the command to load another.
+A session only includes the current tab page. There currently is no option to
+store all tab pages. |tab-page|
+
The |SessionLoadPost| autocmd event is triggered after a session file is
loaded/sourced.
*SessionLoad-variable*
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
new file mode 100644
index 0000000..cf95ca2
--- /dev/null
+++ b/runtime/doc/tabpage.txt
@@ -0,0 +1,125 @@
+*tabpage.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+
+
+Editing with windows in multuple tab pages. *tab-page* *tabpage*
+
+The commands which have been added to use multiple tab pages are explained
+here. Additionally, there are explanations for commands that work differently
+when used in combination with more than one tab page.
+
+1. Introduction |tab-page-intro|
+2. Commands |tab-page-commands|
+3. Other items |tab-page-other|
+
+{Vi does not have any of these commands}
+{not able to use multiple tab pages when the |+windows| feature was disabled
+at compile time}
+
+==============================================================================
+1. Introduction *tab-page-intro*
+
+A tab page holds one or more windows. You can easily switch between tab
+pages, so that you have several collections of windows to work on different
+things.
+
+Usually you will see a list of labels at the top of the Vim window, one for
+each tab page. With the mouse you can click on the label to jump to that tab
+page. There are other ways to move between tab pages, see below.
+
+Most commands work only in the current tab page. That includes the |CTRL-W|
+commands, |:windo|, |:all| and |:ball|. The commands that are aware of
+other tab pages than the current one are mentioned below.
+
+Tabs are also a nice way to edit a buffer temporarily without changing the
+current window layout. Open a new tab page, do whatever you want to do and
+close the tab page.
+
+==============================================================================
+2. Commands *tab-page-commands*
+
+OPENING A NEW TAB PAGE:
+
+When starting Vim "vim -p filename ..." opens each file argument in a separate
+tab page (up to 10). |-p|
+
+:tabe[dit] *:tabe* *:tabedit*
+:tabn[ew] Open a new tab page with an empty window.
+
+:tabe[dit] [++opt] [+cmd] {file}
+:tabn[ew] [++opt] [+cmd] {file}
+ Open a new tab page and edit {file}, like with |:edit|.
+
+:tabf[ind] [++opt] [+cmd] {file}
+ Open a new tab page and edit {file} in 'path', like with
+ |:find|.
+ {not available when the |+file_in_path| feature was disabled
+ at compile time}
+
+
+CLOSING A TAB PAGE:
+
+Using |:close| in the last window of a tab page closes it.
+
+Using the mouse: If the tab page line is displayed you can click in the "X" at
+the top right to close the current tab page. |'tabline'|
+
+ *:tabc* *:tabclose*
+:tabc[lose][!] Close current tab page.
+ This command fails when:
+ - There is only one tab page on the screen. *E784*
+ - When 'hidden' is not set, [!] is not used, a buffer has
+ changes, and there is no other window on this buffer.
+ Changes to the buffer are not written and won't get lost, so
+ this is a "safe" command.
+
+:tabc[lose][!] {count}
+ Close tab page {count}. Fails in the same way as ':tabclose"
+ above.
+
+ *:tabo* *:tabonly*
+:tabo[nly][!] Close all other tab pages.
+ When the 'hidden' option is set, all buffers in closed windows
+ become hidden.
+ When 'hidden' is not set, and the 'autowrite' option is set,
+ modified buffers are written. Otherwise, windows that have
+ buffers that are modified are not removed, unless the [!] is
+ given, then they become hidden. But modified buffers are
+ never abandoned, so changes cannot get lost.
+
+
+SWITCHING TO ANOTHER TAB PAGE:
+
+Using the mouse: If the tab page line is displayed you can click in a tab page
+label to switch to that tab page. |'tabline'|
+
+:tab *:tab* *gt*
+gt Go to the next tab page. Wraps around from the last to the
+ first one.
+
+:tab {count}
+{count}gt Go to tab page {count}. The first tab page has number one.
+
+
+Other commands:
+ *:tabs*
+:tabs List the tab pages and the windows they contain. Shows a "+"
+ for modified buffers.
+
+==============================================================================
+3. Other items *tab-page-other*
+
+You can use the 'tabline' option to specify when you want the line with tab
+page labels to appear: never, when there is more than one tab page or always.
+
+Diff mode works per tab page. You can see the diffs between several files
+within one tab page. Other tab pages can show differences between other
+files.
+
+The TabLeavePre and TabEnterPost autocommand events can be used to do
+something when switching from one tab page to another.
+
+
+ vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/tags b/runtime/doc/tags
index fdaa136..514ca29 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -892,6 +892,7 @@
't_vs' term.txt /*'t_vs'*
't_xs' term.txt /*'t_xs'*
'ta' options.txt /*'ta'*
+'tabline' options.txt /*'tabline'*
'tabstop' options.txt /*'tabstop'*
'tag' options.txt /*'tag'*
'tagbsearch' options.txt /*'tagbsearch'*
@@ -899,6 +900,7 @@
'tagrelative' options.txt /*'tagrelative'*
'tags' options.txt /*'tags'*
'tagstack' options.txt /*'tagstack'*
+'tal' options.txt /*'tal'*
'tb' options.txt /*'tb'*
'tbi' options.txt /*'tbi'*
'tbidi' options.txt /*'tbidi'*
@@ -1224,6 +1226,7 @@
-n starting.txt /*-n*
-nb starting.txt /*-nb*
-o starting.txt /*-o*
+-p starting.txt /*-p*
-q starting.txt /*-q*
-qf starting.txt /*-qf*
-r starting.txt /*-r*
@@ -2638,6 +2641,14 @@
:tN tagsrch.txt /*:tN*
:tNext tagsrch.txt /*:tNext*
:ta tagsrch.txt /*:ta*
+:tab tabpage.txt /*:tab*
+:tabc tabpage.txt /*:tabc*
+:tabclose tabpage.txt /*:tabclose*
+:tabe tabpage.txt /*:tabe*
+:tabedit tabpage.txt /*:tabedit*
+:tabo tabpage.txt /*:tabo*
+:tabonly tabpage.txt /*:tabonly*
+:tabs tabpage.txt /*:tabs*
:tag tagsrch.txt /*:tag*
:tags tagsrch.txt /*:tags*
:tc if_tcl.txt /*:tc*
@@ -3875,6 +3886,7 @@
E781 spell.txt /*E781*
E782 spell.txt /*E782*
E783 spell.txt /*E783*
+E784 tabpage.txt /*E784*
E79 message.txt /*E79*
E80 message.txt /*E80*
E800 arabic.txt /*E800*
@@ -4086,6 +4098,8 @@
TERM starting.txt /*TERM*
TTpro-telnet syntax.txt /*TTpro-telnet*
Tab intro.txt /*Tab*
+TabEnterPost autocmd.txt /*TabEnterPost*
+TabLeavePre autocmd.txt /*TabLeavePre*
Tcl if_tcl.txt /*Tcl*
TermChanged autocmd.txt /*TermChanged*
TermResponse autocmd.txt /*TermResponse*
@@ -5340,6 +5354,7 @@
gs various.txt /*gs*
gsp.vim syntax.txt /*gsp.vim*
gstar pattern.txt /*gstar*
+gt tabpage.txt /*gt*
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gu change.txt /*gu*
gugu change.txt /*gugu*
@@ -5429,6 +5444,7 @@
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*
@@ -6927,6 +6943,13 @@
t_vs term.txt /*t_vs*
t_xs term.txt /*t_xs*
tab intro.txt /*tab*
+tab-page tabpage.txt /*tab-page*
+tab-page-commands tabpage.txt /*tab-page-commands*
+tab-page-intro tabpage.txt /*tab-page-intro*
+tab-page-other tabpage.txt /*tab-page-other*
+tabpage tabpage.txt /*tabpage*
+tabpage.txt tabpage.txt /*tabpage.txt*
+tabpagenr() eval.txt /*tabpagenr()*
tag tagsrch.txt /*tag*
tag-! tagsrch.txt /*tag-!*
tag-any-white tagsrch.txt /*tag-any-white*
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index 2fc1bee..30c548d 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt* For Vim version 7.0aa. Last change: 2006 Feb 16
+*tips.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -450,11 +450,13 @@
This example shows the use of a few advanced tricks:
- using the |CursorMoved| autocommand event
- using |searchpairpos()| to find a matching paren
+- using |synID()| to detect whether the cursor is in a string or comment
- using |:match| to highlight something
- using a |pattern| to match a specific position in the file.
This should be put in a Vim script file, since it uses script-local variables.
-Note that it doesn't recognize strings or comments in the text.
+It skips matches in strings or comments, unless the cursor started in string
+or comment. This requires syntax highlighting.
>
let s:paren_hl_on = 0
function s:Highlight_Matching_Paren()
@@ -484,8 +486,11 @@
let c = '\['
let c2 = '\]'
endif
+ let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
+ \ '=~? "string\\|comment"'
+ execute 'if' s_skip '| let s_skip = 0 | endif'
- let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags)
+ let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip)
if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$')
exe 'match Search /\(\%' . c_lnum . 'l\%' . c_col .
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 2912a58..4c65d1d 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 17
+*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,52 +32,15 @@
Support WINDOW TABS. Works like several pages, each with their own split
windows. Let's call them "tab pages".
- - Add tabpage(): returns current tab page number.
- - ":tabsplit" makes a copy of the current tab page.
- - Add TabLeavePre and TabEnterPost autocommands
- line at top of frame with tabs.
Add 'tabtext' option, like 'statusline'.
- - check for E999
- - docs:
- General remark: commands that work on windows only work on the windows
- in the current tab page. Including :windo.
- Session file only contains the current tab page.
- :tabedit
- :tabfind
- :tab N
- :tabs
- {count}gt
- :close may close current tab page if there is one window.
- :tabclose
- :tabclose N - close tab N
- :tabonly - close all other tabs.
- :close and :quit (last window in tab)
- "gt": Use "1gt" - "99gt" to switch to another tab. "gt" goes to the
- next one. Hint in docs: To mess with another buffer, without
- changing the window layout, do this in another tab.
- 'tabline' values 0/1/2
- mouse click in tabline:
- select a tab page
- X closes current tab page
- :argall and :ball only opens window for buffers that are not in any
- window in any tab page
- :diffoff only works in the current tab page
- diff works per tab page
- "vim -p *" opens each file in a separate tab page (up to 10).
- - add GUI Tabs for some systems.
- Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
- Simple patch for GTK by Luis M (nov 7).
- Need to be able to search the windows in inactive tabs, e.g. for the
- quickfix window.
-Future enhancements:
- tab page local variables?
- tab page local options? 'diffopt' could differ between tab pages.
- tab page local colors?
+ quickfix window?
+ - docs:
+ Add info to the user manual somewhere.
Crash with X command server (Ciaran McCreesh).
-Motif: in diff mode dragging one scrollbar doesn't update the other one.
-
Ctags still hasn't included the patch. Darren is looking for someone to do
maintanance.
@@ -494,6 +457,16 @@
Check if file explorer can handle directory names and links with a single
quote. (Nieko Maatjes, 2005 Jan 4)
+Future enhancements for tab pages:
+ - Add GUI Tabs for all systems.
+ Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
+ Simple patch for GTK by Luis M (nov 7).
+ - ":tabsplit" makes a copy of the current tab page.
+ - Add local variables for each tab page?
+ - Add local options for each tab page? E.g., 'diffopt' could differ
+ between tab pages.
+ - Add local highlighting for a tab page?
+
Vi incompatibility:
8 With undo/redo only marks in the changed lines should be changed. Other
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 7f7c092..7f93bcf 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 17
+*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1707,4 +1707,7 @@
When "umask" is set such that nothing is writable then the viminfo file would
be written without write permission. (Julian Bridle)
+Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the
+other diff'ed window.
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 8e38965..a83bdd2 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 7.0aa. Last change: 2006 Jan 27
+*windows.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -68,6 +68,9 @@
Note: All CTRL-W commands can also be executed with |:wincmd|, for those
places where a Normal mode command can't be used or is inconvenient.
+The main Vim window can hold several split windows. There are also tab pages
+|tab-page|, each of which can hold multiple windows.
+
==============================================================================
2. Starting Vim *windows-starting*
@@ -255,6 +258,9 @@
:clo[se][!] Close current window. When the 'hidden' option is set, or
when the buffer was changed and the [!] is used, the buffer
becomes hidden (unless there is another window editing it).
+ When there is only one window in the current tab page and
+ there is another tab page, this closes the current tab page.
+ |tab-page|.
This command fails when: *E444*
- There is only one window on the screen.
- When 'hidden' is not set, [!] is not used, the buffer has
@@ -271,6 +277,8 @@
:hid[e] Quit current window, unless it is the last window on the
screen. The buffer becomes hidden (unless there is another
window editing it or 'bufhidden' is "unload" or "delete").
+ If the window is the last one in the current tab page the tab
+ page is closed. |tab-page|
The value of 'hidden' is irrelevant for this command.
Changes to the buffer are not written and won't get lost, so
this is a "safe" command.
@@ -551,6 +559,7 @@
Rearrange the screen to open one window for each argument.
All other windows are closed. When a count is given, this is
the maximum number of windows to open.
+ Only uses the current tab page |tab-page|.
When the 'hidden' option is set, all buffers in closed windows
become hidden.
When 'hidden' is not set, and the 'autowrite' option is set,
@@ -620,7 +629,8 @@
CTRL-W w
:{cmd}
etc.
-< When an error is detected on one window, further
+< This only works in the current tab page.
+ When an error is detected on one window, further
windows will not be visited.
The last window (or where an error occurred) becomes
the current window.
@@ -1073,6 +1083,7 @@
of windows opened ('winwidth' if |:vertical| was prepended).
Buf/Win Enter/Leave autocommands are not executed for the new
windows here, that's only done when they are really entered.
+ Only uses the current tab page |tab-page|.
Note: All the commands above that start editing another buffer, keep the
'readonly' flag as it was. This differs from the ":edit" command, which sets