diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-02-18 22:14:51 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-02-18 22:14:51 +0000 |
commit | 7e8fd63682801d6cdd7f31972540c21f148b289e (patch) | |
tree | cbc44d7f10ef0a87454582fbff40fe930bacc6b6 /runtime | |
parent | 997fb4ba696625e27e17c00d5033b20411aa45a3 (diff) |
updated for version 7.0201v7.0201
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/autoload/htmlcomplete.vim | 22 | ||||
-rw-r--r-- | runtime/autoload/xmlcomplete.vim | 9 | ||||
-rw-r--r-- | runtime/doc/Makefile | 2 | ||||
-rw-r--r-- | runtime/doc/autocmd.txt | 12 | ||||
-rw-r--r-- | runtime/doc/diff.txt | 8 | ||||
-rw-r--r-- | runtime/doc/editing.txt | 5 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 15 | ||||
-rw-r--r-- | runtime/doc/help.txt | 3 | ||||
-rw-r--r-- | runtime/doc/index.txt | 11 | ||||
-rw-r--r-- | runtime/doc/options.txt | 17 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 14 | ||||
-rw-r--r-- | runtime/doc/tabpage.txt | 125 | ||||
-rw-r--r-- | runtime/doc/tags | 23 | ||||
-rw-r--r-- | runtime/doc/tips.txt | 11 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 55 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 5 | ||||
-rw-r--r-- | runtime/doc/windows.txt | 15 |
17 files changed, 280 insertions, 72 deletions
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim index 0b4bc5fd88..c28e3d3fc0 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 @@ function! htmlcomplete#CompleteTags(findstart, base) let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack") return [opentag.">"] 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. - " If returns empty string assume <body>. Safe bet. - let opentag = 'body' - endif - " }}} - " Load data {{{ - if !exists("g:xmldata_xhtml10s") - runtime! autoload/xml/xhtml10s.vim + " 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 " }}} - " Tag completion {{{ - 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 22e81a4d93..6b7b804e36 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 @@ function! xmlcomplete#CompleteTags(findstart, base) 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 c63d09b00b..1cf3241b65 100644 --- a/runtime/doc/Makefile +++ b/runtime/doc/Makefile @@ -89,6 +89,7 @@ DOCS = \ starting.txt \ spell.txt \ syntax.txt \ + tabpage.txt \ tagsrch.txt \ term.txt \ tips.txt \ @@ -211,6 +212,7 @@ HTMLS = \ 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 3688cdae37..2ca301ba32 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 @@ Name triggered by ~ |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 @@ Syntax When the 'syntax' option has been set. 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 b39e721c12..aaf21b0f34 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 @@ the file. 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 @@ 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. +: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 25dc1a674e..b29504ced2 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 @@ The names can be in upper- or lowercase. 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 0f339e1119..9bad529eb6 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 @@ synIDattr( {synID}, {what} [, {mode}]) 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 @@ winbufnr( {nr}) Number buffer number of window {nr} 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 @@ system({expr} [, {input}]) *system()* *E677* 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 @@ winline() The result is a Number, which is the screen line of the cursor 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 999a50772d..42f0eb1e4d 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 @@ Advanced editing ~ |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 e1788b0a93..b265ee61ae 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 @@ The commands are sorted on the non-optional part of their name. |: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 @@ The commands are sorted on the non-optional part of their name. |: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 c9aa452f48..c17074c2d5 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 @@ 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". + 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 @@ A jump table for the options with a short description can be found at |Q_op|. '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 d21a52dc2a..0b64ca3a19 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 @@ a slash. Thus "-R" means recovery and "-/R" readonly. 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 @@ accordingly. Vim proceeds in this order: 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 @@ An example mapping: > :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 0000000000..cf95ca2176 --- /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 fdaa136f4e..514ca293d2 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -892,6 +892,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* '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 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* '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 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* -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 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :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 @@ E780 spell.txt /*E780* 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 @@ TCL if_tcl.txt /*TCL* 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 @@ group-name syntax.txt /*group-name* 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 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* @@ -6927,6 +6943,13 @@ t_vi term.txt /*t_vi* 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 2fc1bee0c7..30c548d61d 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 @@ Highlighting matching parens *match-parens* 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 @@ Note that it doesn't recognize strings or comments in the text. 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 2912a5884f..4c65d1df99 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 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. 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 @@ Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work. 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 7f7c092c35..7f93bcfba2 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 @@ event that removed the balloon again. Ignore the key release event. 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 8e38965101..a83bdd2968 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 @@ inactive no no ' ' 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 @@ CTRL-W c *CTRL-W_c* *:clo* *:close* :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 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C* :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 @@ can also get to them with the buffer list commands, like ":bnext". 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 @@ can also get to them with the buffer list commands, like ":bnext". 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 @@ list of buffers. |unlisted-buffer| 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 |