Skip to content
Snippets Groups Projects
Commit 7e8fd636 authored by Bram Moolenaar's avatar Bram Moolenaar
Browse files

updated for version 7.0201

parent 997fb4ba
No related branches found
Tags v7.0201
No related merge requests found
Showing
with 299 additions and 82 deletions
" 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
......
" 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
......
......@@ -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 \
......
*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.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,
......
*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
......
*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.
......
*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
......
*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
......
*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
......
*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
......@@ -372,6 +372,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-O[N] Open N windows, split vertically. Otherwise it's like -o.
If both the -o and the -O option are given, the last one on
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*
......@@ -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*
......
*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:
......@@ -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*
......
*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 .
......
*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
......
*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:
*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
......
......@@ -36,13 +36,16 @@ MacOS Classic is no longer supported. If you really want it use Vim 6.4.
directory. You can move this bundle (the Vim.app directory) anywhere
you want, for example, /Applications.
You need at least Xcode 1.5 to compile Vim 7.0.
1.2 X-Windows or Plain Text
If you do not want the Carbon interface, you must explicitly tell
configure to use a different GUI.
cd ..
./configure --enable-gui=gtk2
./configure --disable-darwin --enable-gui=gtk2
make; make install
NOTE: The following GUI options are supported:
......
......@@ -1510,6 +1510,8 @@ PRO_AUTO = \
$(ALL_GUI_PRO) \
$(TCL_PRO)
ICON_APP = gui_mac.icns
PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
os_mswin.pro os_beos.pro os_vms.pro os_riscos.pro $(PERL_PRO)
......@@ -2131,6 +2133,10 @@ shadow: runtime pixmaps
cp config.mk.dist $(SHADOWDIR)
mkdir $(SHADOWDIR)/xxd
cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
if test -f $(ICON_APP); then \
cd $(SHADOWDIR); \
ln -s ../$(ICON_APP) ../os_mac.rsr.hqx ../dehqx.py .; \
fi
mkdir $(SHADOWDIR)/testdir
cd $(SHADOWDIR)/testdir; ln -s ../../testdir/Makefile \
../../testdir/vimrc.unix \
......@@ -2494,7 +2500,6 @@ M4FLAGSX = $(M4FLAGS) -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) \
-DAPP_VER=$(VERSION) -DICON_APP=$(ICON_APP)
### Icons
ICON_APP = gui_mac.icns
ICONS = $(RESDIR)/$(ICON_APP)
# If you uncomment the following lines the *.icns in the src directory will be
......
......@@ -114,7 +114,6 @@ static int compl_pending = FALSE;
static pos_T compl_startpos;
static colnr_T compl_col = 0; /* column where the text starts
* that is being completed */
static int save_sm = -1;
static char_u *compl_orig_text = NULL; /* text as it was before
* completion started */
static int compl_cont_mode = 0;
......@@ -2733,10 +2732,18 @@ ins_compl_clear()
compl_pattern = NULL;
vim_free(compl_leader);
compl_leader = NULL;
save_sm = -1;
edit_submode_extra = NULL;
}
/*
* Return TRUE when Insert completion is active.
*/
int
ins_compl_active()
{
return compl_started;
}
/*
* Delete one character before the cursor and show the subset of the matches
* that match the word that is now before the cursor.
......@@ -3071,8 +3078,6 @@ ins_compl_prep(c)
compl_matches = 0;
msg_clr_cmdline(); /* necessary for "noshowmode" */
ctrl_x_mode = 0;
if (save_sm >= 0)
p_sm = save_sm;
if (edit_submode != NULL)
{
edit_submode = NULL;
......@@ -3904,10 +3909,6 @@ ins_complete(c)
{
/* First time we hit ^N or ^P (in a row, I mean) */
/* Turn off 'sm' so we don't show matches with ^X^L */
save_sm = p_sm;
p_sm = FALSE;
did_ai = FALSE;
#ifdef FEAT_SMARTINDENT
did_si = FALSE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment