messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
- Version 7.0e. Also runs under UNIX, MSDOS and other systems.
- vim70ert.tgz contains the documentation and syntax files.
- vim70ebin.tgz contains the binaries.
- vim70esrc.tgz contains the sources.
+ Version 7.0f. Also runs under UNIX, MSDOS and other systems.
+ vim70frt.tgz contains the documentation and syntax files.
+ vim70fbin.tgz contains the binaries.
+ vim70fsrc.tgz contains the sources.
Author: Bram Moolenaar et al.
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7
-MINOR = 0e
+MINOR = 0f
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
-README.txt for version 7.0e of Vim: Vi IMproved.
+README.txt for version 7.0f of Vim: Vi IMproved.
WHAT IS VIM
-README_ami.txt for version 7.0e of Vim: Vi IMproved.
+README_ami.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
-README_amibin.txt for version 7.0e of Vim: Vi IMproved.
+README_amibin.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
-README_amisrc.txt for version 7.0e of Vim: Vi IMproved.
+README_amisrc.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
-README_bindos.txt for version 7.0e of Vim: Vi IMproved.
+README_bindos.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
-README_dos.txt for version 7.0e of Vim: Vi IMproved.
+README_dos.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
-README_extra.txt for version 7.0e of Vim: Vi IMproved.
+README_extra.txt for version 7.0f of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive
(vim-6.0-src.tar.gz). The extra archive is useless without it.
-README_lang.txt for version 7.0e of Vim: Vi IMproved.
+README_lang.txt for version 7.0f of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.
-README_mac.txt for version 7.0e of Vim: Vi IMproved.
+README_mac.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim.
-README_ole.txt for version 7.0e of Vim: Vi IMproved.
+README_ole.txt for version 7.0f of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you
-README_os2.txt for version 7.0e of Vim: Vi IMproved.
+README_os2.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
-README_os_390.txt for version 7.0e of Vim: Vi IMproved.
+README_os_390.txt for version 7.0f of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
-README_src.txt for version 7.0e of Vim: Vi IMproved.
+README_src.txt for version 7.0f of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
-README_srcdos.txt for version 7.0e of Vim: Vi IMproved.
+README_srcdos.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
-README_unix.txt for version 7.0e of Vim: Vi IMproved.
+README_unix.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
-README_vms.txt for version 7.0e of Vim: Vi IMproved.
+README_vms.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
-README_w32s.txt for version 7.0e of Vim: Vi IMproved.
+README_w32s.txt for version 7.0f of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
!define HAVE_NLS
!define VER_MAJOR 7
-!define VER_MINOR 0e
+!define VER_MINOR 0f
# ----------- No configurable settings below this line -----------
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change: 2006 Apr 22
+" Last Change: 2006 Apr 24
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
" alphabetically but sort them. Those beginning with entered
" part will be as first choices
if m =~ '^'.entered_value
- call add(res, attrquoteopen . m . attrquote.' ')
+ call add(res, attrquoteopen . m . attrquote)
elseif m =~ entered_value
- call add(res2, attrquoteopen . m . attrquote.' ')
+ call add(res2, attrquoteopen . m . attrquote)
endif
endfor
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 21, 2006
-" Version: 92
+" Date: Apr 24, 2006
+" Version: 93
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v92"
+let g:loaded_netrw = "v93"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
let s:netrw_browser_shellcmd= 1
augroup AuNetrwShellCmd
au!
- au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ au ShellCmdPost * call s:LocalBrowseShellCmdRefresh()
+ else
+ au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()
+ endif
augroup END
endif
" vimball : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Mar 31, 2006
-" Version: 6
+" Date: Apr 24, 2006
+" Version: 7
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
finish
endif
let s:keepcpo = &cpo
-let g:loaded_vimball = "v6"
+let g:loaded_vimball = "v7"
set cpo&vim
" =====================================================================
endif
" initialize
+ let fenkeep = &fen
let regakeep = @a
let eikeep = &ei
let vekeep = &ve
let makeep = getpos("'a")
let curtabnr = tabpagenr()
- set ei=all ve=all
+ set ei=all ve=all nofen
" set up vimball tab
tabnew
else
echomsg "would extract <".fname.">: ".fsize." lines"
endif
-" call Decho(linenr.": will extract file<".fname.">")
-" call Decho((linenr+1).": fsize=".fsize)
+" call Decho("using L#".linenr.": will extract file<".fname.">")
+" call Decho("using L#".(linenr+1).": fsize=".fsize)
" make directories if they don't exist yet
+" call Decho("making directories if they don't exist yet")
let fnamebuf= fname
while fnamebuf =~ '/'
let dirname = substitute(fnamebuf,'/.*$','','e')
exe "cd ".home
" grab specified qty of lines and place into "a" buffer
- exe linenr
- norm! jjma
- exe (linenr + fsize + 1)
- silent norm! "ay'a
-" call Decho("yanked ".fsize." lines into register-a")
-
-" call Decho("didhelp<".didhelp."> fname<".fname.">")
- if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
- let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
-" call Decho("didhelp<".didhelp.">")
- endif
+ " (skip over path/filename and qty-lines)
+ let linenr = linenr + 2
+ let lastline = linenr + fsize - 1
+" call Decho("exe ".linenr.",".lastline."yank a")
+ exe linenr.",".lastline."yank a"
" copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr
silent! %d
- silent norm! "aPGdd1G
-" call Decho("rega<".@a.">")
+ put a
+ 1
+ d
" write tab to file
if a:really
exe "silent w! ".fname
endif
+ " return to tab with vimball
" call Decho("exe tabn ".curtabnr)
exe "tabn ".curtabnr
+
+ " set up help if its a doc/*.txt file
+" call Decho("didhelp<".didhelp."> fname<".fname.">")
+ if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
+ let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
+" call Decho("didhelp<".didhelp.">")
+ endif
+
+ " update for next file
" let oldlinenr = linenr " Decho
- let linenr = linenr + fsize + 2
-" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] + 2 = ".linenr)
+ let linenr = linenr + fsize
+" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] = ".linenr)
endwhile
" set up help
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
- let &ei= eikeep
- let @a = regakeep
+ let &ei = eikeep
+ let @a = regakeep
+ let &fen = fenkeep
if makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
-*arabic.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*arabic.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli
-*autocmd.txt* For Vim version 7.0e. Last change: 2006 Apr 07
+*autocmd.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
command is not executed.
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
- command is run.
+ command is run, before jumping to the first
+ location.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|.
-*change.txt* For Vim version 7.0e. Last change: 2006 Apr 11
+*change.txt* For Vim version 7.0f. Last change: 2006 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
-*cmdline.txt* For Vim version 7.0e. Last change: 2006 Mar 16
+*cmdline.txt* For Vim version 7.0f. Last change: 2006 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
-*debug.txt* For Vim version 7.0e. Last change: 2005 Dec 17
+*debug.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
2. Windows Bug Reporting *debug-win32*
-If the Windows version of Vim crashes in a reproducible manner,
-you can take some steps to provide a useful bug report.
+If the Windows version of Vim crashes in a reproducible manner, you can take
+some steps to provide a useful bug report.
-First, you must obtain the debugger symbols (PDB) file for your executable:
-gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available
-from the same place that you obtained the executable. Be sure to use
-the PDB that matches the EXE.
+
+GENERIC ~
+
+You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
+for gvim.exe, or vim.pdb for vim.exe. It should be available from the same
+place that you obtained the executable. Be sure to use the PDB that matches
+the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE.
+Alternatively, if you have the source files, you can import Make_ivc.mak into
+Visual Studio as a workspace. Then select a debug configuration, build and
+you can do all kinds of debugging (set breakpoints, watch variables, etc.).
+
+If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
+
+For other compilers, you should always use the corresponding debugger: TD for
+a Vim executable compiled with the Borland compiler; gdb (see above
+|debug-gcc|) for the Cygwin and MinGW compilers.
+
+
+Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
+
+First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
+have Visual Studio, follow the instructions in src/INSTALLpc.txt to obtain a
+free copy of Visual C++ 2005 Express Edition.)
+
+On the Tools menu, click Attach to Process. Choose the Vim process.
+
+In Vim, reproduce the crash. A dialog will appear in Visual Studio, telling
+you about the unhandled exception in the Vim process. Click Break to break
+into the process.
+
+Visual Studio will pop up another dialog, telling you that no symbols are
+loaded and that the source code cannot be displayed. Click OK.
+
+Several windows will open. Right-click in the Call Stack window. Choose Load
+Symbols. The Find Symbols dialog will open, looking for (g)vim.pdb. Navigate
+to the directory where you have the PDB file and click Open.
+
+At this point, you should have a full call stack with vim function names and
+line numbers. Double-click one of the lines and the Find Source dialog will
+appear. Navigate to the directory where the Vim source is (if you have it.)
+
+If you don't know how to debug this any further, follow the instructions
+at ":help bug-reports". Paste the call stack into the bug report.
+
+If you have a non-free version of Visual Studio, you can save a minidump via
+the Debug menu and send it with the bug report. A minidump is a small file
+(<100KB), which contains information about the state of your process.
+
+
+Debugging Vim with Debugging Tools ~
+
You can download the Microsoft Visual C++ Toolkit from
http://msdn.microsoft.com/visualc/vctoolkit2003/
This contains the command-line tools, but not the Visual Studio IDE.
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
This includes the WinDbg debugger.
-If you have Visual Studio, use that instead of the VC Toolkit
-and WinDbg.
-
-For other compilers, you should always use the corresponding debugger: TD for
-a Vim executable compiled with the Borland compiler; gdb (see above
-|debug-gcc|) for the Cygwin and MinGW compilers.
=========================================================================
vim:tw=78:ts=8:ft=help:norl:
-*debugger.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*debugger.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur
-*develop.txt* For Vim version 7.0e. Last change: 2006 Mar 09
+*develop.txt* For Vim version 7.0f. Last change: 2006 Mar 09
VIM REFERENCE MANUAL by Bram Moolenaar
-*diff.txt* For Vim version 7.0e. Last change: 2006 Apr 14
+*diff.txt* For Vim version 7.0f. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
-*digraph.txt* For Vim version 7.0e. Last change: 2005 Sep 11
+*digraph.txt* For Vim version 7.0f. Last change: 2005 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
-*editing.txt* For Vim version 7.0e. Last change: 2006 Apr 17
+*editing.txt* For Vim version 7.0f. Last change: 2006 Apr 17
VIM REFERENCE MANUAL by Bram Moolenaar
-*eval.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
:let emptylist = []
An item can be any expression. Using a List for an item creates a
-nested List: >
+List of Lists: >
:let nestlist = [[11, 12], [21, 22], [31, 32]]
An extra comma after the last item is ignored.
:let shortlist = mylist[2:-1] " get List [3, "four"]
Omitting the first index is similar to zero. Omitting the last index is
-similar to -1. The difference is that there is no error if the items are not
-available. >
+similar to -1.
:let endlist = mylist[2:] " from item 2 to the end: [3, "four"]
:let shortlist = mylist[2:2] " List with one item: [3]
:let otherlist = mylist[:] " make a copy of the List
-If the second index is equal to or greater than the length of the list there
-is no error and the length minus one is used: >
+If the first index is beyond the last item of the List or the second item is
+before the first item, the result is an empty list. There is no error
+message.
+
+If the second index is equal to or greater than the length of the list the
+length minus one is used: >
:let mylist = [0, 1, 2, 3]
:echo mylist[2:8] " result: [2, 3]
-The second index can be just before the first index. In that case the result
-is an empty list. If the second index is lower, this results in an error. >
- :echo mylist[2:1] " result: []
- :echo mylist[2:0] " error!
-
NOTE: mylist[s:e] means using the variable "s:e" as index. Watch out for
using a single letter variable before the ":". Insert a space when needed:
mylist[s : e].
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
expand( {expr}) String expand special keywords in {expr}
+feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
filewritable( {file}) Number TRUE if {file} is a writable file
filter( {expr}, {string}) List/Dict remove items from {expr} where
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
pumvisible() Number whether popup menu is visible
-pushkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
Returns {expr1}.
+feedkeys({string} [, {mode}]) *feedkeys()*
+ Characters in {string} are queued for processing as if they
+ come from a mapping or where typed by user. They are added to
+ the end of the typeahead buffer, thus if a mapping is still
+ being executed these characters come after them.
+ The function does not wait for processing of keys contained in
+ {string}.
+ To include special keys into {string}, use double-quotes
+ and "\..." notation |expr-quote|. For example,
+ feedkeys("\<CR>") simulates pressing of the Enter key. But
+ feedkeys('\<CR>') pushes 5 characters.
+ If {mode} is absent, keys are remapped.
+ {mode} is a String, which can contain these character flags:
+ 'm' remap keys. This is default.
+ 'n' do not remap keys
+ 't' handle keys as if typed; otherwise they are handled as
+ if coming from a mapping
+ Return value is always 0.
+
filereadable({file}) *filereadable()*
The result is a Number, which is TRUE when a file with the
name {file} exists, and can be read. If {file} doesn't exist,
Same as match(), but return a |List|. The first item in the
list is the matched string, same as what matchstr() would
return. Following items are submatches, like "\1", "\2", etc.
- in |:substitute|.
+ in |:substitute|. When an optional submatch didn't match an
+ empty string is used. Example: >
+ echo matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)')
+< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
When there is no match an empty list is returned.
matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
This can be used to avoid some things that would remove the
popup menu.
-pushkeys({string} [, {mode}]) *pushkeys()*
- Characters in {string} are queued for processing as if they
- were typed by user. They are added to the end of the
- typeahead buffer, thus if a mapping is still being executed
- these characters come after them.
- The function does not wait for processing of keys contained in
- {string}.
- To include special keys into {string}, use double-quotes
- and "\..." notation |expr-quote|. For example,
- pushkeys("\<CR>") simulates pressing of the Enter key. But
- pushkeys('\<CR>') pushes 5 characters.
- If {mode} is absent, keys are remapped.
- {mode} is a String, which can contain these character flags:
- 'm' remap keys. This is default.
- 'n' do not remap keys
- Return value is always 0.
-
*E726* *E727*
range({expr} [, {max} [, {stride}]]) *range()*
Returns a |List| with Numbers:
-*farsi.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*farsi.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
-*filetype.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*filetype.txt* For Vim version 7.0f. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*fold.txt* For Vim version 7.0e. Last change: 2006 Mar 29
+*fold.txt* For Vim version 7.0f. Last change: 2006 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*getscript.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*getscript.txt* For Vim version 7.0f. Last change: 2006 Mar 24
Get the Latest VimScripts
-*gui.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*gui.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar
-*gui_w16.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*gui_w16.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*gui_w32.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*gui_w32.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*gui_x11.txt* For Vim version 7.0e. Last change: 2005 Dec 06
+*gui_x11.txt* For Vim version 7.0f. Last change: 2005 Dec 06
VIM REFERENCE MANUAL by Bram Moolenaar
-*hangulin.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*hangulin.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
-*hebrew.txt* For Vim version 7.0e. Last change: 2003 May 11
+*hebrew.txt* For Vim version 7.0f. Last change: 2003 May 11
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
-*help.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*help.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM - main help file
k
-*howto.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*howto.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar
-*if_cscop.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*if_cscop.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Andy Kahn
-*if_mzsch.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_mzsch.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Sergey Khorev
-*if_ole.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_ole.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Paul Moore
-*if_perl.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_perl.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Sven Verdoolaege
-*if_pyth.txt* For Vim version 7.0e. Last change: 2006 Jan 20
+*if_pyth.txt* For Vim version 7.0f. Last change: 2006 Jan 20
VIM REFERENCE MANUAL by Paul Moore
-*if_ruby.txt* For Vim version 7.0e. Last change: 2006 Mar 26
+*if_ruby.txt* For Vim version 7.0f. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Shugo Maeda
-*if_sniff.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*if_sniff.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL
-*if_tcl.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_tcl.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Ingo Wilken
-*indent.txt* For Vim version 7.0e. Last change: 2006 Apr 16
+*indent.txt* For Vim version 7.0f. Last change: 2006 Apr 16
VIM REFERENCE MANUAL by Bram Moolenaar
-*index.txt* For Vim version 7.0e. Last change: 2006 Apr 10
+*index.txt* For Vim version 7.0f. Last change: 2006 Apr 10
VIM REFERENCE MANUAL by Bram Moolenaar
-*insert.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
-*intro.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*intro.txt* For Vim version 7.0f. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
-*map.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*map.txt* For Vim version 7.0f. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
-*mbyte.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*mbyte.txt* For Vim version 7.0f. Last change: 2006 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
-*message.txt* For Vim version 7.0e. Last change: 2006 Apr 11
+*message.txt* For Vim version 7.0f. Last change: 2006 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
-*mlang.txt* For Vim version 7.0e. Last change: 2004 Feb 24
+*mlang.txt* For Vim version 7.0f. Last change: 2004 Feb 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*motion.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*motion.txt* For Vim version 7.0f. Last change: 2006 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
-*netbeans.txt* For Vim version 7.0e. Last change: 2006 Mar 09
+*netbeans.txt* For Vim version 7.0f. Last change: 2006 Mar 09
VIM REFERENCE MANUAL by Gordon Prieur
-*options.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*options.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
Note that using the "-u NONE" and "--noplugin" command line arguments
reset this option. |-u| |--noplugin|
+ *'macatsui'* *'nomacatsui'*
+'macatsui' boolean (default on)
+ global
+ {only available in Mac GUI version}
+ This is a workaround for when drawing doesn't work properly. When set
+ and compiled with multi-byte support ATSUI text drawing is used. When
+ not set ATSUI text drawing is not used. Switch this option off when
+ you experience drawing problems. In a future version the problems may
+ be solved and this option becomes obsolete. Therefore use this method
+ to unset it: >
+ if exists('&macatsui')
+ set nomacatsui
+ endif
+<
*'magic'* *'nomagic'*
'magic' boolean (default on)
global
-*os_390.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_390.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Ralf Schandl
-*os_amiga.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_amiga.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*os_beos.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_beos.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*os_dos.txt* For Vim version 7.0e. Last change: 2006 Mar 30
+*os_dos.txt* For Vim version 7.0f. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar
-*os_mac.txt* For Vim version 7.0e. Last change: 2006 Mar 29
+*os_mac.txt* For Vim version 7.0f. Last change: 2006 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar et al.
-*os_mint.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_mint.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff
-*os_msdos.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_msdos.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*os_os2.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_os2.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Paul Slootman
-*os_qnx.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_qnx.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Julian Kinraid
-*os_risc.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_risc.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Thomas Leonard
-*os_unix.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_unix.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*os_vms.txt* For Vim version 7.0e. Last change: 2006 Mar 02
+*os_vms.txt* For Vim version 7.0f. Last change: 2006 Mar 02
VIM REFERENCE MANUAL
-*os_win32.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*os_win32.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by George Reilly
-*pattern.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pattern.txt* For Vim version 7.0f. Last change: 2006 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
-*pi_gzip.txt* For Vim version 7.0e. Last change: 2002 Oct 29
+*pi_gzip.txt* For Vim version 7.0f. Last change: 2002 Oct 29
VIM REFERENCE MANUAL by Bram Moolenaar
-*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 22, 2006
+*pi_netrw.txt* For Vim version 7.0f. Last change: Apr 22, 2006
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
-*pi_paren.txt* For Vim version 7.0e. Last change: 2006 Apr 03
+*pi_paren.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*pi_spec.txt* For Vim version 7.0e. Last change: 2005 Oct 03
+*pi_spec.txt* For Vim version 7.0f. Last change: 2006 Apr 24
by Gustavo Niemeyer ~
-*pi_tar.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pi_tar.txt* For Vim version 7.0f. Last change: 2006 Apr 24
+====================+
| Tar File Interface |
-*pi_zip.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pi_zip.txt* For Vim version 7.0f. Last change: 2006 Apr 24
+====================+
| Zip File Interface |
-*print.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*print.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*quickfix.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*quickfix.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*quickref.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*quickref.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
'list' show <Tab> and <EOL>
'listchars' 'lcs' characters for displaying in list mode
'loadplugins' 'lpl' load plugin scripts when starting up
+'macatsui' Mac GUI: use ATSUI text drawing
'magic' changes special characters in search patterns
'makeef' 'mef' name of the errorfile for ":make"
'makeprg' 'mp' program to use for the ":make" command
-*quotes.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*quotes.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*recover.txt* For Vim version 7.0e. Last change: 2005 Dec 12
+*recover.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*remote.txt* For Vim version 7.0e. Last change: 2006 Mar 11
+*remote.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*repeat.txt* For Vim version 7.0e. Last change: 2006 Mar 21
+*repeat.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*rileft.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*rileft.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Avner Lottem
-*russian.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*russian.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Vassily Ragosin
-*scroll.txt* For Vim version 7.0e. Last change: 2005 Dec 16
+*scroll.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*sign.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*sign.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur
-*spell.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*spell.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
If the 'mousemodel' option is set to "popup" and the cursor is on a badly
spelled word or it is "popup_setpos" and the mouse pointer is on a badly
spelled word, then the popup menu will contain a submenu to replace the bad
-word. Note: this slows down the appearance of the popup menu.
+word. Note: this slows down the appearance of the popup menu. Note for GTK:
+don't release the right mouse button until the menu appears, otherwise it
+won't work.
To search for the next misspelled word:
matters what the current locale is when generating it! A .add.spl file does
not contain a word table though.
-A word that starts with a digit is always ignored. That includes hex numbers
-in the form 0xff and 0XFF.
+For a word that starts with a digit the digit is ignored, unless the word as a
+whole is recognized. Thus if "3D" is a word and "D" is not then "3D" is
+recognized as a word, but if "3D" is not a word then only the "D" is marked as
+bad. Hex numbers in the form 0x12ab and 0X12AB are recognized.
WORD COMBINATIONS
-*sponsor.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*sponsor.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*sql.txt* For Vim version 7.0e. Last change: Fri Apr 21 2006 10:39:11 PM
+*sql.txt* For Vim version 7.0f. Last change: Fri Apr 21 2006 10:39:11 PM
by David Fishburn
-*starting.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*starting.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*syntax.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*syntax.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will
become a fold. If you don't want comments to become a fold use: >
:let c_no_comment_fold = 1
+"#if 0" blocks are also folded, unless: >
+ :let c_no_if0_fold = 1
If you notice highlighting errors while scrolling backwards, which are fixed
when redrawing with CTRL-L, try setting the "c_minlines" internal variable
-*tabpage.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*tabpage.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
'lw' options.txt /*'lw'*
'lz' options.txt /*'lz'*
'ma' options.txt /*'ma'*
+'macatsui' options.txt /*'macatsui'*
'magic' options.txt /*'magic'*
'makeef' options.txt /*'makeef'*
'makeprg' options.txt /*'makeprg'*
'nolpl' options.txt /*'nolpl'*
'nolz' options.txt /*'nolz'*
'noma' options.txt /*'noma'*
+'nomacatsui' options.txt /*'nomacatsui'*
'nomagic' options.txt /*'nomagic'*
'nomh' options.txt /*'nomh'*
'noml' options.txt /*'noml'*
fcs_choice-variable eval.txt /*fcs_choice-variable*
fcs_reason-variable eval.txt /*fcs_reason-variable*
feature-list eval.txt /*feature-list*
+feedkeys() eval.txt /*feedkeys()*
fetch pi_netrw.txt /*fetch*
file-browser-5.2 version5.txt /*file-browser-5.2*
file-formats editing.txt /*file-formats*
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*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
pumvisible() eval.txt /*pumvisible()*
-pushkeys() eval.txt /*pushkeys()*
put change.txt /*put*
put-Visual-mode change.txt /*put-Visual-mode*
python if_pyth.txt /*python*
-*tagsrch.txt* For Vim version 7.0e. Last change: 2006 Feb 24
+*tagsrch.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*term.txt* For Vim version 7.0e. Last change: 2006 Feb 14
+*term.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*tips.txt* For Vim version 7.0e. Last change: 2006 Mar 01
+*tips.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*todo.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Omit errors for slicing?
-
-When there is only one match and "longest" used then CTRL-X CTRL-N shows
-original match instead of longest. (Nicolas Schodet)
-
-Line completion on "/**" gives error messages. (Nicolas Schodet)
-
-Crash in "z=" when the change triggers checking out the file, FileChangedRO
-event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird)
-Added a few checks for valid buffer, did that help?
-
Add more tests for all new functionality in Vim 7. Especially new functions.
-Win32: Describe how to do debugging. (George Reilly)
-
-Mac unicode patch (Da Woon Jung, Eckehard Berns):
-8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
- New patch 2004 Jun 16
-- selecting proportional font breaks display
-- UTF-8 text causes display problems. Font replacement causes this.
-- Command-key mappings do not work. (Alan Schmitt)
-- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
- (Alan Schmitt)
-
Darren Hiebert is including the patch for omni completion in ctags. A new
version still isn't available for download.
Awaiting updated patches:
+9 Mac unicode patch (Da Woon Jung, Eckehard Berns):
+ 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
+ New patch 2004 Jun 16
+ - selecting proportional font breaks display
+ - UTF-8 text causes display problems. Font replacement causes this.
+ - Command-key mappings do not work. (Alan Schmitt)
+ - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
+ (Alan Schmitt)
+ - remove 'macatsui' option when this has been fixed.
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
be used instead?
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
-*uganda.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*uganda.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*undo.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*undo.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*usr_01.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_01.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_02.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_02.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_03.txt* For Vim version 7.0e. Last change: 2005 Apr 22
+*usr_03.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_04.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_04.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_05.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_05.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_06.txt* For Vim version 7.0e. Last change: 2006 Feb 16
+*usr_06.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_07.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_07.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_08.txt* For Vim version 7.0e. Last change: 2006 Feb 25
+*usr_08.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_09.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_09.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_10.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_10.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_11.txt* For Vim version 7.0e. Last change: 2005 Jun 09
+*usr_11.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_12.txt* For Vim version 7.0e. Last change: 2006 Feb 26
+*usr_12.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_20.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_20.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_21.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_21.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_22.txt* For Vim version 7.0e. Last change: 2005 Apr 10
+*usr_22.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_23.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_23.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_24.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_24.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_25.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_25.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_26.txt* For Vim version 7.0e. Last change: 2002 Oct 29
+*usr_26.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_27.txt* For Vim version 7.0e. Last change: 2005 Feb 08
+*usr_27.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_28.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_28.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_29.txt* For Vim version 7.0e. Last change: 2004 Feb 12
+*usr_29.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_30.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_30.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_31.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_31.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_32.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_32.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_40.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_40.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_41.txt* For Vim version 7.0e. Last change: 2006 Apr 15
+*usr_41.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_42.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_42.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_43.txt* For Vim version 7.0e. Last change: 2002 Jul 14
+*usr_43.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_44.txt* For Vim version 7.0e. Last change: 2006 Apr 18
+*usr_44.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_45.txt* For Vim version 7.0e. Last change: 2004 Jun 08
+*usr_45.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_90.txt* For Vim version 7.0e. Last change: 2004 Mar 21
+*usr_90.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*usr_toc.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_toc.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
-*various.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*various.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*version4.txt* For Vim version 7.0e. Last change: 2004 Mar 12
+*version4.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*version5.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*version5.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*version6.txt* For Vim version 7.0e. Last change: 2005 Oct 17
+*version6.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*version7.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
|eval()| evaluate {string} and return the result
|extend()| append one List to another or add items from one
Dictionary to another
+|feedkeys()| put characters in the typeahead buffer
|filter()| remove selected items from a List or Dictionary
|finddir()| find a directory in 'path'
|findfile()| find a file in 'path' (Johannes Zellner)
|mkdir()| create a directory
|printf()| format text
|pumvisible()| check whether the popup menu is displayed
-|pushkeys()| put characters in the typeahead buffer
|range()| generate a List with numbers
|readfile()| read a file into a list of lines
|reltime()| get time value, possibly relative
Mac: GUI font selector. (Peter Cucka)
Mac: support for multi-byte characters. (Da Woon Jung)
+This doesn't always work properly. If you see text drawing problems try
+switching the 'macatsui' option off.
Mac: Support the xterm mouse in the non-GUI version.
Spell checking: spellbadword() didn't see a missing capital in the first word
of a line. Popup menu now only suggest the capitalized word when appropriate.
-When using whole line completion CTRL-L moves throught the matches but it
+When using whole line completion CTRL-L moves through the matches but it
didn't work when at the original text.
When completion finds the longest match, don't go to the first match but stick
When showing menus the mode character was sometimes wrong.
-Added pushkeys(). (Yakov Lerner)
+Added feedkeys(). (Yakov Lerner)
+
+Made matchlist() always return all submatches.
+
+Moved triggering QuickFixCmdPost to before jumping to the first location.
+
+Mac: Added the 'macatsui' option as a temporary work around for text drawing
+problems.
+
+Line completion on "/**" gave error messages when scanning an unloaded buffer.
vim:tw=78:ts=8:ft=help:norl:
-*vi_diff.txt* For Vim version 7.0e. Last change: 2006 Apr 12
+*vi_diff.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*vimball.txt* For Vim version 7.0e. Last change: 2006 Apr 01
+*vimball.txt* For Vim version 7.0f. Last change: 2006 Apr 24
Vimball Archiver
-*visual.txt* For Vim version 7.0e. Last change: 2006 Mar 20
+*visual.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*windows.txt* For Vim version 7.0e. Last change: 2006 Apr 10
+*windows.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
-*workshop.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*workshop.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 21
+" Last Change: 2006 Apr 24
" If there already is an option window, jump to that one.
if bufwinnr("option-window") > 0
call append("$", " \tset tpm=" . &tpm)
call append("$", "tabline\tcustom tab pages line")
call <SID>OptionG("tal", &tal)
-call append("$", "guitablabel\tcustom tab page label for the GUI")
-call <SID>OptionG("gtl", >l)
-call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
-call <SID>OptionG("gtt", >t)
+if has("gui")
+ call append("$", "guitablabel\tcustom tab page label for the GUI")
+ call <SID>OptionG("gtl", >l)
+ call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
+ call <SID>OptionG("gtt", >t)
+endif
call <SID>Header("terminal")
call append("$", " \tset bexpr=" . &bexpr)
endif
endif
+ if exists("&macatsui")
+ call append("$", "macatsui\tuse ATSUI text drawing; disable to avoid display problems")
+ call <SID>OptionG("macatsui", &macatsui)
+ endif
endif
if has("printer")
an 50.20.210 &Syntax.C.ChangeLog :cal SetSyn("changelog")<CR>
an 50.20.220 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah")<CR>
an 50.20.230 &Syntax.C.CHILL :cal SetSyn("chill")<CR>
-an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean")<CR>
-an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl")<CR>
-an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper")<CR>
-an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake")<CR>
-an 50.20.280 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
-an 50.20.290 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
-an 50.20.300 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
-an 50.20.310 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
-an 50.20.320 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
-an 50.20.330 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
-an 50.20.340 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
-an 50.20.350 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
-an 50.20.360 &Syntax.C.CSP :cal SetSyn("csp")<CR>
-an 50.20.370 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
-an 50.20.380 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
-an 50.20.390 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
-an 50.20.400 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
+an 50.20.240 &Syntax.C.ChordPro :cal SetSyn("chordpro")<CR>
+an 50.20.250 &Syntax.C.Clean :cal SetSyn("clean")<CR>
+an 50.20.260 &Syntax.C.Clever :cal SetSyn("cl")<CR>
+an 50.20.270 &Syntax.C.Clipper :cal SetSyn("clipper")<CR>
+an 50.20.280 &Syntax.C.Cmake :cal SetSyn("cmake")<CR>
+an 50.20.290 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
+an 50.20.300 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
+an 50.20.310 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
+an 50.20.320 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
+an 50.20.330 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
+an 50.20.340 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
+an 50.20.350 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
+an 50.20.360 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
+an 50.20.370 &Syntax.C.CSP :cal SetSyn("csp")<CR>
+an 50.20.380 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
+an 50.20.390 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
+an 50.20.400 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
+an 50.20.410 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR>
an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR>
an 50.110.370 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
an 50.110.380 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb")<CR>
an 50.110.400 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR>
-an 50.110.410 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
-an 50.110.420 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
-an 50.110.430 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
-an 50.110.440 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
-an 50.110.450 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
-an 50.110.460 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
-an 50.110.470 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
-an 50.110.480 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
-an 50.110.490 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
-an 50.110.500 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
-an 50.110.510 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
+an 50.110.410 &Syntax.TUV.Vera :cal SetSyn("vera")<CR>
+an 50.110.420 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
+an 50.110.430 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
+an 50.110.440 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
+an 50.110.450 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
+an 50.110.460 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
+an 50.110.470 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
+an 50.110.480 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
+an 50.110.490 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
+an 50.110.500 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
+an 50.110.510 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
+an 50.110.520 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb")<CR>
an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web")<CR>
an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change")<CR>
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 12
+" Last Change: 2006 Apr 24
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
- syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
+ if !exists("c_no_if0_fold")
+ syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 fold
+ else
+ syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
+ endif
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
endif
" Vim syntax file
" Language: Mutt setup files
-" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Contributor: Gary Johnson <garyjohn@spk.agilent.com>
-" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
-" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/muttrc.vim?op=file&rev=0&sc=0
-"
-" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
-" it only because patches have been submitted for it by Debian users and the
-" former maintainer was MIA (Missing In Action), taking over its
-" maintenance was thus the only way to include those patches.
-" If you care about this file, and have time to maintain it please do so!
-
-" XXX outdated comment
-" This file covers mutt version 1.4.2.1i
+" Original: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Maintainer: Kyle Wheeler <kyle-muttrc.vim@memoryhole.net>
+" Last Change: 22 Apr 2006
+
+" This file covers mutt version 1.5.11
+" Included are also a few features from 1.4.2.1
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
syn match muttrcEscape +[`|]+
" The variables takes the following arguments
-syn match muttrcString "=\s*[^ #"']\+"lc=1 contains=muttrcEscape
-syn region muttrcString start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand
-syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand
+syn match muttrcString "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape
+syn region muttrcString start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction
+syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction
+
+syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcSet
+
+syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1
+syn match muttrcRXChars contained /[][|()][.*?+]*/
+syn match muttrcRXChars contained /'^/ms=s+1
+syn match muttrcRXChars contained /$'/me=e-1
+syn match muttrcRXChars contained /\\/
+syn region muttrcRXString contained start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars
+syn region muttrcRXString contained start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars
+
+syn region muttrcRXPat contained start=+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat
+syn region muttrcRXPat contained start=+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat
+syn match muttrcRXPat contained /[^-'"#!]\S\+\%(\s\|$\)/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat
+syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat
syn match muttrcSpecial +\(['"]\)!\1+
syn match muttrcNumber /=\s*\d\+/lc=1
syn match muttrcNumber /=\s*"\d\+"/lc=1
syn match muttrcNumber /=\s*'\d\+'/lc=1
-syn match muttrcQuadopt +=\s*\(ask-\)\=\(yes\|no\)+lc=1
-syn match muttrcQuadopt +=\s*"\(ask-\)\=\(yes\|no\)"+lc=1
-syn match muttrcQuadopt +=\s*'\(ask-\)\=\(yes\|no\)'+lc=1
+syn match muttrcQuadopt +=\s*\%(ask-\)\=\%(yes\|no\)+lc=1
+syn match muttrcQuadopt +=\s*"\%(ask-\)\=\%(yes\|no\)"+lc=1
+syn match muttrcQuadopt +=\s*'\%(ask-\)\=\%(yes\|no\)'+lc=1
" Now catch some email addresses and headers (purified version from mail.vim)
syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"
-syn match muttrcHeader "\<\(From\|To\|Cc\|Bcc\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
+syn match muttrcHeader "\<\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
-syn match muttrcKeySpecial contained +\(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
-syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial
-syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial
-syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial
-syn match muttrcKeyName contained "\<f\(\d\|10\)\>"
+syn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
+syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName
+syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName
+syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName
+syn match muttrcKeyName contained "\<f\%(\d\|10\)\>"
syn match muttrcKeyName contained "\\[trne]"
-syn match muttrcKeyName contained "<\(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
-
-syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split
-syn keyword muttrcVarBool contained auto_tag autoedit beep beep_new bounce_delivered check_new collapse_unread
-syn keyword muttrcVarBool contained confirmappend confirmcreate delete_untag digest_collapse duplicate_threads
-syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply fcc_attach
-syn keyword muttrcVarBool contained fcc_clear followup_to force_name forw_decode forw_decrypt forw_quote
-syn keyword muttrcVarBool contained forward_decode forward_decrypt forward_quote hdrs header help hidden_host
-syn keyword muttrcVarBool contained hide_limited hide_missing hide_top_limited hide_top_missing ignore_list_reply_to
-syn keyword muttrcVarBool contained imap_force_ssl imap_list_subscribed imap_passive imap_peek imap_servernoise
-syn keyword muttrcVarBool contained implicit_autoview keep_flagged mailcap_sanitize maildir_trash mark_old markers
-syn keyword muttrcVarBool contained menu_scroll meta_key metoo mh_purge mime_forward_decode pager_stop pgp_autoencrypt
-syn keyword muttrcVarBool contained pgp_autosign pgp_ignore_subkeys pgp_long_ids pgp_replyencrypt pgp_replysign
-syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable pgp_strict_enc
-syn keyword muttrcVarBool contained pipe_decode pipe_split pop_auth_try_all pop_last print_decode print_split
-syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias reverse_name
-syn keyword muttrcVarBool contained reverse_realname rfc2047_parameters save_address save_empty save_name score
-syn keyword muttrcVarBool contained sig_dashes sig_on_top smart_wrap sort_re ssl_use_sslv2 ssl_use_sslv3 ssl_use_tlsv1
-syn keyword muttrcVarBool contained ssl_usesystemcerts status_on_top strict_threads suspend text_flowed thorough_search
-syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime use_domain use_from use_ipv6
+syn match muttrcKeyName contained "\c<\%(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
+
+syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc
+syn keyword muttrcVarBool contained askcc attach_split auto_tag autoedit beep beep_new
+syn keyword muttrcVarBool contained bounce_delivered braille_friendly check_new collapse_unread
+syn keyword muttrcVarBool contained confirmappend confirmcreate crypt_autoencrypt crypt_autopgp
+syn keyword muttrcVarBool contained crypt_autosign crypt_autosmime crypt_replyencrypt
+syn keyword muttrcVarBool contained crypt_replysign crypt_replysignencrypted crypt_timestamp
+syn keyword muttrcVarBool contained crypt_use_gpgme delete_untag digest_collapse duplicate_threads
+syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply
+syn keyword muttrcVarBool contained fcc_attach fcc_clear followup_to force_name forw_decode
+syn keyword muttrcVarBool contained forw_decrypt forw_quote forward_decode forward_decrypt
+syn keyword muttrcVarBool contained forward_quote hdrs header help hidden_host hide_limited
+syn keyword muttrcVarBool contained hide_missing hide_thread_subject hide_top_limited
+syn keyword muttrcVarBool contained hide_top_missing ignore_list_reply_to imap_check_subscribed
+syn keyword muttrcVarBool contained imap_list_subscribed imap_passive imap_peek imap_servernoise
+syn keyword muttrcVarBool contained implicit_autoview include_onlyfirst keep_flagged
+syn keyword muttrcVarBool contained mailcap_sanitize maildir_header_cache_verify maildir_trash
+syn keyword muttrcVarBool contained mark_old markers menu_move_off menu_scroll meta_key
+syn keyword muttrcVarBool contained metoo mh_purge mime_forward_decode narrow_tree pager_stop
+syn keyword muttrcVarBool contained pgp_auto_decode pgp_auto_traditional pgp_autoencrypt
+syn keyword muttrcVarBool contained pgp_autoinline pgp_autosign pgp_check_exit
+syn keyword muttrcVarBool contained pgp_create_traditional pgp_ignore_subkeys pgp_long_ids
+syn keyword muttrcVarBool contained pgp_replyencrypt pgp_replyinline pgp_replysign
+syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable
+syn keyword muttrcVarBool contained pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split
+syn keyword muttrcVarBool contained pop_auth_try_all pop_last print_decode print_split
+syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias
+syn keyword muttrcVarBool contained reverse_name reverse_realname rfc2047_parameters save_address
+syn keyword muttrcVarBool contained save_empty save_name score sig_dashes sig_on_top
+syn keyword muttrcVarBool contained smart_wrap smime_ask_cert_label smime_decrypt_use_default_key
+syn keyword muttrcVarBool contained smime_is_default sort_re ssl_force_tls ssl_use_sslv2
+syn keyword muttrcVarBool contained ssl_use_sslv3 ssl_use_tlsv1 ssl_usesystemcerts status_on_top
+syn keyword muttrcVarBool contained strict_threads suspend text_flowed thorough_search
+syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime
+syn keyword muttrcVarBool contained use_domain use_envelope_from use_from use_idn use_ipv6
syn keyword muttrcVarBool contained user_agent wait_key weed wrap_search write_bcc
-syn keyword muttrcVarBool contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc noaskcc
-syn keyword muttrcVarBool contained noattach_split noauto_tag noautoedit nobeep nobeep_new nobounce_delivered
-syn keyword muttrcVarBool contained nocheck_new nocollapse_unread noconfirmappend noconfirmcreate nodelete_untag
-syn keyword muttrcVarBool contained nodigest_collapse noduplicate_threads noedit_hdrs noedit_headers noencode_from
-syn keyword muttrcVarBool contained noenvelope_from nofast_reply nofcc_attach nofcc_clear nofollowup_to noforce_name
-syn keyword muttrcVarBool contained noforw_decode noforw_decrypt noforw_quote noforward_decode noforward_decrypt
-syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nohide_missing
-syn keyword muttrcVarBool contained nohide_top_limited nohide_top_missing noignore_list_reply_to noimap_force_ssl
+syn keyword muttrcVarBool contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc
+syn keyword muttrcVarBool contained noaskcc noattach_split noauto_tag noautoedit nobeep nobeep_new
+syn keyword muttrcVarBool contained nobounce_delivered nobraille_friendly nocheck_new nocollapse_unread
+syn keyword muttrcVarBool contained noconfirmappend noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp
+syn keyword muttrcVarBool contained nocrypt_autosign nocrypt_autosmime nocrypt_replyencrypt
+syn keyword muttrcVarBool contained nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp
+syn keyword muttrcVarBool contained nocrypt_use_gpgme nodelete_untag nodigest_collapse noduplicate_threads
+syn keyword muttrcVarBool contained noedit_hdrs noedit_headers noencode_from noenvelope_from nofast_reply
+syn keyword muttrcVarBool contained nofcc_attach nofcc_clear nofollowup_to noforce_name noforw_decode
+syn keyword muttrcVarBool contained noforw_decrypt noforw_quote noforward_decode noforward_decrypt
+syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited
+syn keyword muttrcVarBool contained nohide_missing nohide_thread_subject nohide_top_limited
+syn keyword muttrcVarBool contained nohide_top_missing noignore_list_reply_to noimap_check_subscribed
syn keyword muttrcVarBool contained noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise
-syn keyword muttrcVarBool contained noimplicit_autoview nokeep_flagged nomailcap_sanitize nomaildir_trash nomark_old
-syn keyword muttrcVarBool contained nomarkers nomenu_scroll nometa_key nometoo nomh_purge nomime_forward_decode
-syn keyword muttrcVarBool contained nopager_stop nopgp_autoencrypt nopgp_autosign nopgp_ignore_subkeys nopgp_long_ids
-syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replysign nopgp_replysignencrypted nopgp_retainable_sigs
-syn keyword muttrcVarBool contained nopgp_show_unusable nopgp_strict_enc nopipe_decode nopipe_split nopop_auth_try_all
-syn keyword muttrcVarBool contained nopop_last noprint_decode noprint_split noprompt_after noread_only noreply_self
-syn keyword muttrcVarBool contained noresolve noreverse_alias noreverse_name noreverse_realname norfc2047_parameters
-syn keyword muttrcVarBool contained nosave_address nosave_empty nosave_name noscore nosig_dashes nosig_on_top
-syn keyword muttrcVarBool contained nosmart_wrap nosort_re nossl_use_sslv2 nossl_use_sslv3 nossl_use_tlsv1
-syn keyword muttrcVarBool contained nossl_usesystemcerts nostatus_on_top nostrict_threads nosuspend notext_flowed
-syn keyword muttrcVarBool contained nothorough_search nothread_received notilde nouncollapse_jump nouse_8bitmime
-syn keyword muttrcVarBool contained nouse_domain nouse_from nouse_ipv6 nouser_agent nowait_key noweed nowrap_search
-syn keyword muttrcVarBool contained nowrite_bcc
-
-syn keyword muttrcVarBool contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc invaskcc
-syn keyword muttrcVarBool contained invattach_split invauto_tag invautoedit invbeep invbeep_new invbounce_delivered
-syn keyword muttrcVarBool contained invcheck_new invcollapse_unread invconfirmappend invconfirmcreate invdelete_untag
-syn keyword muttrcVarBool contained invdigest_collapse invduplicate_threads invedit_hdrs invedit_headers invencode_from
-syn keyword muttrcVarBool contained invenvelope_from invfast_reply invfcc_attach invfcc_clear invfollowup_to invforce_name
-syn keyword muttrcVarBool contained invforw_decode invforw_decrypt invforw_quote invforward_decode invforward_decrypt
+syn keyword muttrcVarBool contained noimplicit_autoview noinclude_onlyfirst nokeep_flagged
+syn keyword muttrcVarBool contained nomailcap_sanitize nomaildir_header_cache_verify nomaildir_trash
+syn keyword muttrcVarBool contained nomark_old nomarkers nomenu_move_off nomenu_scroll nometa_key
+syn keyword muttrcVarBool contained nometoo nomh_purge nomime_forward_decode nonarrow_tree nopager_stop
+syn keyword muttrcVarBool contained nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt
+syn keyword muttrcVarBool contained nopgp_autoinline nopgp_autosign nopgp_check_exit
+syn keyword muttrcVarBool contained nopgp_create_traditional nopgp_ignore_subkeys nopgp_long_ids
+syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replyinline nopgp_replysign
+syn keyword muttrcVarBool contained nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable
+syn keyword muttrcVarBool contained nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split
+syn keyword muttrcVarBool contained nopop_auth_try_all nopop_last noprint_decode noprint_split
+syn keyword muttrcVarBool contained noprompt_after noread_only noreply_self noresolve noreverse_alias
+syn keyword muttrcVarBool contained noreverse_name noreverse_realname norfc2047_parameters nosave_address
+syn keyword muttrcVarBool contained nosave_empty nosave_name noscore nosig_dashes nosig_on_top
+syn keyword muttrcVarBool contained nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key
+syn keyword muttrcVarBool contained nosmime_is_default nosort_re nossl_force_tls nossl_use_sslv2
+syn keyword muttrcVarBool contained nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts nostatus_on_top
+syn keyword muttrcVarBool contained nostrict_threads nosuspend notext_flowed nothorough_search
+syn keyword muttrcVarBool contained nothread_received notilde nouncollapse_jump nouse_8bitmime
+syn keyword muttrcVarBool contained nouse_domain nouse_envelope_from nouse_from nouse_idn nouse_ipv6
+syn keyword muttrcVarBool contained nouser_agent nowait_key noweed nowrap_search nowrite_bcc
+
+syn keyword muttrcVarBool contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc
+syn keyword muttrcVarBool contained invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new
+syn keyword muttrcVarBool contained invbounce_delivered invbraille_friendly invcheck_new invcollapse_unread
+syn keyword muttrcVarBool contained invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp
+syn keyword muttrcVarBool contained invcrypt_autosign invcrypt_autosmime invcrypt_replyencrypt
+syn keyword muttrcVarBool contained invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp
+syn keyword muttrcVarBool contained invcrypt_use_gpgme invdelete_untag invdigest_collapse invduplicate_threads
+syn keyword muttrcVarBool contained invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply
+syn keyword muttrcVarBool contained invfcc_attach invfcc_clear invfollowup_to invforce_name invforw_decode
+syn keyword muttrcVarBool contained invforw_decrypt invforw_quote invforward_decode invforward_decrypt
syn keyword muttrcVarBool contained invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited
-syn keyword muttrcVarBool contained invhide_missing invhide_top_limited invhide_top_missing invignore_list_reply_to
-syn keyword muttrcVarBool contained invimap_force_ssl invimap_list_subscribed invimap_passive invimap_peek
-syn keyword muttrcVarBool contained invimap_servernoise invimplicit_autoview invkeep_flagged invmailcap_sanitize
-syn keyword muttrcVarBool contained invmaildir_trash invmark_old invmarkers invmenu_scroll invmeta_key invmetoo
-syn keyword muttrcVarBool contained invmh_purge invmime_forward_decode invpager_stop invpgp_autoencrypt invpgp_autosign
-syn keyword muttrcVarBool contained invpgp_ignore_subkeys invpgp_long_ids invpgp_replyencrypt invpgp_replysign
-syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable invpgp_strict_enc
-syn keyword muttrcVarBool contained invpipe_decode invpipe_split invpop_auth_try_all invpop_last invprint_decode
-syn keyword muttrcVarBool contained invprint_split invprompt_after invread_only invreply_self invresolve invreverse_alias
-syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address invsave_empty
-syn keyword muttrcVarBool contained invsave_name invscore invsig_dashes invsig_on_top invsmart_wrap invsort_re
-syn keyword muttrcVarBool contained invssl_use_sslv2 invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts
-syn keyword muttrcVarBool contained invstatus_on_top invstrict_threads invsuspend invtext_flowed invthorough_search
-syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime invuse_domain invuse_from
-syn keyword muttrcVarBool contained invuse_ipv6 invuser_agent invwait_key invweed invwrap_search invwrite_bcc
-syn keyword muttrcVarBool contained crypt_autosign crypt_autoencrypt xterm_set_titles
-syn keyword muttrcVarBool contained maildir_header_cache_verify
-
-syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified copy delete honor_followup_to include mime_forward
-syn keyword muttrcVarQuad contained mime_forward_rest mime_fwd move pgp_create_traditional pgp_verify_sig pop_delete
-syn keyword muttrcVarQuad contained pop_reconnect postpone print quit recall reply_to ssl_starttls
-
-syn keyword muttrcVarQuad contained noabort_nosubject noabort_unmodified nocopy nodelete nohonor_followup_to
-syn keyword muttrcVarQuad contained noinclude nomime_forward nocontained nomime_forward_rest nomime_fwd nomove
-syn keyword muttrcVarQuad contained nopgp_create_traditional nopgp_verify_sig nopop_delete nopop_reconnect
+syn keyword muttrcVarBool contained invhide_missing invhide_thread_subject invhide_top_limited
+syn keyword muttrcVarBool contained invhide_top_missing invignore_list_reply_to invimap_check_subscribed
+syn keyword muttrcVarBool contained invimap_list_subscribed invimap_passive invimap_peek invimap_servernoise
+syn keyword muttrcVarBool contained invimplicit_autoview invinclude_onlyfirst invkeep_flagged
+syn keyword muttrcVarBool contained invmailcap_sanitize invmaildir_header_cache_verify invmaildir_trash
+syn keyword muttrcVarBool contained invmark_old invmarkers invmenu_move_off invmenu_scroll invmeta_key
+syn keyword muttrcVarBool contained invmetoo invmh_purge invmime_forward_decode invnarrow_tree invpager_stop
+syn keyword muttrcVarBool contained invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt
+syn keyword muttrcVarBool contained invpgp_autoinline invpgp_autosign invpgp_check_exit
+syn keyword muttrcVarBool contained invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids
+syn keyword muttrcVarBool contained invpgp_replyencrypt invpgp_replyinline invpgp_replysign
+syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable
+syn keyword muttrcVarBool contained invpgp_strict_enc invpgp_use_gpg_agent invpipe_decode invpipe_split
+syn keyword muttrcVarBool contained invpop_auth_try_all invpop_last invprint_decode invprint_split
+syn keyword muttrcVarBool contained invprompt_after invread_only invreply_self invresolve invreverse_alias
+syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address
+syn keyword muttrcVarBool contained invsave_empty invsave_name invscore invsig_dashes invsig_on_top
+syn keyword muttrcVarBool contained invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key
+syn keyword muttrcVarBool contained invsmime_is_default invsort_re invssl_force_tls invssl_use_sslv2
+syn keyword muttrcVarBool contained invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts invstatus_on_top
+syn keyword muttrcVarBool contained invstrict_threads invsuspend invtext_flowed invthorough_search
+syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime
+syn keyword muttrcVarBool contained invuse_domain invuse_envelope_from invuse_from invuse_idn invuse_ipv6
+syn keyword muttrcVarBool contained invuser_agent invwait_key invweed invwrap_search invwrite_bcc
+
+syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified bounce copy
+syn keyword muttrcVarQuad contained crypt_verify_sig delete forward_edit honor_followup_to
+syn keyword muttrcVarQuad contained include mime_forward mime_forward_rest mime_fwd move
+syn keyword muttrcVarQuad contained pgp_mime_auto pgp_verify_sig pop_delete pop_reconnect
+syn keyword muttrcVarQuad contained postpone print quit recall reply_to ssl_starttls
+
+syn keyword muttrcVarQuad contained noabort_nosubject noabort_unmodified nobounce nocopy
+syn keyword muttrcVarQuad contained nocrypt_verify_sig nodelete noforward_edit nohonor_followup_to
+syn keyword muttrcVarQuad contained noinclude nomime_forward nomime_forward_rest nomime_fwd nomove
+syn keyword muttrcVarQuad contained nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect
syn keyword muttrcVarQuad contained nopostpone noprint noquit norecall noreply_to nossl_starttls
-syn keyword muttrcVarQuad contained invabort_nosubject invabort_unmodified invcopy invdelete invhonor_followup_to
-syn keyword muttrcVarQuad contained invinclude invmime_forward invcontained invmime_forward_rest invmime_fwd invmove
-syn keyword muttrcVarQuad contained invpgp_create_traditional invpgp_verify_sig invpop_delete invpop_reconnect
+syn keyword muttrcVarQuad contained invabort_nosubject invabort_unmodified invbounce invcopy
+syn keyword muttrcVarQuad contained invcrypt_verify_sig invdelete invforward_edit invhonor_followup_to
+syn keyword muttrcVarQuad contained invinclude invmime_forward invmime_forward_rest invmime_fwd invmove
+syn keyword muttrcVarQuad contained invpgp_mime_auto invpgp_verify_sig invpop_delete invpop_reconnect
syn keyword muttrcVarQuad contained invpostpone invprint invquit invrecall invreply_to invssl_starttls
-syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_check pager_context pager_index_lines
-syn keyword muttrcVarNum contained pgp_timeout pop_checkinterval read_inc score_threshold_delete score_threshold_flag
-syn keyword muttrcVarNum contained score_threshold_read sendmail_wait sleep_time timeout wrapmargin write_inc
+syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_check menu_context net_inc
+syn keyword muttrcVarNum contained pager_context pager_index_lines pgp_timeout pop_checkinterval read_inc
+syn keyword muttrcVarNum contained score_threshold_delete score_threshold_flag score_threshold_read
+syn keyword muttrcVarNum contained sendmail_wait sleep_time smime_timeout ssl_min_dh_prime_bits timeout
+syn keyword muttrcVarNum contained wrapmargin write_inc
-syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution certificate_file
-syn keyword muttrcVarStr contained charset compose_format date_format default_hook display_filter dotlock_program dsn_notify
-syn keyword muttrcVarStr contained dsn_return editor entropy_file escape folder folder_format forw_format forward_format
-syn keyword muttrcVarStr contained from gecos_mask hdr_format hostname imap_authenticators imap_delim_chars
-syn keyword muttrcVarStr contained imap_home_namespace imap_pass imap_user indent_str indent_string index_format ispell
-syn keyword muttrcVarStr contained locale mailcap_path mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied
+syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution
+syn keyword muttrcVarStr contained certificate_file charset compose_format config_charset content_type
+syn keyword muttrcVarStr contained date_format default_hook display_filter dotlock_program dsn_notify
+syn keyword muttrcVarStr contained dsn_return editor entropy_file envelope_from_address escape folder
+syn keyword muttrcVarStr contained folder_format forw_format forward_format from gecos_mask hdr_format
+syn keyword muttrcVarStr contained header_cache header_cache_pagesize hostname imap_authenticators
+syn keyword muttrcVarStr contained imap_delim_chars imap_headers imap_home_namespace imap_login imap_pass
+syn keyword muttrcVarStr contained imap_user indent_str indent_string index_format ispell locale mailcap_path
+syn keyword muttrcVarStr contained mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied
syn keyword muttrcVarStr contained mh_seq_unseen mix_entry_format mixmaster msg_format pager pager_format
-syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command pgp_encrypt_only_command
-syn keyword muttrcVarStr contained pgp_encrypt_sign_command pgp_entry_format pgp_export_command pgp_getkeys_command
-syn keyword muttrcVarStr contained pgp_good_sign pgp_import_command pgp_list_pubring_command pgp_list_secring_command
-syn keyword muttrcVarStr contained pgp_sign_as pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command
-syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str post_indent_string
-syn keyword muttrcVarStr contained postponed preconnect print_cmd print_command query_command quote_regexp realname record
-syn keyword muttrcVarStr contained reply_regexp send_charset sendmail shell signature simple_search smileys sort sort_alias
-syn keyword muttrcVarStr contained sort_aux sort_browser spoolfile status_chars status_format tmpdir to_chars tunnel visual
-syn keyword muttrcVarStr contained header_cache header_cache_pagesize
+syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command
+syn keyword muttrcVarStr contained pgp_encrypt_only_command pgp_encrypt_sign_command pgp_entry_format
+syn keyword muttrcVarStr contained pgp_export_command pgp_getkeys_command pgp_good_sign pgp_import_command
+syn keyword muttrcVarStr contained pgp_list_pubring_command pgp_list_secring_command pgp_sign_as
+syn keyword muttrcVarStr contained pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command
+syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str
+syn keyword muttrcVarStr contained post_indent_string postponed preconnect print_cmd print_command
+syn keyword muttrcVarStr contained query_command quote_regexp realname record reply_regexp send_charset
+syn keyword muttrcVarStr contained sendmail shell signature simple_search smileys smime_ca_location
+syn keyword muttrcVarStr contained smime_certificates smime_decrypt_command smime_default_key
+syn keyword muttrcVarStr contained smime_encrypt_command smime_encrypt_with smime_get_cert_command
+syn keyword muttrcVarStr contained smime_get_cert_email_command smime_get_signer_cert_command
+syn keyword muttrcVarStr contained smime_import_cert_command smime_keys smime_pk7out_command smime_sign_as
+syn keyword muttrcVarStr contained smime_sign_command smime_sign_opaque_command smime_verify_command
+syn keyword muttrcVarStr contained smime_verify_opaque_command sort sort_alias sort_aux sort_browser
+syn keyword muttrcVarStr contained spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert
+syn keyword muttrcVarStr contained status_chars status_format tmpdir to_chars tunnel visual
+
+" Present in 1.4.2.1 (pgp_create_traditional was a bool then)
+syn keyword muttrcVarBool contained imap_force_ssl imap_force_ssl noinvimap_force_ssl
+"syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional
+syn keyword muttrcVarStr contained alternates
syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic
+syn match muttrcMenuList "\S\+" contained contains=muttrcMenu
+syn match muttrcMenuCommas /,/ contained
+
+syn keyword muttrcCommand auto_view alternative_order charset-hook exec unalternative_order
+syn keyword muttrcCommand hdr_order iconv-hook ignore mailboxes my_hdr unmailboxes
+syn keyword muttrcCommand pgp-hook push score source unauto_view unhdr_order
+syn keyword muttrcCommand unhook unignore unmono unmy_hdr unscore
+syn keyword muttrcCommand mime_lookup unmime_lookup spam ungroup
+syn keyword muttrcCommand nospam unalternative_order
+
+syn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType
+syn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType
+syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag
+
+syn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"
-syn keyword muttrcCommand account-hook auto_view alternative_order charset-hook uncolor exec fcc-hook fcc-save-hook
-syn keyword muttrcCommand folder-hook hdr_order iconv-hook ignore lists mailboxes message-hook mbox-hook my_hdr
-syn keyword muttrcCommand pgp-hook push save-hook score send-hook source subscribe unalias unauto_view unhdr_order
-syn keyword muttrcCommand unhook unignore unlists unmono unmy_hdr unscore unsubscribe
-syn keyword muttrcCommand send2-hook alternates unalternates
+syn keyword muttrcListsKeyword contained lists unlists
+syn region muttrcListsLine keepend start=+^\s*\%(un\)\?lists\s+ skip=+\\$+ end=+$+ contains=muttrcListsKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment
+
+syn keyword muttrcSubscribeKeyword contained subscribe unsubscribe
+syn region muttrcSubscribeLine keepend start=+^\s*\%(un\)\?subscribe\s+ skip=+\\$+ end=+$+ contains=muttrcSubscribeKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment
+
+syn keyword muttrcAlternateKeyword contained alternates unalternates
+syn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment
+
+syn match muttrcVariable "\$[a-zA-Z_-]\+"
+
+syn match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail
+syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|recall\|resent\|save\|send\|tag\|undelete\)-message\>"
+syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|undelete\)-thread\>"
+syn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>"
+syn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>"
+syn match muttrcFunction contained "\<attach-\%(file\|key\)\>"
+syn match muttrcFunction contained "\<change-\%(dir\|folder\|folder-readonly\)\>"
+syn match muttrcFunction contained "\<check-\%(new\|traditional-pgp\)\>"
+syn match muttrcFunction contained "\<current-\%(bottom\|middle\|top\)\>"
+syn match muttrcFunction contained "\<decode-\%(copy\|save\)\>"
+syn match muttrcFunction contained "\<delete-\%(char\|pattern\|subthread\)\>"
+syn match muttrcFunction contained "\<display-\%(address\|toggle-weed\)\>"
+syn match muttrcFunction contained "\<edit\%(-\%(bcc\|cc\|description\|encoding\|fcc\|file\|from\|headers\|mime\|reply-to\|subject\|to\|type\)\)\?\>"
+syn match muttrcFunction contained "\<enter-\%(command\|mask\)\>"
+syn match muttrcFunction contained "\<half-\%(up\|down\)\>"
+syn match muttrcFunction contained "\<history-\%(up\|down\)\>"
+syn match muttrcFunction contained "\<kill-\%(eol\|eow\|line\)\>"
+syn match muttrcFunction contained "\<next-\%(line\|new\|page\|subthread\|undeleted\|unread\)\>"
+syn match muttrcFunction contained "\<previous-\%(line\|new\|page\|subthread\|undeleted\|unread\)\>"
+syn match muttrcFunction contained "\<search\%(-\%(next\|opposite\|reverse\|toggle\)\)\?\>"
+syn match muttrcFunction contained "\<show-\%(limit\|version\)\>"
+syn match muttrcFunction contained "\<sort-\%(mailbox\|reverse\)\>"
+syn match muttrcFunction contained "\<tag-\%(pattern\|prefix\)\>"
+syn match muttrcFunction contained "\<toggle-\%(mailboxes\|new\|quoted\|subscribed\|unlink\|write\)\>"
+syn match muttrcFunction contained "\<undelete-\%(pattern\|subthread\)\>"
+syn match muttrcFunction contained "\<collapse-\%(parts\|thread\|all\)\>"
+syn match muttrcFunction contained "\<view-\%(attach\|attachments\|file\|mailcap\|name\|text\)\>"
+syn match muttrcFunction contained "\<\%(backspace\|backward-char\|bol\|bottom\|bottom-page\|buffy-cycle\|clear-flag\|complete\%(-query\)\?\|copy-file\|create-alias\|detach-file\|eol\|exit\|extract-keys\|\%(imap-\)\?fetch-mail\|forget-passphrase\|forward-char\|group-reply\|help\|ispell\|jump\|limit\|list-reply\|mail\|mail-key\|mark-as-new\|middle-page\|new-mime\|pgp-menu\|query\|query-append\|quit\|quote-char\|read-subthread\|redraw-screen\|refresh\|rename-file\|reply\|select-new\|set-flag\|shell-escape\|skip-quoted\|sort\|subscribe\|sync-mailbox\|top\|top-page\|transpose-chars\|unsubscribe\|untag-pattern\|verify-key\|write-fcc\)\>"
+syn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
syn keyword muttrcSet set skipwhite nextgroup=muttrcVar.*
syn keyword muttrcUnset unset skipwhite nextgroup=muttrcVar.*
syn keyword muttrcReset reset skipwhite nextgroup=muttrcVar.*
syn keyword muttrcToggle toggle skipwhite nextgroup=muttrcVar.*
-syn keyword muttrcBind contained bind skipwhite nextgroup=muttrcMenu
-syn match muttrcBindLine "^\s*bind\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcBind
+" First, functions that take regular expressions:
+syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXString
+syn match muttrcRXHooks /^\s*\%(account\|folder\)-hook\s\+/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXString
+
+" Now, functions that take patterns
+syn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern
+syn match muttrcPatHooks /^\s*\%(message\|mbox\|save\|fcc\%(-save\)\?\|send2\?\|reply\|crypt\)-hook\s\+/ nextgroup=muttrcPatHookNot,muttrcPattern
+
+syn match muttrcBindFunction contained /\S\+\%(\s\|$\)/ skipwhite contains=muttrcFunction
+syn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL
+syn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
+syn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
+syn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
+syn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+syn match muttrcBind /^\s*bind\s\?/ skipwhite nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+
+syn match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey
+syn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+syn match muttrcMacro /^\s*macro\s\?/ skipwhite nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+
+syn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent
+
+syn match muttrcGroupFlag contained "-group"
+syn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace
+
+syn keyword muttrcGroupKeyword contained group ungroup
+syn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment
+
+syn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+syn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL
+syn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag
+syn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL
+syn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail
+syn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite
+syn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL
+syn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syn match muttrcAliasAbbr contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+syn match muttrcAlias /^\s*alias\s/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+
+syn match muttrcUnAliasAbbr contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
+syn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
+syn match muttrcUnAlias /^\s*unalias\s\?/ nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
-syn keyword muttrcMacro contained macro skipwhite nextgroup=muttrcMenu
-syn match muttrcMacroLine "^\s*macro\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcMacro
+syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
+syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s\+\%([<>-][0-9]\+\|[0-9]\+[-][0-9]*\)"
+syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s\+[0-9]\{2}\%(/[0-9]\{2}\%(/[0-9]\{2}\%([0-9]\{2}\)\)\?\)\?"
+syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatRXContainer
+syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatGroup
+"syn match muttrcSimplePat contained /"[^~=%][^"]*/ contains=muttrcRXPat
+"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXPat
+syn match muttrcSimplePatGroup contained /[a-zA-Z0-9]\+/
+syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXPat
+syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXPat
+syn match muttrcSimplePatRXContainer contained /\S\+/ contains=muttrcRXPat
+syn match muttrcSimplePatMetas contained /[(|)]/
-syn keyword muttrcAlias contained alias
-syn match muttrcAliasLine "^\s*alias\s\+\S\+" contains=muttrcAlias
+syn region muttrcPattern contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternInner
+syn region muttrcPattern contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternInner
+syn match muttrcPattern contained "[~][A-Za-z]" contains=muttrcSimplePat
+syn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
+syn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
" Colour definitions takes object, foreground and background arguments (regexps excluded).
-syn keyword muttrcColorField contained attachment body bold error hdrdefault header index
-syn keyword muttrcColorField contained indicator markers message normal quoted search signature
-syn keyword muttrcColorField contained status tilde tree underline
+syn match muttrcColorMatchCount contained "[0-9]\+"
+syn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn region muttrcColorRXPat contained start=+\s\+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn region muttrcColorRXPat contained start=+\s\+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn keyword muttrcColorField contained attachment body bold error hdrdefault header index indicator markers message normal quoted search signature status tilde tree underline
syn match muttrcColorField contained "\<quoted\d\=\>"
-syn keyword muttrcColorFG contained black blue cyan default green magenta red white yellow
-syn keyword muttrcColorFG contained brightblack brightblue brightcyan brightdefault brightgreen
-syn keyword muttrcColorFG contained brightmagenta brightred brightwhite brightyellow
-syn match muttrcColorFG contained "\<\(bright\)\=color\d\{1,2}\>"
-syn keyword muttrcColorBG contained black blue cyan default green magenta red white yellow
-syn match muttrcColorBG contained "\<color\d\{1,2}\>"
-" Now for the match
-syn keyword muttrcColor contained color skipwhite nextgroup=muttrcColorField
-syn match muttrcColorInit contained "^\s*color\s\+\S\+" skipwhite nextgroup=muttrcColorFG contains=muttrcColor
-syn match muttrcColorLine "^\s*color\s\+\S\+\s\+\S" skipwhite nextgroup=muttrcColorBG contains=muttrcColorInit
+syn keyword muttrcColor contained black blue cyan default green magenta red white yellow
+syn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow
+syn match muttrcColor contained "\<\%(bright\)\=color\d\{1,2}\>"
+" Now for the structure of the color line
+syn match muttrcColorRXNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL
+syn match muttrcColorBG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
+syn match muttrcColorBGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL
+syn match muttrcColorFG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
+syn match muttrcColorFGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL
+syn match muttrcColorContext contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL
+syn match muttrcColorNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL
+syn match muttrcColorKeyword contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL
+syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace
+" Now for the structure of the color index line
+syn match muttrcPatternNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL
+syn match muttrcColorBGI contained skipwhite /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL
+syn match muttrcColorBGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI
+syn match muttrcColorFGI contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI
+syn match muttrcColorFGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI
+syn match muttrcColorContextI contained skipwhite /\s*index/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI
+syn match muttrcColorNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI
+syn match muttrcColorKeywordI contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContextI,muttrcColorNLI
+syn region muttrcColorLine keepend start=/^\s*color\s\+index/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace
+" And now color's brother:
+syn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorAll contained skipwhite /[*]/
+syn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
+syn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
+syn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace
" Mono are almost like color (ojects inherited from color)
syn keyword muttrcMonoAttrib contained bold none normal reverse standout underline
HiLink muttrcComment Comment
HiLink muttrcEscape SpecialChar
+ HiLink muttrcRXChars SpecialChar
HiLink muttrcString String
+ HiLink muttrcRXString String
HiLink muttrcSpecial Special
+ HiLink muttrcGroupFlag Type
+ HiLink muttrcGroupDef Macro
+ HiLink muttrcAddrDef muttrcGroupFlag
+ HiLink muttrcRXDef muttrcGroupFlag
+ HiLink muttrcRXPat String
+ HiLink muttrcAliasGroupName Macro
+ HiLink muttrcAliasAbbr Identifier
+ HiLink muttrcUnAliasAbbr Identifier
+ HiLink muttrcAliasEncEmail Identifier
+ HiLink muttrcAliasParens Type
HiLink muttrcNumber Number
HiLink muttrcQuadopt Boolean
HiLink muttrcEmail Special
+ HiLink muttrcVariable Special
HiLink muttrcHeader Type
HiLink muttrcKeySpecial SpecialChar
HiLink muttrcKey Type
- HiLink muttrcKeyName Macro
+ HiLink muttrcKeyName SpecialChar
HiLink muttrcVarBool Identifier
HiLink muttrcVarQuad Identifier
HiLink muttrcVarNum Identifier
HiLink muttrcVarStr Identifier
HiLink muttrcMenu Identifier
HiLink muttrcCommand Keyword
- HiLink muttrcSet muttrcCommand
+ HiLink muttrcSet Keyword
HiLink muttrcUnset muttrcCommand
HiLink muttrcReset muttrcCommand
HiLink muttrcToggle muttrcCommand
HiLink muttrcBind muttrcCommand
HiLink muttrcMacro muttrcCommand
HiLink muttrcAlias muttrcCommand
- HiLink muttrcAliasLine Identifier
+ HiLink muttrcUnAlias muttrcCommand
+ HiLink muttrcAction Macro
+ HiLink muttrcBadAction Error
+ HiLink muttrcBindFunction Error
+ HiLink muttrcBindMenuList Error
+ HiLink muttrcFunction Macro
+ HiLink muttrcGroupKeyword muttrcCommand
+ HiLink muttrcGroupLine Error
+ HiLink muttrcSubscribeKeyword muttrcCommand
+ HiLink muttrcSubscribeLine Error
+ HiLink muttrcListsKeyword muttrcCommand
+ HiLink muttrcListsLine Error
+ HiLink muttrcAlternateKeyword muttrcCommand
+ HiLink muttrcAlternatesLine Error
+ HiLink muttrcAttachmentsLine muttrcCommand
+ HiLink muttrcAttachmentsFlag Type
+ HiLink muttrcAttachmentsMimeType String
+ HiLink muttrcColorLine Error
+ HiLink muttrcColorContext Error
+ HiLink muttrcColorContextI Identifier
+ HiLink muttrcColorKeyword muttrcCommand
+ HiLink muttrcColorKeywordI muttrcColorKeyword
HiLink muttrcColorField Identifier
- HiLink muttrcColorFG String
- HiLink muttrcColorBG muttrcColorFG
- HiLink muttrcColor muttrcCommand
- HiLink muttrcMonoAttrib muttrcColorFG
+ HiLink muttrcColor String
+ HiLink muttrcColorFG Error
+ HiLink muttrcColorFGI Error
+ HiLink muttrcColorBG Error
+ HiLink muttrcColorBGI Error
+ HiLink muttrcMonoAttrib muttrcColor
HiLink muttrcMono muttrcCommand
+ HiLink muttrcSimplePat Identifier
+ HiLink muttrcSimplePatGroup Macro
+ HiLink muttrcSimplePatMetas Special
+ HiLink muttrcPattern Type
+ HiLink muttrcPatternInner Error
+ HiLink muttrcUnColorLine Error
+ HiLink muttrcUnColorKeyword muttrcCommand
+ HiLink muttrcUnColorIndex Identifier
+ HiLink muttrcShellString muttrcEscape
+ HiLink muttrcRXHooks muttrcCommand
+ HiLink muttrcRXHookNot Type
+ HiLink muttrcPatHooks muttrcCommand
+ HiLink muttrcPatHookNot Type
delcommand HiLink
endif
" Vim syntax file
" Language: R Help File
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2006 Apr 12
-" Version: 0.6
+" Last Change: 2006 Apr 24
+" Version: 0.7
+" SVN: $Id$
" Remarks: - Now includes R syntax highlighting in the appropriate
" sections if an r.vim file is in the same directory or in the
" default debian location.
-" - I didn't yet include any special markup for S4 methods.
-" - The two versions of \item{}{} markup are not
-" distinguished (in the \arguments{} environment, the items to
-" be described are R identifiers, but not in the \describe{}
-" environment).
" - There is no Latex markup in equations
" Version Clears: {{{1
syn case match
-" Rd identifiers {{{
+" R help identifiers {{{
syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
-syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained
+syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained contains=rhelpDots
syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end=/}/ contained
" Highlighting of R code using an existing r.vim syntax file if available {{{1
syn include @R syntax/r.vim
+syn match rhelpDots "\\dots" containedin=@R
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpSection
-syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier
+syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier,rhelpS4method
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end=/}/ contains=@R
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end=/}/ contains=@R contained
syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpLink contained
+syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=/)/ contains=@R,rhelpDots contained
" Strings {{{1
syn region rhelpString start=/"/ end=/"/
" Keywords {{{1
syn match rhelpKeyword "\\R"
-syn match rhelpKeyword "\\dots"
syn match rhelpKeyword "\\ldots"
+syn match rhelpKeyword "--"
+syn match rhelpKeyword "---"
+syn match rhelpKeyword "<"
+syn match rhelpKeyword ">"
" Links {{{1
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend
+syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
" Type Styles {{{1
syn match rhelpType "\\emph\>"
" Freely named Sections {{{1
syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/
-" Rd comments {{{1
+" R help file comments {{{1
syn match rhelpComment /%.*$/ contained
" Error {{{1
HiLink rhelpIdentifier Identifier
HiLink rhelpString String
HiLink rhelpKeyword Keyword
+ HiLink rhelpDots Keyword
HiLink rhelpLink Underlined
- HiLink rhelpType Type
+ HiLink rhelpType Type
HiLink rhelpSection PreCondit
HiLink rhelpError Error
HiLink rhelpBraceError Error
" Vim syntax file
-" Language: Slrn setup file (based on slrn 0.9.8.0)
-" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
-" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/slrnrc.vim?op=file&rev=0&sc=0
-"
-" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
-" it only because patches have been submitted for it by Debian users and the
-" former maintainer was MIA (Missing In Action), taking over its
-" maintenance was thus the only way to include those patches.
-" If you care about this file, and have time to maintain it please do so!
+" Language: Slrn setup file (based on slrn 0.9.8.1)
+" Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Last Change: 23 April 2006
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
[HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
"path"="gvim.exe"
-[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0e]
- "DisplayName"="Vim 7.0e: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0f]
+ "DisplayName"="Vim 7.0f: Edit with Vim popup menu entry"
"UninstallString"="uninstal.exe"
//--------------------------------------------------------------
#ifndef STRICT
-#define STRICT
+# define STRICT
#endif
#define INC_OLE2 // WIN32, get ole2 from windows.h
/* Accommodate old versions of VC that don't have a modern Platform SDK */
#if _MSC_VER < 1300
-#undef UINT_PTR
-#define UINT_PTR UINT
+# undef UINT_PTR
+# define UINT_PTR UINT
#endif
#define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
# We're on Windows NT or using VC 6+
! ifdef CPU
ASSEMBLY_ARCHITECTURE=$(CPU)
+# Using I386 for $ASSEMBLY_ARCHITECTURE doesn't work for VC7.
+! if ("$(ASSEMBLY_ARCHITECTURE)" == "i386") || ("$(ASSEMBLY_ARCHITECTURE)" == "I386")
+ASSEMBLY_ARCHITECTURE = x86
+! endif
! else
CPU = $(PROCESSOR_ARCHITECTURE)
ASSEMBLY_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
### Vim version (adjusted by a script)
VIMMAJOR = 7
-VIMMINOR = 0e
+VIMMINOR = 0f
### Location of Vim files (should not need to be changed, and {{{1
### some things might not work when they are changed!)
int had_match;
if (compl_leader == NULL)
+ {
/* First match, use it as a whole. */
compl_leader = vim_strsave(match->cp_str);
+ if (compl_leader != NULL)
+ {
+ had_match = (curwin->w_cursor.col > compl_col);
+ ins_compl_delete();
+ ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
+ ins_redraw(FALSE);
+
+ /* When the match isn't there (to avoid matching itself) remove it
+ * again after redrawing. */
+ if (!had_match)
+ ins_compl_delete();
+ compl_used_match = FALSE;
+ }
+ }
else
{
/* Reduce the text if this match differs from compl_leader. */
/* When invoked to match whole lines for CTRL-X CTRL-L adjust the pattern
* to only match at the start of a line. Otherwise just match the
- * pattern. */
+ * pattern. Also need to double backslashes. */
if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
{
- i = (int)STRLEN(pat) + 8;
+ char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\");
+
+ if (pat_esc == NULL)
+ return ;
+ i = (int)STRLEN(pat_esc) + 10;
ptr = alloc(i);
if (ptr == NULL)
+ {
+ vim_free(pat_esc);
return;
- vim_snprintf((char *)ptr, i, "^\\s*\\zs%s", pat);
- regmatch.regprog = vim_regcomp(ptr, p_magic ? RE_MAGIC : 0);
+ }
+ vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc);
+ regmatch.regprog = vim_regcomp(ptr, RE_MAGIC);
+ vim_free(pat_esc);
vim_free(ptr);
}
else
static void f_exists __ARGS((typval_T *argvars, typval_T *rettv));
static void f_expand __ARGS((typval_T *argvars, typval_T *rettv));
static void f_extend __ARGS((typval_T *argvars, typval_T *rettv));
+static void f_feedkeys __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filereadable __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filewritable __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filter __ARGS((typval_T *argvars, typval_T *rettv));
static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv));
static void f_printf __ARGS((typval_T *argvars, typval_T *rettv));
static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv));
-static void f_pushkeys __ARGS((typval_T *argvars, typval_T *rettv));
static void f_range __ARGS((typval_T *argvars, typval_T *rettv));
static void f_readfile __ARGS((typval_T *argvars, typval_T *rettv));
static void f_reltime __ARGS((typval_T *argvars, typval_T *rettv));
lp->ll_li = list_find(lp->ll_list, lp->ll_n1);
if (lp->ll_li == NULL)
{
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n1);
+ if (lp->ll_n1 < 0)
+ {
+ lp->ll_n1 = 0;
+ lp->ll_li = list_find(lp->ll_list, lp->ll_n1);
+ }
+ }
+ if (lp->ll_li == NULL)
+ {
if (lp->ll_range && !lp->ll_empty2)
clear_tv(&var2);
return NULL;
{
ni = list_find(lp->ll_list, lp->ll_n2);
if (ni == NULL)
- {
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n2);
return NULL;
- }
lp->ll_n2 = list_idx_of_item(lp->ll_list, ni);
}
if (lp->ll_n1 < 0)
lp->ll_n1 = list_idx_of_item(lp->ll_list, lp->ll_li);
if (lp->ll_n2 < lp->ll_n1)
- {
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n2);
return NULL;
- }
}
lp->ll_tv = &lp->ll_li->li_tv;
n1 = len + n1;
if (!empty1 && (n1 < 0 || n1 >= len))
{
- if (verbose)
- EMSGN(_(e_listidx), n1);
- return FAIL;
+ /* For a range we allow invalid values and return an empty
+ * list. A list index out of range is an error. */
+ if (!range)
+ {
+ if (verbose)
+ EMSGN(_(e_listidx), n1);
+ return FAIL;
+ }
+ n1 = len;
}
if (range)
{
else if (n2 >= len)
n2 = len - 1;
if (!empty2 && (n2 < 0 || n2 + 1 < n1))
- {
- if (verbose)
- EMSGN(_(e_listidx), n2);
- return FAIL;
- }
+ n2 = -1;
l = list_alloc();
if (l == NULL)
return FAIL;
}
else
{
- copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv,
- &var1);
+ copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv, &var1);
clear_tv(rettv);
*rettv = var1;
}
{"exists", 1, 1, f_exists},
{"expand", 1, 2, f_expand},
{"extend", 2, 3, f_extend},
+ {"feedkeys", 1, 2, f_feedkeys},
{"file_readable", 1, 1, f_filereadable}, /* obsolete */
{"filereadable", 1, 1, f_filereadable},
{"filewritable", 1, 1, f_filewritable},
{"prevnonblank", 1, 1, f_prevnonblank},
{"printf", 2, 19, f_printf},
{"pumvisible", 0, 0, f_pumvisible},
- {"pushkeys", 1, 2, f_pushkeys},
{"range", 1, 3, f_range},
{"readfile", 1, 3, f_readfile},
{"reltime", 0, 2, f_reltime},
EMSG2(_(e_listdictarg), "extend()");
}
+/*
+ * "feedkeys()" function
+ */
+/*ARGSUSED*/
+ static void
+f_feedkeys(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+{
+ int remap = TRUE;
+ char_u *keys, *flags;
+ char_u nbuf[NUMBUFLEN];
+ int typed = FALSE;
+
+ rettv->vval.v_number = 0;
+ keys = get_tv_string(&argvars[0]);
+ if (*keys != NUL)
+ {
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+ flags = get_tv_string_buf(&argvars[1], nbuf);
+ for ( ; *flags != NUL; ++flags)
+ {
+ switch (*flags)
+ {
+ case 'n': remap = FALSE; break;
+ case 'm': remap = TRUE; break;
+ case 't': typed = TRUE; break;
+ }
+ }
+ }
+
+ ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE),
+ typebuf.tb_len, !typed, FALSE);
+ typebuf_was_filled = TRUE;
+ }
+}
+
/*
* "filereadable()" function
*/
for (i = 0; i < NSUBEXP; ++i)
{
if (regmatch.endp[i] == NULL)
- break;
- if (list_append_string(rettv->vval.v_list,
+ {
+ if (list_append_string(rettv->vval.v_list,
+ (char_u *)"", 0) == FAIL)
+ break;
+ }
+ else if (list_append_string(rettv->vval.v_list,
regmatch.startp[i],
(int)(regmatch.endp[i] - regmatch.startp[i]))
== FAIL)
#endif
}
-/*
- * "pushkeys()" function
- */
-/*ARGSUSED*/
- static void
-f_pushkeys(argvars, rettv)
- typval_T *argvars;
- typval_T *rettv;
-{
- int remap = TRUE;
- char_u *keys, *flags;
- char_u nbuf[NUMBUFLEN];
-
- rettv->vval.v_number = 0;
- keys = get_tv_string(&argvars[0]);
- if (*keys != NUL)
- {
- if (argvars[1].v_type != VAR_UNKNOWN)
- {
- flags = get_tv_string_buf(&argvars[1], nbuf);
- for ( ; *flags != NUL; ++flags)
- {
- switch (*flags)
- {
- case 'n': remap = FALSE; break;
- case 'm': remap = TRUE; break;
- }
- }
- }
-
- ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE),
- typebuf.tb_len, TRUE, FALSE);
- typebuf_was_filled = TRUE;
- }
-}
-
/*
* "range()" function
*/
/*
* Return TRUE if the typeahead buffer was changed (while waiting for a
* character to arrive). Happens when a message was received from a client or
- * from pushkeys().
+ * from feedkeys().
* But check in a more generic way to avoid trouble: When "typebuf.tb_buf"
* changed it was reallocated and the old pointer can no longer be used.
* Or "typebuf.tb_off" may have been changed and we would overwrite characters
}
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
- /* Reset the flag that text received from a client or from pushkeys()
+ /* Reset the flag that text received from a client or from feedkeys()
* was inserted in the typeahead buffer. */
typebuf_was_filled = FALSE;
#endif
/*
* Return TRUE when bytes are in the input buffer or in the typeahead buffer.
* Normally the input buffer would be sufficient, but the server_to_input_buf()
- * or pushkeys() may insert characters in the typeahead buffer while we are
+ * or feedkeys() may insert characters in the typeahead buffer while we are
* waiting for input to arrive.
*/
int
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
EXTERN int typebuf_was_filled INIT(= FALSE); /* received text from client
- or from pushkeys() */
+ or from feedkeys() */
#endif
#ifdef FEAT_CLIENTSERVER
}
else if (shape < sizeof(mshape_ids) / sizeof(int))
id = mshape_ids[shape];
+ else
+ return;
# ifdef HAVE_GTK_MULTIHEAD
c = gdk_cursor_new_for_display(
gtk_widget_get_display(gui.drawarea), (GdkCursorType)id);
DisposeEventHandlerUPP(mouseWheelHandlerUPP);
#ifdef USE_ATSUI_DRAWING
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
ATSUDisposeStyle(gFontStyle);
#endif
char_u used_font_name[512];
#ifdef USE_ATSUI_DRAWING
- if (gFontStyle == NULL)
+ if (p_macatsui && gFontStyle == NULL)
{
if (ATSUCreateStyle(&gFontStyle) != noErr)
gFontStyle = NULL;
Fixed fontSize;
ATSStyleRenderingOptions fontOptions;
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
{
fontID = font & 0xFFFF;
fontSize = Long2Fix(font >> 16);
Fixed fontSize;
ATSStyleRenderingOptions fontOptions;
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
{
/* Avoid setting same font again */
if (ATSUGetAttribute(gFontStyle, kATSUMaxATSUITagValue+1, sizeof font,
(sizeof attribTags)/sizeof(ATSUAttributeTag),
attribTags, attribSizes, attribValues) != noErr)
{
-#ifndef NDEBUG
+# ifndef NDEBUG
fprintf(stderr, "couldn't set font style\n");
-#endif
+# endif
ATSUDisposeStyle(gFontStyle);
gFontStyle = NULL;
}
}
- if (!gIsFontFallbackSet)
+ if (p_macatsui && !gIsFontFallbackSet)
{
/* Setup automatic font substitution. The user's guifontwide
* is tried first, then the system tries other fonts. */
}
}
-#ifndef USE_ATSUI_DRAWING
static void
draw_string_QD(int row, int col, char_u *s, int len, int flags)
#endif
}
-#else /* USE_ATSUI_DRAWING */
+#ifdef USE_ATSUI_DRAWING
static void
draw_string_ATSUI(int row, int col, char_u *s, int len, int flags)
gui_mch_draw_string(int row, int col, char_u *s, int len, int flags)
{
#if defined(USE_ATSUI_DRAWING)
- draw_string_ATSUI(row, col, s, len, flags);
-#else
- draw_string_QD(row, col, s, len, flags);
+ if (p_macatsui)
+ draw_string_ATSUI(row, col, s, len, flags);
+ else
#endif
+ draw_string_QD(row, col, s, len, flags);
}
/*
typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
#ifndef TTM_SETMAXTIPWIDTH
-# define TTM_SETMAXTIPWIDTH (WM_USER+24)
+# define TTM_SETMAXTIPWIDTH (WM_USER+24)
#endif
#ifndef TTF_DI_SETITEM
-# define TTF_DI_SETITEM 0x8000
+# define TTF_DI_SETITEM 0x8000
#endif
#ifndef TTN_GETDISPINFO
-# define TTN_GETDISPINFO (TTN_FIRST - 0)
+# define TTN_GETDISPINFO (TTN_FIRST - 0)
#endif
#endif /* defined(FEAT_BEVAL) */
+#ifndef TTN_GETDISPINFOW
+# define TTN_GETDISPINFOW (TTN_FIRST - 10)
+#endif
+
/* Local variables: */
#ifdef FEAT_MENU
{(char_u *)NULL, (char_u *)0L}
#endif
},
- {"guitabtooltip", "gtl", P_STRING|P_VI_DEF|P_RWIN,
+ {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN,
#if defined(FEAT_GUI_TABLINE)
(char_u *)&p_gtt, PV_NONE,
{(char_u *)"", (char_u *)0L}
{"loadplugins", "lpl", P_BOOL|P_VI_DEF,
(char_u *)&p_lpl, PV_NONE,
{(char_u *)TRUE, (char_u *)0L}},
+#ifdef FEAT_GUI_MAC
+ {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR,
+ (char_u *)&p_macatsui, PV_NONE,
+ {(char_u *)TRUE, (char_u *)0L}},
+#endif
{"magic", NULL, P_BOOL|P_VI_DEF,
(char_u *)&p_magic, PV_NONE,
{(char_u *)TRUE, (char_u *)0L}},
EXTERN int p_lz; /* 'lazyredraw' */
EXTERN int p_lpl; /* 'loadplugins' */
+#ifdef FEAT_GUI_MAC
+EXTERN int p_macatsui; /* 'macatsui' */
+#endif
EXTERN int p_magic; /* 'magic' */
#ifdef FEAT_QUICKFIX
EXTERN char_u *p_mef; /* 'makeef' */
/* edit.c */
-int edit __ARGS((int cmdchar, int startln, long count));
-void edit_putchar __ARGS((int c, int highlight));
-void edit_unputchar __ARGS((void));
-void display_dollar __ARGS((colnr_T col));
-void change_indent __ARGS((int type, int amount, int round, int replaced));
-void truncate_spaces __ARGS((char_u *line));
-void backspace_until_column __ARGS((int col));
-int vim_is_ctrl_x_key __ARGS((int c));
-int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
-void set_completion __ARGS((int startcol, list_T *list));
-void ins_compl_show_pum __ARGS((void));
-char_u *find_word_start __ARGS((char_u *ptr));
-char_u *find_word_end __ARGS((char_u *ptr));
-int ins_compl_active __ARGS((void));
-int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
-void ins_compl_check_keys __ARGS((int frequency));
-int get_literal __ARGS((void));
-void insertchar __ARGS((int c, int flags, int second_indent));
-void auto_format __ARGS((int trailblank, int prev_line));
-int comp_textwidth __ARGS((int ff));
-int stop_arrow __ARGS((void));
-void set_last_insert __ARGS((int c));
-void free_last_insert __ARGS((void));
-char_u *add_char2buf __ARGS((int c, char_u *s));
-void beginline __ARGS((int flags));
-int oneright __ARGS((void));
-int oneleft __ARGS((void));
-int cursor_up __ARGS((long n, int upd_topline));
-int cursor_down __ARGS((long n, int upd_topline));
-int stuff_inserted __ARGS((int c, long count, int no_esc));
-char_u *get_last_insert __ARGS((void));
-char_u *get_last_insert_save __ARGS((void));
-void replace_push __ARGS((int c));
-void fixthisline __ARGS((int (*get_the_indent)(void)));
-void fix_indent __ARGS((void));
-int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
-int hkmap __ARGS((int c));
-void ins_scroll __ARGS((void));
-void ins_horscroll __ARGS((void));
+extern int edit __ARGS((int cmdchar, int startln, long count));
+extern void edit_putchar __ARGS((int c, int highlight));
+extern void edit_unputchar __ARGS((void));
+extern void display_dollar __ARGS((colnr_T col));
+extern void change_indent __ARGS((int type, int amount, int round, int replaced));
+extern void truncate_spaces __ARGS((char_u *line));
+extern void backspace_until_column __ARGS((int col));
+extern int vim_is_ctrl_x_key __ARGS((int c));
+extern int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
+extern void set_completion __ARGS((int startcol, list_T *list));
+extern void ins_compl_show_pum __ARGS((void));
+extern char_u *find_word_start __ARGS((char_u *ptr));
+extern char_u *find_word_end __ARGS((char_u *ptr));
+extern int ins_compl_active __ARGS((void));
+extern int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
+extern void ins_compl_check_keys __ARGS((int frequency));
+extern int get_literal __ARGS((void));
+extern void insertchar __ARGS((int c, int flags, int second_indent));
+extern void auto_format __ARGS((int trailblank, int prev_line));
+extern int comp_textwidth __ARGS((int ff));
+extern int stop_arrow __ARGS((void));
+extern void set_last_insert __ARGS((int c));
+extern void free_last_insert __ARGS((void));
+extern char_u *add_char2buf __ARGS((int c, char_u *s));
+extern void beginline __ARGS((int flags));
+extern int oneright __ARGS((void));
+extern int oneleft __ARGS((void));
+extern int cursor_up __ARGS((long n, int upd_topline));
+extern int cursor_down __ARGS((long n, int upd_topline));
+extern int stuff_inserted __ARGS((int c, long count, int no_esc));
+extern char_u *get_last_insert __ARGS((void));
+extern char_u *get_last_insert_save __ARGS((void));
+extern void replace_push __ARGS((int c));
+extern void fixthisline __ARGS((int (*get_the_indent)(void)));
+extern void fix_indent __ARGS((void));
+extern int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
+extern int hkmap __ARGS((int c));
+extern void ins_scroll __ARGS((void));
+extern void ins_horscroll __ARGS((void));
/* vim: set ft=c : */
/* gui.c */
-void gui_start __ARGS((void));
-void gui_prepare __ARGS((int *argc, char **argv));
-int gui_init_check __ARGS((void));
-void gui_init __ARGS((void));
-void gui_exit __ARGS((int rc));
-void gui_shell_closed __ARGS((void));
-int gui_init_font __ARGS((char_u *font_list, int fontset));
-int gui_get_wide_font __ARGS((void));
-void gui_set_cursor __ARGS((int row, int col));
-void gui_update_cursor __ARGS((int force, int clear_selection));
-void gui_position_menu __ARGS((void));
-int gui_get_base_width __ARGS((void));
-int gui_get_base_height __ARGS((void));
-void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
-void gui_may_resize_shell __ARGS((void));
-int gui_get_shellsize __ARGS((void));
-void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
-void gui_new_shellsize __ARGS((void));
-void gui_reset_scroll_region __ARGS((void));
-void gui_start_highlight __ARGS((int mask));
-void gui_stop_highlight __ARGS((int mask));
-void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_update_cursor_later __ARGS((void));
-void gui_write __ARGS((char_u *s, int len));
-void gui_dont_update_cursor __ARGS((void));
-void gui_can_update_cursor __ARGS((void));
-int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
-void gui_undraw_cursor __ARGS((void));
-void gui_redraw __ARGS((int x, int y, int w, int h));
-int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
-int gui_wait_for_chars __ARGS((long wtime));
-void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
-int gui_xy2colrow __ARGS((int x, int y, int *colp));
-void gui_menu_cb __ARGS((vimmenu_T *menu));
-void gui_init_which_components __ARGS((char_u *oldval));
-int gui_use_tabline __ARGS((void));
-void gui_update_tabline __ARGS((void));
-void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
-int send_tabline_event __ARGS((int nr));
-void send_tabline_menu_event __ARGS((int tabidx, int event));
-void gui_remove_scrollbars __ARGS((void));
-void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
-scrollbar_T *gui_find_scrollbar __ARGS((long ident));
-void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
-void gui_update_scrollbars __ARGS((int force));
-int gui_do_scroll __ARGS((void));
-int gui_do_horiz_scroll __ARGS((void));
-void gui_check_colors __ARGS((void));
-guicolor_T gui_get_color __ARGS((char_u *name));
-int gui_get_lightness __ARGS((guicolor_T pixel));
-void gui_new_scrollbar_colors __ARGS((void));
-void gui_focus_change __ARGS((int in_focus));
-void gui_mouse_moved __ARGS((int x, int y));
-void gui_mouse_correct __ARGS((void));
-void ex_gui __ARGS((exarg_T *eap));
-int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
-void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
-void display_errors __ARGS((void));
-int no_console_input __ARGS((void));
-void gui_update_screen __ARGS((void));
-char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
-int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
-void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
+extern void gui_start __ARGS((void));
+extern void gui_prepare __ARGS((int *argc, char **argv));
+extern int gui_init_check __ARGS((void));
+extern void gui_init __ARGS((void));
+extern void gui_exit __ARGS((int rc));
+extern void gui_shell_closed __ARGS((void));
+extern int gui_init_font __ARGS((char_u *font_list, int fontset));
+extern int gui_get_wide_font __ARGS((void));
+extern void gui_set_cursor __ARGS((int row, int col));
+extern void gui_update_cursor __ARGS((int force, int clear_selection));
+extern void gui_position_menu __ARGS((void));
+extern int gui_get_base_width __ARGS((void));
+extern int gui_get_base_height __ARGS((void));
+extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
+extern void gui_may_resize_shell __ARGS((void));
+extern int gui_get_shellsize __ARGS((void));
+extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
+extern void gui_new_shellsize __ARGS((void));
+extern void gui_reset_scroll_region __ARGS((void));
+extern void gui_start_highlight __ARGS((int mask));
+extern void gui_stop_highlight __ARGS((int mask));
+extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_update_cursor_later __ARGS((void));
+extern void gui_write __ARGS((char_u *s, int len));
+extern void gui_dont_update_cursor __ARGS((void));
+extern void gui_can_update_cursor __ARGS((void));
+extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
+extern void gui_undraw_cursor __ARGS((void));
+extern void gui_redraw __ARGS((int x, int y, int w, int h));
+extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
+extern int gui_wait_for_chars __ARGS((long wtime));
+extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
+extern int gui_xy2colrow __ARGS((int x, int y, int *colp));
+extern void gui_menu_cb __ARGS((vimmenu_T *menu));
+extern void gui_init_which_components __ARGS((char_u *oldval));
+extern int gui_use_tabline __ARGS((void));
+extern void gui_update_tabline __ARGS((void));
+extern void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
+extern int send_tabline_event __ARGS((int nr));
+extern void send_tabline_menu_event __ARGS((int tabidx, int event));
+extern void gui_remove_scrollbars __ARGS((void));
+extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+extern scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
+extern void gui_update_scrollbars __ARGS((int force));
+extern int gui_do_scroll __ARGS((void));
+extern int gui_do_horiz_scroll __ARGS((void));
+extern void gui_check_colors __ARGS((void));
+extern guicolor_T gui_get_color __ARGS((char_u *name));
+extern int gui_get_lightness __ARGS((guicolor_T pixel));
+extern void gui_new_scrollbar_colors __ARGS((void));
+extern void gui_focus_change __ARGS((int in_focus));
+extern void gui_mouse_moved __ARGS((int x, int y));
+extern void gui_mouse_correct __ARGS((void));
+extern void ex_gui __ARGS((exarg_T *eap));
+extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void display_errors __ARGS((void));
+extern int no_console_input __ARGS((void));
+extern void gui_update_screen __ARGS((void));
+extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
+extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
+extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
/* vim: set ft=c : */
/* message.c */
-int msg __ARGS((char_u *s));
-int verb_msg __ARGS((char_u *s));
-int msg_attr __ARGS((char_u *s, int attr));
-int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
-char_u *msg_strtrunc __ARGS((char_u *s, int force));
-void trunc_string __ARGS((char_u *s, char_u *buf, int room));
-void reset_last_sourcing __ARGS((void));
-void msg_source __ARGS((int attr));
-int emsg_not_now __ARGS((void));
-int emsg __ARGS((char_u *s));
-int emsg2 __ARGS((char_u *s, char_u *a1));
-void emsg_invreg __ARGS((int name));
-char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
-char_u *msg_may_trunc __ARGS((int force, char_u *s));
-int delete_first_msg __ARGS((void));
-void ex_messages __ARGS((exarg_T *eap));
-void msg_end_prompt __ARGS((void));
-void wait_return __ARGS((int redraw));
-void set_keep_msg __ARGS((char_u *s, int attr));
-void set_keep_msg_from_hist __ARGS((void));
-void msg_start __ARGS((void));
-void msg_starthere __ARGS((void));
-void msg_putchar __ARGS((int c));
-void msg_putchar_attr __ARGS((int c, int attr));
-void msg_outnum __ARGS((long n));
-void msg_home_replace __ARGS((char_u *fname));
-void msg_home_replace_hl __ARGS((char_u *fname));
-int msg_outtrans __ARGS((char_u *str));
-int msg_outtrans_attr __ARGS((char_u *str, int attr));
-int msg_outtrans_len __ARGS((char_u *str, int len));
-char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
-int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
-void msg_make __ARGS((char_u *arg));
-int msg_outtrans_special __ARGS((char_u *strstart, int from));
-char_u *str2special __ARGS((char_u **sp, int from));
-void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
-void msg_prt_line __ARGS((char_u *s, int list));
-void msg_puts __ARGS((char_u *s));
-void msg_puts_title __ARGS((char_u *s));
-void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
-void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
-void msg_puts_attr __ARGS((char_u *s, int attr));
-void may_clear_sb_text __ARGS((void));
-void clear_sb_text __ARGS((void));
-void show_sb_text __ARGS((void));
-int msg_use_printf __ARGS((void));
-void mch_errmsg __ARGS((char *str));
-void mch_msg __ARGS((char *str));
-void msg_moremsg __ARGS((int full));
-void repeat_message __ARGS((void));
-void msg_clr_eos __ARGS((void));
-void msg_clr_eos_force __ARGS((void));
-void msg_clr_cmdline __ARGS((void));
-int msg_end __ARGS((void));
-void msg_check __ARGS((void));
-void verbose_enter __ARGS((void));
-void verbose_leave __ARGS((void));
-void verbose_enter_scroll __ARGS((void));
-void verbose_leave_scroll __ARGS((void));
-void verbose_stop __ARGS((void));
-int verbose_open __ARGS((void));
-void give_warning __ARGS((char_u *message, int hl));
-void msg_advance __ARGS((int col));
-int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
-void display_confirm_msg __ARGS((void));
-int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
+extern int msg __ARGS((char_u *s));
+extern int verb_msg __ARGS((char_u *s));
+extern int msg_attr __ARGS((char_u *s, int attr));
+extern int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
+extern char_u *msg_strtrunc __ARGS((char_u *s, int force));
+extern void trunc_string __ARGS((char_u *s, char_u *buf, int room));
+extern void reset_last_sourcing __ARGS((void));
+extern void msg_source __ARGS((int attr));
+extern int emsg_not_now __ARGS((void));
+extern int emsg __ARGS((char_u *s));
+extern int emsg2 __ARGS((char_u *s, char_u *a1));
+extern void emsg_invreg __ARGS((int name));
+extern char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
+extern char_u *msg_may_trunc __ARGS((int force, char_u *s));
+extern int delete_first_msg __ARGS((void));
+extern void ex_messages __ARGS((exarg_T *eap));
+extern void msg_end_prompt __ARGS((void));
+extern void wait_return __ARGS((int redraw));
+extern void set_keep_msg __ARGS((char_u *s, int attr));
+extern void set_keep_msg_from_hist __ARGS((void));
+extern void msg_start __ARGS((void));
+extern void msg_starthere __ARGS((void));
+extern void msg_putchar __ARGS((int c));
+extern void msg_putchar_attr __ARGS((int c, int attr));
+extern void msg_outnum __ARGS((long n));
+extern void msg_home_replace __ARGS((char_u *fname));
+extern void msg_home_replace_hl __ARGS((char_u *fname));
+extern int msg_outtrans __ARGS((char_u *str));
+extern int msg_outtrans_attr __ARGS((char_u *str, int attr));
+extern int msg_outtrans_len __ARGS((char_u *str, int len));
+extern char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
+extern int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
+extern void msg_make __ARGS((char_u *arg));
+extern int msg_outtrans_special __ARGS((char_u *strstart, int from));
+extern char_u *str2special __ARGS((char_u **sp, int from));
+extern void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
+extern void msg_prt_line __ARGS((char_u *s, int list));
+extern void msg_puts __ARGS((char_u *s));
+extern void msg_puts_title __ARGS((char_u *s));
+extern void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
+extern void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
+extern void msg_puts_attr __ARGS((char_u *s, int attr));
+extern void may_clear_sb_text __ARGS((void));
+extern void clear_sb_text __ARGS((void));
+extern void show_sb_text __ARGS((void));
+extern int msg_use_printf __ARGS((void));
+extern void mch_errmsg __ARGS((char *str));
+extern void mch_msg __ARGS((char *str));
+extern void msg_moremsg __ARGS((int full));
+extern void repeat_message __ARGS((void));
+extern void msg_clr_eos __ARGS((void));
+extern void msg_clr_eos_force __ARGS((void));
+extern void msg_clr_cmdline __ARGS((void));
+extern int msg_end __ARGS((void));
+extern void msg_check __ARGS((void));
+extern void verbose_enter __ARGS((void));
+extern void verbose_leave __ARGS((void));
+extern void verbose_enter_scroll __ARGS((void));
+extern void verbose_leave_scroll __ARGS((void));
+extern void verbose_stop __ARGS((void));
+extern int verbose_open __ARGS((void));
+extern void give_warning __ARGS((char_u *message, int hl));
+extern void msg_advance __ARGS((int col));
+extern int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void display_confirm_msg __ARGS((void));
+extern int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
/* vim: set ft=c : */
extern void mch_print_start_line __ARGS((int margin, int page_line));
extern int mch_print_text_out __ARGS((char_u *p, int len));
extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-extern void mch_print_set_bg __ARGS((long_u bgcol));
-extern void mch_print_set_fg __ARGS((long_u fgcol));
+extern void mch_print_set_bg __ARGS((unsigned long bgcol));
+extern void mch_print_set_fg __ARGS((unsigned long fgcol));
extern char_u *mch_resolve_shortcut __ARGS((char_u *fname));
extern void win32_set_foreground __ARGS((void));
extern void serverInitMessaging __ARGS((void));
unsigned len;
win_T *wp = NULL;
qf_info_T *qi = &ql_info;
+ int res;
#ifdef FEAT_AUTOCMD
char_u *au_name = NULL;
(void)char_avail();
#endif
- if (qf_init(wp, fname, (eap->cmdidx != CMD_make
+ res = qf_init(wp, fname, (eap->cmdidx != CMD_make
&& eap->cmdidx != CMD_lmake) ? p_gefm : p_efm,
(eap->cmdidx != CMD_grepadd
- && eap->cmdidx != CMD_lgrepadd)) > 0
- && !eap->forceit)
+ && eap->cmdidx != CMD_lgrepadd));
+#ifdef FEAT_AUTOCMD
+ if (au_name != NULL)
+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
+ curbuf->b_fname, TRUE, curbuf);
+#endif
+ if (res > 0 && !eap->forceit)
{
if (wp != NULL)
qi = GET_LOC_LIST(wp);
mch_remove(fname);
vim_free(fname);
vim_free(cmd);
-
-#ifdef FEAT_AUTOCMD
- if (au_name != NULL)
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
-#endif
}
/*
qf_update_buffer(qi);
#endif
+#ifdef FEAT_AUTOCMD
+ if (au_name != NULL)
+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
+ curbuf->b_fname, TRUE, curbuf);
+#endif
+
/* Jump to first match. */
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
{
else
EMSG2(_(e_nomatch2), s);
-#ifdef FEAT_AUTOCMD
- if (au_name != NULL)
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
-#endif
-
theend:
vim_free(regmatch.regprog);
}
:catch
: $put =v:exception[:14]
:endtry
+:" List slices
+:$put =string(l[:])
+:$put =string(l[1:])
+:$put =string(l[:-2])
+:$put =string(l[0:8])
+:$put =string(l[8:-1])
:"
:" List identity
:let ll = l
:unlet d[-1]
:$put =string(d)
:"
+:" removing items out of range: silently skip items that don't exist
+let l = [0, 1, 2, 3]
+:unlet l[2:1]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:3]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:4]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:5]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-1:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-2:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-3:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-4:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-5:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-6:2]
+:$put =string(l)
+:"
+:" assignment to a list
+:let l = [0, 1, 2, 3]
+:let [va, vb] = l[2:3]
+:$put =va
+:$put =vb
+:try
+: let [va, vb] = l
+:catch
+: $put =v:exception[:14]
+:endtry
+:try
+: let [va, vb] = l[1:1]
+:catch
+: $put =v:exception[:14]
+:endtry
+:"
:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)
:let d = {}
:for i in range(1500)
{'a': 1}
1
Vim(put):E684:
+[1, 'as''d', [1, 2, function('strlen')], {'a': 1}]
+['as''d', [1, 2, function('strlen')], {'a': 1}]
+[1, 'as''d', [1, 2, function('strlen')]]
+[1, 'as''d', [1, 2, function('strlen')], {'a': 1}]
+[]
101101
{'1': 'asd', 'b': [1, 2, function('strlen')], '-1': {'a': 1}}asd
['-1', '1', 'b']
[1, 'as''d', {'a': 1}]
[4]
{'1': 99, '3': 33}
+[0, 1, 2, 3]
+[0, 1, 3]
+[0, 1]
+[0, 1]
+[0, 1]
+[0, 1, 2, 3]
+[0, 1, 3]
+[0, 3]
+[3]
+[3]
+[3]
+2
+3
+Vim(let):E687:
+Vim(let):E688:
3000 2900 2001 1600 1501
Vim(let):E716: 1500
NONE 2999
* VIM_VERSION_MEDIUM is used for the startup-screen.
* VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
*/
-#define VIM_VERSION_NODOT "vim70e"
-#define VIM_VERSION_SHORT "7.0e"
-#define VIM_VERSION_MEDIUM "7.0e07 BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23, compiled "
+#define VIM_VERSION_NODOT "vim70f"
+#define VIM_VERSION_SHORT "7.0f"
+#define VIM_VERSION_MEDIUM "7.0f BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0f BETA (2006 Apr 24)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0f BETA (2006 Apr 24, compiled "