Compare commits

...

47 Commits

Author SHA1 Message Date
Bram Moolenaar
42332f5856 updated for version 7.0104 2005-07-06 22:38:49 +00:00
Bram Moolenaar
dc27ac1c5e updated for version 7.0104 2005-07-06 22:35:45 +00:00
Bram Moolenaar
bfb2006fd5 updated for version 7.0104 2005-07-06 22:31:45 +00:00
Bram Moolenaar
551f84f4e8 updated for version 7.0104 2005-07-06 22:29:20 +00:00
Bram Moolenaar
1756879365 updated for version 7.0104 2005-07-06 22:28:03 +00:00
Bram Moolenaar
53180ce2e7 updated for version 7.0103 2005-07-05 21:48:14 +00:00
Bram Moolenaar
dfb9ac0021 updated for version 7.0103 2005-07-05 21:36:03 +00:00
Bram Moolenaar
0dc065ee7c updated for version 7.0102 2005-07-04 22:49:24 +00:00
Bram Moolenaar
7d1f5dbc0a updated for version 7.0101 2005-07-03 21:39:27 +00:00
Bram Moolenaar
51ac12f683 updated for version 7.0100 2005-07-02 23:21:11 +00:00
Bram Moolenaar
0d9c26dd83 updated for version 7.0100 2005-07-02 23:19:16 +00:00
Bram Moolenaar
f9184a1d31 updated for version 7.0100 2005-07-02 23:10:47 +00:00
Bram Moolenaar
0f7d31ad83 updated for version 7.0100 2005-07-02 23:09:03 +00:00
Bram Moolenaar
1f8a5f0eac updated for version 7.0099 2005-07-01 22:41:52 +00:00
Bram Moolenaar
ba4128faa3 updated for version 7.0099 2005-07-01 22:38:32 +00:00
Bram Moolenaar
7887d88a9f updated for version 7.0099 2005-07-01 22:33:52 +00:00
Bram Moolenaar
505e82870e updated for version 7.0099 2005-07-01 22:31:55 +00:00
Bram Moolenaar
7fae636fc8 updated for version 7.0098 2005-06-30 22:06:41 +00:00
Bram Moolenaar
d042c56e34 updated for version 7.0098 2005-06-30 22:04:15 +00:00
Bram Moolenaar
e6b165e0f4 updated for version 7.0098 2005-06-30 21:56:01 +00:00
Bram Moolenaar
9c96f592af updated for version 7.0098 2005-06-30 21:52:39 +00:00
Bram Moolenaar
42eeac3552 updated for version 7.0097 2005-06-29 22:40:58 +00:00
Bram Moolenaar
24bbcfe8fe updated for version 7.0096 2005-06-28 23:32:02 +00:00
Bram Moolenaar
d7b31706f7 updated for version 7.0096 2005-06-28 23:24:33 +00:00
Bram Moolenaar
a1ba811ac9 updated for version 7.0096 2005-06-28 23:23:32 +00:00
Bram Moolenaar
9a50b1bf21 updated for version 7.0095 2005-06-27 22:48:21 +00:00
Bram Moolenaar
39a58ca3d4 updated for version 7.0095 2005-06-27 22:42:44 +00:00
Bram Moolenaar
d4098f5f19 updated for version 7.0095 2005-06-27 22:37:13 +00:00
Bram Moolenaar
702517dd70 updated for version 7.0095 2005-06-27 22:34:07 +00:00
Bram Moolenaar
b61d40504e updated for version 7.0095 2005-06-27 22:29:54 +00:00
Bram Moolenaar
cf6bf39f68 updated for version 7.0095 2005-06-27 22:27:46 +00:00
Bram Moolenaar
238f4fa798 updated for version 7.0095 2005-06-27 22:25:50 +00:00
Bram Moolenaar
d9fba318b8 updated for version 7.0094 2005-06-26 22:34:35 +00:00
Bram Moolenaar
80b29f273d updated for version 7.0094 2005-06-26 22:30:47 +00:00
Bram Moolenaar
1e498f5e5d updated for version 7.0094 2005-06-26 22:29:44 +00:00
Bram Moolenaar
0017fc52cb updated for version 7.0094 2005-06-26 22:28:42 +00:00
Bram Moolenaar
4eec5ec8ce updated for version 7.0094 2005-06-26 22:26:21 +00:00
Bram Moolenaar
f461c8e7f8 updated for version 7.0093 2005-06-25 23:04:51 +00:00
Bram Moolenaar
ea408854a8 updated for version 7.0093 2005-06-25 22:49:46 +00:00
Bram Moolenaar
29a1c1d374 updated for version 7.0092 2005-06-24 23:11:15 +00:00
Bram Moolenaar
1ec484f58e updated for version 7.0092 2005-06-24 23:07:47 +00:00
Bram Moolenaar
0a5fe2140d updated for version 7.0092 2005-06-24 23:01:23 +00:00
Bram Moolenaar
c4def13f8b updated for version 7.0091 2005-06-23 22:39:27 +00:00
Bram Moolenaar
3b506942eb updated for version 7.0091 2005-06-23 22:36:45 +00:00
Bram Moolenaar
47cc752267 updated for version 7.0091 2005-06-23 22:31:01 +00:00
Bram Moolenaar
f417f2b6af updated for version 7.0091 2005-06-23 22:29:21 +00:00
Bram Moolenaar
f81b0fe011 updated for version 7.0091 2005-06-23 22:27:26 +00:00
314 changed files with 23632 additions and 11417 deletions

View File

@@ -122,8 +122,6 @@ SRC_ALL2 = \
src/proto/undo.pro \
src/proto/version.pro \
src/proto/window.pro \
src/spell/*.diff \
src/spell/Makefile \
# source files for Unix only
@@ -684,6 +682,9 @@ LANG_GEN = \
runtime/tutor/tutor.ru.* \
runtime/tutor/tutor.zh.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/main.aap \
# generic language files, binary
LANG_GEN_BIN = \
@@ -698,6 +699,7 @@ LANG_SRC = \
src/po/README_mvc.txt \
src/po/cleanup.vim \
src/po/Makefile \
src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \
src/po/sjiscorr.c \

View File

@@ -1,30 +1,22 @@
" Vim compiler file
" Compiler: BDF to PCF Conversion
" Maintainer: Nikolai Weibull <sourc@pcppopper.org>
" URL: http://www.pcppopper.org/vim/compiler/pcp/bdf/
" Latest Revision: 2004-05-22
" arch-tag: 2e2f3a55-199b-468c-aa2e-d6b1a7b87806
" Compiler: BDF to PCF Conversion
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("current_compiler")
finish
endif
let current_compiler = "bdf"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=bdftopcf\ $*
setlocal makeprg=bdftopcf\ $*
CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
\%-Z%p^,
\%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set sts=2 sw=2:

26
runtime/compiler/gcc.vim Normal file
View File

@@ -0,0 +1,26 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("current_compiler")
finish
endif
let current_compiler = "gcc"
let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
\%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,23 +1,17 @@
" Vim compiler file
" Compiler: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/compiler/pcp/rst/
" Latest Revision: 2004-05-22
" arch-tag: ac64a95a-5d45-493d-a9f9-f96fc8568657
" Compiler: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("current_compiler")
finish
endif
let current_compiler = "rst"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet errorformat=
setlocal errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,
\%f:%l:\ (%tNFO/1)\ %m,
\%f:%l:\ (%tARNING/2)\ %m,
@@ -29,5 +23,3 @@ CompilerSet errorformat=
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set sts=2 sw=2:

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0aa. Last change: 2005 Jun 16
*change.txt* For Vim version 7.0aa. Last change: 2005 Jun 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1527,4 +1527,8 @@ found here: |sort()|.
Note that using ":sort" with ":global" doesn't sort the matching lines, it's
quite useless.
The details about sorting depend on the library function used. There is no
guarantee that sorting is "stable" or obeys the current locale. You will have
to try it out.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Feb 14
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -726,7 +726,7 @@ Note: these are typed literally, they are not special keys!
effective buffer number (for ":r file" it is the current
buffer, the file being read is not in a buffer).
<amatch> when executing autocommands, is replaced with the match for
which this autocommand was executed. It differs form
which this autocommand was executed. It differs from
<afile> only when the file name isn't used to match with
(for FileType and Syntax events).
<sfile> when executing a ":source" command, is replaced with the

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2005 Jun 20
*eval.txt* For Vim version 7.0aa. Last change: 2005 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -36,7 +36,7 @@ done, the features in this document are not available. See |+eval| and
1.1 Variable types ~
*E712*
There are four types of variables:
There are five types of variables:
Number A 32 bit signed number.
Examples: -123 0x10 0177
@@ -50,6 +50,10 @@ Funcref A reference to a function |Funcref|.
List An ordered sequence of items |List|.
Example: [1, 2, ['a', 'b']]
Dictionary An associative, unordered array: Each entry has a key and a
value. |Dictionary|
Example: {'blue': "#0000ff", 'red': "#ff0000"}
The Number and String types are converted automatically, depending on how they
are used.
@@ -237,15 +241,23 @@ the same value. >
Note about comparing lists: Two lists are considered equal if they have the
same length and all items compare equal, as with using "==". There is one
exception: When comparing a number with a string and the string contains extra
characters beside the number they are not equal. Example: >
echo 4 == "4x"
exception: When comparing a number with a string they are considered
different. There is no automatic type conversion, as with using "==" on
variables. Example: >
echo 4 == "4"
< 1 >
echo [4] == ["4x"]
echo [4] == ["4"]
< 0
This is to fix the odd behavior of == that can't be changed for backward
compatibility reasons.
Thus comparing Lists is more strict than comparing numbers and strings. You
can compare simple values this way too by putting them in a string: >
:let a = 5
:let b = "5"
echo a == b
< 1 >
echo [a] == [b]
< 0
List unpack ~
@@ -1143,10 +1155,10 @@ v:beval_lnum The number of the line, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
*v:beval_text* *beval_text-variable*
v:beval_text The text under or after the mouse pointer. Usually a word as it is
useful for debugging a C program. 'iskeyword' applies, but a
dot and "->" before the position is included. When on a ']'
the text before it is used, including the matching '[' and
v:beval_text The text under or after the mouse pointer. Usually a word as
it is useful for debugging a C program. 'iskeyword' applies,
but a dot and "->" before the position is included. When on a
']' the text before it is used, including the matching '[' and
word before it. When on a Visual area within one line the
highlighted text is used.
Only valid while evaluating the 'balloonexpr' option.
@@ -1603,6 +1615,7 @@ setreg( {n}, {v}[, {opt}]) Number set register to value and type
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
simplify( {filename}) String simplify filename as much as possible
sort( {list} [, {func}]) List sort {list}, using {func} to compare
soundfold( {word}) String sound-fold {word}
spellbadword() String badly spelled word at cursor
spellsuggest({word} [, {max}]) List spelling suggestions
split( {expr} [, {pat} [, {keepempty}]])
@@ -2376,6 +2389,17 @@ function({name}) *function()* *E700*
{name} can be a user defined function or an internal function.
garbagecollect() *garbagecollect()*
Cleanup unused Lists and Dictionaries that have circular
references. There is hardly ever a need to invoke this
function, as it is automatically done when Vim runs out of
memory or is waiting for the user to press a key after
'updatetime'. Items without circular references are always
freed when they become unused.
This is useful if you have deleted a very big List and/or
Dictionary with circular references in a script that runs for
a long time.
get({list}, {idx} [, {default}]) *get()*
Get item {idx} from List {list}. When this item is not
available return {default}. Return zero when {default} is
@@ -3761,6 +3785,15 @@ sort({list} [, {func}]) *sort()* *E702*
let sortedlist = sort(mylist, "MyCompare")
<
*soundfold()*
soundfold({word})
Return the sound-folded equivalent of {word}. Uses the first
language in 'spellang' for the current window that supports
soundfolding. 'spell' must be set. When no sound folding is
possible the {word} is returned unmodified.
This can be used for making spelling suggestions. Note that
the method can be quite slow.
*spellbadword()*
spellbadword() Return the badly spelled word under or after the cursor.
The cursor is advanced to the start of the bad word.
@@ -3775,10 +3808,16 @@ spellsuggest({word} [, {max}])
{word} can be a badly spelled word followed by other text.
This allows for joining two words that were split. The
suggestions then also include the following text.
suggestions also include the following text, thus you can
replace a line.
{word} may also be a good word. Similar words will then be
returned. {word} itself is also included, most likely as the
first entry, thus this can be used to check spelling.
The spelling information for the current window is used. The
'spell' option must be set and 'spelllang' is relevant.
'spell' option must be set and the values of 'spelllang' and
'spellsuggest' are used.
split({expr} [, {pattern} [, {keepempty}]]) *split()*
@@ -6431,7 +6470,7 @@ These items are not allowed in the sandbox:
This is not guaranteed 100% secure, but it should block most attacks.
*:san* *:sandbox*
:sandbox {cmd} Execute {cmd} in the sandbox. Useful to evaluate an
:san[dbox] {cmd Execute {cmd} in the sandbox. Useful to evaluate an
option that may have been set from a modeline, e.g.
'foldexpr'.

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.0aa. Last change: 2005 Jun 16
*index.txt* For Vim version 7.0aa. Last change: 2005 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1137,6 +1137,7 @@ The commands are sorted on the non-optional part of their name.
|:elseif| :elsei[f] part of an :if command
|:emenu| :em[enu] execute a menu by name
|:endif| :en[dif] end previous :if
|:endfor| :endfo[r] end previous :for
|:endfunction| :endf[unction] end of a user function
|:endtry| :endt[ry] end previous :try
|:endwhile| :endw[hile] end previous :while
@@ -1158,11 +1159,12 @@ The commands are sorted on the non-optional part of their name.
|:folddoopen| :foldd[oopen] execute command on lines not in a closed fold
|:folddoclosed| :folddoc[losed] execute command on lines in a closed fold
|:foldopen| :foldo[pen] open folds
|:for| :for for loop
|:function| :fu[nction] define a user function
|:global| :g[lobal] execute commands for matching lines
|:goto| :go[to] go to byte in the buffer
|:grep| :gr[ep] run 'grepprg' and jump to first match
|:grepadd| :grepa[dd] like grep, but append to current list
|:grepadd| :grepa[dd] like :grep, but append to current list
|:gui| :gu[i] start the GUI
|:gvim| :gv[im] start the GUI
|:hardcopy| :ha[rdcopy] send text to the printer
@@ -1195,6 +1197,7 @@ The commands are sorted on the non-optional part of their name.
|:join| :j[oin] join lines
|:jumps| :ju[mps] print the jump list
|:k| :k set a mark
|:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|:keepjumps| :keepj[jumps] following command keeps jumplist and marks
|:list| :l[ist] print lines
@@ -1233,6 +1236,7 @@ The commands are sorted on the non-optional part of their name.
|:mode| :mod[e] show or change the screen mode
|:mzscheme| :mz[scheme] execute MzScheme command
|:mzfile| :mzf[ile] execute MzScheme script file
|:nbkey| :nb[key] pass a key to Netbeans
|:next| :n[ext] go to next file in the argument list
|:new| :new create a new empty window
|:nmap| :nm[ap] like ":map" but for Normal mode
@@ -1263,6 +1267,7 @@ The commands are sorted on the non-optional part of their name.
|:pedit| :ped[it] edit file in the preview window
|:perl| :pe[rl] execute Perl command
|:print| :p[rint] print lines
|:profdel| :profd[el] stop profiling a function or script
|:profile| :prof[ile] profiling functions and scripts
|:promptfind| :pro[mtfind] open GUI dialog for searching
|:promptrepl| :promtr[epl] open GUI dialog for search/replace
@@ -1312,6 +1317,7 @@ The commands are sorted on the non-optional part of their name.
|:substitute| :s[ubstitute] find and replace text
|:sNext| :sN[ext] split window and go to previous file in
argument list
|:sandbox| :san[dbox] execute a command in the sandbox
|:sargument| :sa[rgument] split window and go to specific file in
argument list
|:sall| :sal[l] open a window for each file in argument list
@@ -1357,7 +1363,9 @@ The commands are sorted on the non-optional part of their name.
|:snomagic| :sno[magic] :substitute with 'nomagic'
|:sort| :sor[t] sort lines
|:source| :so[urce] read Vim or Ex commands from a file
|:spelldump| :spelld[ump] split window and fill with all correct words
|:spellgood| :spe[llgood] add good word for spelling
|:spellrepall| :spellr[epall] replace all bad words like last |z?|
|:spellwrong| :spellw[rong] add spelling mistake
|:split| :sp[lit] split current window
|:sprevious| :spr[evious] split window and go to previous file in the
@@ -1411,6 +1419,8 @@ The commands are sorted on the non-optional part of their name.
|:version| :ve[rsion] print version number and other info
|:verbose| :verb[ose] execute command with 'verbose' set
|:vertical| :vert[ical] make following command split vertically
|:vimgrep| :vim[grep] search for pattern in files
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
|:viusage| :viu[sage] overview of Normal mode commands
|:view| :vie[w] edit a file read-only

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2005 Jun 21
*options.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1443,7 +1443,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|fold-marker|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a .vimrc file is found)
'compatible' 'cp' boolean (default on, off when a .vimrc or .gvimrc file
is found)
global
{not in Vi}
This option has the effect of making Vim either more Vi-compatible, or
@@ -1458,12 +1459,13 @@ A jump table for the options with a short description can be found at |Q_op|.
options. This default was chosen for those people who want to use Vim
just like Vi, and don't even (want to) know about the 'compatible'
option.
When a ".vimrc" file is found while Vim is starting up, this option is
switched off, and all options that have not been modified will be set
to the Vim defaults. Effectively, this means that when a ".vimrc"
file exists, Vim will use the Vim defaults, otherwise it will use the
Vi defaults. (Note: This doesn't happen for the system-wide vimrc
file). Also see |compatible-default| and |posix-compliance|.
When a ".vimrc" or ".gvimrc" file is found while Vim is starting up,
this option is switched off, and all options that have not been
modified will be set to the Vim defaults. Effectively, this means
that when a ".vimrc" or ".gvimrc" file exists, Vim will use the Vim
defaults, otherwise it will use the Vi defaults. (Note: This doesn't
happen for the system-wide vimrc or gvimrc file). Also see
|compatible-default| and |posix-compliance|.
You can also set this option with the "-C" argument, and reset it with
"-N". See |-C| and |-N|.
Switching this option off makes the Vim defaults be used for options
@@ -3316,7 +3318,8 @@ A jump table for the options with a short description can be found at |Q_op|.
t:Title,v:Visual,w:WarningMsg,W:WildMenu,
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn")
>:SignColumn,B:SpellBad,P:SpellCap,
R:SpellRare,L:SpellLocal")
global
{not in Vi}
This option can be used to set highlighting mode for various
@@ -3348,8 +3351,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-WildMenu| W wildcard matches displayed for 'wildmenu'
|hl-Folded| f line used for closed folds
|hl-FoldColumn| F 'foldcolumn'
|hl-DiffAdd| A added line in diff mode
|hl-DiffChange| C changed line in diff mode
|hl-DiffDelete| D deleted line in diff mode
|hl-DiffText| T inserted text in diff mode
|hl-SignColumn| > column used for |signs|
|hl-SpellBad| B misspelled word |spell|
|hl-SpellCap| P word that should start with capital|spell|
|hl-SpellRare| R rare word |spell|
|hl-SpellLocal| L word from other region |spell|
@@ -5633,6 +5641,20 @@ A jump table for the options with a short description can be found at |Q_op|.
When on spell checking will be done. See |spell|.
The languages are specified with 'spelllang'.
*'spellcapcheck'* *'spc'*
'spellcapcheck' 'spc' string (default "[.?!]\_[\])'" \t]\+")
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Pattern to locate the end of a sentence. The following word will be
checked to start with a capital letter. If not then it is highlighted
with SpellCap |hl-SpellCap|.
When this check is not wanted make this option empty.
Only used when 'spell' is set.
Be careful with special characters, see |option-backslash| about
including spaces and backslashes.
*'spellfile'* *'spf'*
'spellfile' 'spf' string (default empty)
local to buffer
@@ -5640,10 +5662,21 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+syntax|
feature}
Name of the word list file where words are added for the |zg| and |zw|
commands. It must end in ".add".
commands. It must end in ".{encoding}.add".
*E765*
It may also be a comma separated list of names. A count before the
|zg| and |zw| commands can be used to access each. This allows using
a personal word list file and a project word list file.
When a word is added while this option is empty Vim will set it for
you: Using the first "spell" directory in 'runtimepath' that is
writable and the first language name that appears in 'spelllang'.
writable and the first language name that appears in 'spelllang',
ignoring the region.
The resulting ".spl" file will be used for spell checking, it does not
have to appear in 'spelllang'.
Normally one file is used for all regions, but you can add the region
name if you want to. However, it will then only be used when
'spellfile' is set to it, for entries in 'spelllang' only files
without region name will be found.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5653,14 +5686,25 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the |+syntax|
feature}
A comma separated list of languages. when the 'spell' option is on
spellchecking will be done for these languages. Example: >
set spelllang=en_us,nl
< This means both US English and Dutch words are recognized. Words that
are not recognized will be highlighted.
A comma separated list of word list names. When the 'spell' option is
on spellchecking will be done for these languages. Example: >
set spelllang=en_us,nl,medical
< This means US English, Dutch and medical words are recognized. Words
that are not recognized will be highlighted.
The word list name must not include a comma or dot. Using a dash is
recommended to separate the two letter language name from a
specification. Thus "en-rare" is used for rare English words.
A region name must come last and have the form "_xx", where "xx" is
the two-letter, lower case region name. You can use more than one
region by listing them: "en_us,en_ca" supports both US and Canadian
English, but not words specific for Australia, New Zealand or Great
Britain.
As a special case the name of a .spl file can be given as-is. This is
mainly for testing purposes. You must make sure the correct encoding
is used, Vim doesn't check it.
When 'encoding' is set the word lists are reloaded. Thus it's a good
idea to set 'spelllang' after setting 'encoding'.
More info at |spell|.
How the related spell files are found is explained here: |spell-load|.
*'spellsuggest'* *'sps'*
'spellsuggest' 'sps' string (default "best")
@@ -5668,17 +5712,55 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Method used for spelling suggestions |z?|. Can be one of these
values:
Methods used for spelling suggestions. Both for the |z?| command and
the |spellsuggest()| function. This is a comma-separated list of
items:
best Method that works best for English. Finds small
changes and uses some sound-a-like scoring.
double Uses two methods and mixes the results. The first
method is finding small changes, the other method
best Internal method that works best for English. Finds
changes like "fast" and uses a bit of sound-a-like
scoring to improve the ordering.
double Internal method that uses two methods and mixes the
results. The first method is "fast", the other method
computes how much the suggestion sounds like the bad
word. Can be slow and doesn't always give better
results.
fast Only check for small changes.
word. That only works when the language specifies
sound folding. Can be slow and doesn't always give
better results.
fast Internal method that only checks for simple changes:
character inserts/deletes/swaps. Works well for
simple typing mistakes.
file:{filename} Read file {filename}, which must have two columns,
separated by a slash. The first column contains the
bad word, the second column the suggested good word.
Example:
theribal/terrible ~
Use this for common mistakes that do not appear at the
top of the suggestion list with the internal methods.
Lines without a slash are ignored, use this for
comments.
The file is used for all languages.
expr:{expr} Evaluate expression {expr}. Use a function to avoid
trouble with spaces. |v:val| holds the badly spelled
word. The expression must evaluate to a List of
Lists, each with a suggestion and a score.
Example:
[['the', 33], ['that', 44]]
Set 'verbose' and use |z?| to see the scores that the
internal methods use. A lower score is better.
This may invoke |spellsuggest()| if you temporarily
set 'spellsuggest' to exclude the "expr:" part.
Errors are silently ignored, unless you set the
'verbose' option to a non-zero value.
Only one of "best", "double" or "fast" may be used. The others may
appear several times in any order. Example: >
:set sps=file:~/.vim/sugg,best,expr:MySuggest()
<
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -686,8 +686,10 @@ Short explanation of each option: *option-list*
|'foldnestmax'| |'fdn'| maximum fold depth
|'foldopen'| |'fdo'| for which commands a fold will be opened
|'foldtext'| |'fdt'| expression used to display for a closed fold
|'formatlistpat'| |'flp'| pattern used to recognize a list header
|'formatoptions'| |'fo'| how automatic formatting is to be done
|'formatprg'| |'fp'| name of external program used with "gq" command
|'fsync'| |'fs'| whether to invoke fsync() after file write
|'gdefault'| |'gd'| the ":substitute" flag 'g' is default on
|'grepformat'| |'gfm'| format of 'grepprg' output
|'grepprg'| |'gp'| program to use for ":grep"
@@ -814,6 +816,7 @@ Short explanation of each option: *option-list*
|'shellquote'| |'shq'| quote character(s) for around shell command
|'shellredir'| |'srr'| string to put output of filter in a temp file
|'shellslash'| |'ssl'| use forward slash for shell file names
|'shelltemp'| |'stmp'| whether to use a temp file for shell commands
|'shelltype'| |'st'| Amiga: influences how to use a shell
|'shellxquote'| |'sxq'| like 'shellquote', but include redirection
|'shiftround'| |'sr'| round indent to multiple of shiftwidth
@@ -831,6 +834,11 @@ Short explanation of each option: *option-list*
|'smartindent'| |'si'| smart autoindenting for C programs
|'smarttab'| |'sta'| use 'shiftwidth' when inserting <Tab>
|'softtabstop'| |'sts'| number of spaces that <Tab> uses while editing
|'spell'| enable spell checking
|'spellcapcheck'| |'spc'| pattern to locate end of a sentence
|'spellfile'| |'spf'| files where |zg| and |zw| store words
|'spelllang'| |'spl'| language(s) to do spell checking for
|'spellsuggest'| |'sps'| method(s) used to suggest spelling corrections
|'splitbelow'| |'sb'| new window from split is below the current one
|'splitright'| |'spr'| new window is put right of the current one
|'startofline'| |'sol'| commands move cursor to first blank in line
@@ -875,6 +883,7 @@ Short explanation of each option: *option-list*
|'updatecount'| |'uc'| after this many characters flush swap file
|'updatetime'| |'ut'| after this many milliseconds flush swap file
|'verbose'| |'vbs'| give informative messages
|'verbosefile'| |'vfile'| file to write messages in
|'viewdir'| |'vdir'| directory where to store files with :mkview
|'viewoptions'| |'vop'| specifies what to save for :mkview
|'viminfo'| |'vi'| use .viminfo file upon startup and exiting
@@ -888,6 +897,7 @@ Short explanation of each option: *option-list*
|'wildignore'| |'wig'| files matching these patterns are not completed
|'wildmenu'| |'wmnu'| use menu for command line completion
|'wildmode'| |'wim'| mode for 'wildchar' command-line expansion
|'wildoptions'| |'wop'| specifies how command line completion is done.
|'winaltkeys'| |'wak'| when the windows system handles ALT keys
|'winheight'| |'wh'| minimum number of lines for the current window
|'winfixheight'| |'wfh'| keep window height when opening/closing windows

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Jun 16
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Jun 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -515,6 +515,9 @@ DELETING BREAKPOINTS
Delete breakpoint {nr}. Use |:breaklist| to see the number of
each breakpoint.
:breakd[el] *
Delete all breakpoints.
:breakd[el] func [lnum] {name}
Delete a breakpoint in a function.
@@ -576,6 +579,11 @@ It is only included when Vim was compiled with "huge" features.
this command.
:profd[el] ... *:profd* *:profdel*
Stop profiling for the arguments specified. See |:breakdel|
for the arguments.
You must always start with a ":profile start fname" command. The resulting
file is written when Vim exits. Here is an example of the output, with line
numbers prepended for the explanation:

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 22
*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,8 +7,9 @@
Spell checking *spell*
1. Quick start |spell-quickstart|
2. Generating a spell file |spell-mkspell|
3. Spell file format |spell-file-format|
2. Remarks on spell checking |spell-remarks|
3. Generating a spell file |spell-mkspell|
4. Spell file format |spell-file-format|
{Vi does not have any of these commands}
@@ -26,6 +27,7 @@ This switches on the 'spell' option and specifies to check for US English.
The words that are not recognized are highlighted with one of these:
SpellBad word not recognized |hl-SpellBad|
SpellCap word not capitalised |hl-SpellCap|
SpellRare rare word |hl-SpellRare|
SpellLocal wrong spelling for selected region |hl-SpellLocal|
@@ -36,14 +38,13 @@ To search for the next misspelled word:
*]s* *E756*
]s Move to next misspelled word after the cursor.
A count before the command can be used to repeat.
This uses the @Spell and @NoSpell clusters from syntax
highlighting, see |spell-syntax|.
*[s*
[s Like "]s" but search backwards, find the misspelled
word before the cursor. Doesn't recognize words
split over two lines, thus may stop at words that are
not highlighted as bad.
not highlighted as bad. Does not stop at word with
missing capital at the start of a line.
*]S*
]S Like "]s" but only stop at bad words, not at rare
@@ -56,38 +57,78 @@ To search for the next misspelled word:
To add words to your own word list: *E764*
*zg*
zg Add word under the cursor as a good word to
'spellfile'. In Visual mode the selected characters
are added as a word (including white space!).
zg Add word under the cursor as a good word to the first
name in 'spellfile'. In Visual mode the selected
characters are added as a word (including white
space!). If the word is explicitly marked as bad word
in another spell file the result is unpredictable.
A count may precede the command to indicate the entry
in 'spellfile' to be used. A count of two uses the
second entry.
*zG*
zG Like "zg" but add the word to the internal word list
|internal-wordlist|.
*zw*
zw Add word under the cursor as a wrong (bad) word to
'spellfile'. In Visual mode the selected characters
are added as a word (including white space!).
zw Like "zg" but mark the word as a wrong (bad) word.
*zW*
zW Like "zw" but add the word to the internal word list
|internal-wordlist|.
*:spe* *:spellgood*
:spe[llgood] {word} Add [word} as a good word to 'spellfile'.
:[count]spe[llgood] {word}
Add {word} as a good word to 'spellfile', like with
"zg". Without count the first name is used, with a
count of two the second entry, etc.
:spe[llgood]! {word} Add {word} as a good word to the internal word list,
like with "zG".
*:spellw* *:spellwrong*
:spellw[rong] {word} Add [word} as a wrong (bad) word to 'spellfile'.
:[count]spellw[rong] {word}
Add {word} as a wrong (bad) word to 'spellfile', as
with "zw". Without count the first name is used, with
a count of two the second entry, etc.
After adding a word to 'spellfile' its associated ".spl" file will
automatically be updated. More details about the 'spellfile' format below
|spell-wordlist-format|.
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
list.
After adding a word to 'spellfile' with the above commands its associated
".spl" file will automatically be updated and reloaded. If you change
'spellfile' manually you need to use the |:mkspell| command. This sequence of
commands mostly works well: >
:edit <file in 'spellfile'>
< (make changes to the spell file) >
:mkspell! %
More details about the 'spellfile' format below |spell-wordlist-format|.
*internal-wordlist*
The internal word list is used for all buffers where 'spell' is set. It is
not stored, it is lost when you exit Vim. It is also cleared when 'encoding'
is set.
Finding suggestions for bad words:
*z?*
z? For the word under/after the cursor suggest correctly
spelled words. This also works to find alternative
for words that are not highlighted as bad words.
spelled words. This also works to find alternatives
for a word that is not highlighted as a bad word,
e.g., when the word after it is bad.
The results are sorted on similarity to the word
under/after the cursor.
This may take a long time. Hit CTRL-C when you are
bored.
This does not work when there is a line break halfway
a bad word (e.g., "the the").
You can enter the number of your choice or press
<Enter> if you don't want to replace.
<Enter> if you don't want to replace. You can also
use the mouse to click on your choice (only works if
the mouse can be used in Normal mode and when there
are no line wraps). Click on the first (header) line
to cancel.
If 'verbose' is non-zero a score will be displayed to
indicate the likeliness to the badly spelled word (the
higher the score the more different).
@@ -95,19 +136,30 @@ z? For the word under/after the cursor suggest correctly
repeat the word replacement. This works like "ciw",
the good word and <Esc>.
*:spellr* *:spellrepall* *E752* *E753*
:spellr[epall] Repeat the replacement done by |z?| for all matches
with the replaced word in the current window.
The 'spellsuggest' option influences how the list of suggestions is generated
and sorted. See |'spellsuggest'|.
The 'spellcapcheck' option is used to check the first word of a sentence
starts with a capital. This doesn't work for the first word in the file.
When there is a line break right after a sentence the highlighting of the next
line may be postponed. Use |CTRL-L| when needed.
==============================================================================
2. Remarks on spell checking *spell-remarks*
PERFORMANCE
Note that Vim does on-the-fly spell checking. To make this work fast the
word list is loaded in memory. Thus this uses a lot of memory (1 Mbyte or
more). There might also be a noticeable delay when the word list is loaded,
which happens when 'spelllang' or 'spell' is set. Each word list is only
loaded once, they are not deleted when 'spelllang' is made empty or 'spell' is
reset. When 'encoding' is set the word lists are reloaded, thus you may
notice a delay then too.
Vim does on-the-fly spell checking. To make this work fast the word list is
loaded in memory. Thus this uses a lot of memory (1 Mbyte or more). There
might also be a noticeable delay when the word list is loaded, which happens
when 'spell' is set and when 'spelllang' is set while 'spell' was already set.
To minimize the delay each word list is only loaded once, it is not deleted
when 'spelllang' is made empty or 'spell' is reset. When 'encoding' is set
all the word lists are reloaded, thus you may notice a delay then too.
REGIONS
@@ -129,20 +181,32 @@ Always use lowercase letters for the language and region names.
When adding a word with |zg| or another command it's always added for all
regions. You can change that by manually editing the 'spellfile'. See
|spell-wordlist-format|.
|spell-wordlist-format|. Note that the regions as specified in the files in
'spellfile' are only used when all entries in "spelllang" specify the same
region (not counting files specified by their .spl name).
SPELL FILES
SPELL FILES *spell-load*
Vim searches for spell files in the "spell" subdirectory of the directories in
'runtimepath'. The name is: LL.EEE.spl, where:
LL the language name
EEE the value of 'encoding'
The value for "LL" comes from 'spelllang', but excludes the region name.
Examples:
'spelllang' LL ~
en_us en
en-rare en-rare
medical_ca medical
Only the first file is loaded, the one that is first in 'runtimepath'. If
this succeeds then additionally files with the name LL.EEE.add.spl are loaded.
All the ones that are found are used.
Additionally, the files related to the names in 'spellfile' are loaded. These
are the files that |zg| and |zw| add good and wrong words to.
Exceptions:
- Vim uses "latin1" when 'encoding' is "iso-8859-15". The euro sign doesn't
matter for spelling.
@@ -198,7 +262,7 @@ include characters like '-' in 'iskeyword'. The word characters do depend on
The table with word characters is stored in the main .spl file. Therefore it
matters what the current locale is when generating it! A .add.spl file does
not contain a word table.
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.
@@ -244,36 +308,44 @@ find these functions useful:
spellbadword() find badly spelled word at the cursor
spellsuggest() get list of spelling suggestions
soundfold() get the sound-a-like version of a word
==============================================================================
2. Generating a spell file *spell-mkspell*
3. Generating a spell file *spell-mkspell*
Vim uses a binary file format for spelling. This greatly speeds up loading
the word list and keeps it small.
*.aff* *.dic* *Myspell*
You can create a Vim spell file from the .aff and .dic files that Myspell
uses. Myspell is used by OpenOffice.org and Mozilla. You should be able to
find them here:
http://lingucomponent.openoffice.org/spell_dic.html
You can also use a plain word list. The results are the same, the choice
depends on what you find.
depends on what word lists you can find.
If you install Aap (from www.a-a-p.org) you can use the recipes in the
runtime/spell/??/ directories. Aap will take care of downloading the files,
apply patches needed for Vim and build the .spl file.
Make sure your current locale is set properly, otherwise Vim doesn't know what
characters are upper/lower case letters. If the locale isn't available (e.g.,
when using an MS-Windows codepage on Unix) add tables to the .aff file
|spell-affix-chars|.
|spell-affix-chars|. If the .aff file doesn't define a table then the word
table of the currently active spelling is used. If spelling is not active
then Vim will try to guess.
:mksp[ell][!] [-ascii] {outname} {inname} ... *:mksp* *:mkspell*
*:mksp* *:mkspell*
:mksp[ell][!] [-ascii] {outname} {inname} ...
Generate a Vim spell file word lists. Example: >
:mkspell nl nl_NL.words
<
:mkspell /tmp/nl nl_NL.words
< *E751*
When {outname} ends in ".spl" it is used as the output
file name. Otherwise it should be a language name,
such as "en". The file written will be
{outname}.{encoding}.spl. {encoding} is the value of
the 'encoding' option.
such as "en", without the region name. The file
written will be "{outname}.{encoding}.spl", where
{encoding} is the value of the 'encoding' option.
When the output file already exists [!] must be added
When the output file already exists [!] must be used
to overwrite it.
When the [-ascii] argument is present, words with
@@ -299,13 +371,18 @@ when using an MS-Windows codepage on Unix) add tables to the .aff file
the optimal word tree (Polish requires a few hundred
Mbyte). The final result will be much smaller.
When the spell file was written all currently used
spell files will be reloaded.
After the spell file was written and it was being used
in a buffer it will be reloaded automatically.
:mksp[ell] [-ascii] {add-name}
Like ":mkspell" above, using {add-name} as the input
file and producing an output file that has ".spl"
appended.
:mksp[ell] [-ascii] {name}.{enc}.add
Like ":mkspell" above, using {name}.{enc}.add as the
input file and producing an output file in the same
directory that has ".spl" appended.
:mksp[ell] [-ascii] {name}
Like ":mkspell" above, using {name} as the input file
and producing an output file in the same directory
that has ".{enc}.spl" appended.
Since you might want to change a Myspell word list for use with Vim the
following procedure is recommended:
@@ -315,9 +392,11 @@ following procedure is recommended:
3. Change the xx_YY.aff and xx_YY.dic files to remove bad words, add missing
words, define word characters with FOL/LOW/UPP, etc. The distributed
"src/spell/*.diff" files can be used.
4. Set 'encoding' to the desired encoding and use |:mkspell| to generate the
Vim spell file.
5. Try out the spell file with ":set spell spelllang=xx_YY".
4. Start Vim with the right locale and use |:mkspell| to generate the Vim
spell file.
5. Try out the spell file with ":set spell spelllang=xx" if you wrote it in
a spell directory in 'runtimepath', or ":set spelllang=xx.enc.spl" if you
wrote it somewhere else.
When the Myspell files are updated you can merge the differences:
1. Obtain the new Myspell files as xx_YY.new.aff and xx_UU.new.dic.
@@ -327,57 +406,93 @@ When the Myspell files are updated you can merge the differences:
You may also need to change xx_YY.aff.
4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
SPELL FILE DUMP
If for some reason you want to check what words are supported by the currently
used spelling files, use this command:
*:spelldump* *:spelld*
:spelld[ump] Open a new window and fill it with all currently valid
words.
Note: For some languages the result may be enormous,
causing Vim to run out of memory.
The format of the word list is used |spell-wordlist-format|. You should be
able to read it with ":mkspell" to generate one .spl file that includes all
the words.
When all entries to 'spelllang' use the same regions or no regions at all then
the region information is included in the dumped words. Otherwise only words
for the current region are included and no "/regions" line is generated.
Comment lines with the name of the .spl file are used as a header above the
words that were generated from that .spl file.
==============================================================================
9. Spell file format *spell-file-format*
4. Spell file format *spell-file-format*
This is the format of the files that are used by the person who creates and
maintains a word list.
Note that we avoid the word "dictionary" here. That is because the goal of
spell checking differs from writing a dictionary (as in the book). For
spelling we need a list of words that are OK, thus need not to be highlighted.
Names will not appear in a dictionary, but do appear in a word list. And
some old words are rarely used and are common misspellings. These do appear
in a dictionary but not in a word list.
spelling we need a list of words that are OK, thus should not to be
highlighted. Person and company names will not appear in a dictionary, but do
appear in a word list. And some old words are rarely used while they are
common misspellings. These do appear in a dictionary but not in a word list.
There are two formats: one with affix compression and one without. The files
with affix compression are used by Myspell (Mozilla and OpenOffice.org). This
requires two files, one with .aff and one with .dic extension. The second
format is a list of words.
There are two formats: A straight list of words and a list using affix
compression. The files with affix compression are used by Myspell (Mozilla
and OpenOffice.org). This requires two files, one with .aff and one with .dic
extension.
FORMAT OF WORD LIST *spell-wordlist-format*
FORMAT OF STRAIGHT WORD LIST *spell-wordlist-format*
The words must appear one per line. That is all that is required.
Additionally the following items are recognized:
- Empty and blank lines are ignored.
- Lines starting with a # are ignored (comment lines).
- A line starting with "/encoding=", before any word, specifies the encoding
of the file. After the second '=' comes an encoding name. This tells Vim
to setup conversion from the specified encoding to 'encoding'.
to setup conversion from the specified encoding to 'encoding'. Thus you can
use one word list for several target encodings.
- A line starting with "/regions=" specifies the region names that are
supported. Each region name must be two ASCII letters. The first one is
region 1. Thus "/regions=usca" has region 1 "us" and region 2 "ca".
In an addition word list the list should be equal to the main word list!
- A line starting with "/?" specifies a word that should be marked as rare.
- A line starting with "/!" specifies a word that should be marked as bad.
- A line starting with "/=" specifies a word where case must match exactly.
A "?" or "!" may be following: "/=?" and "/=!".
- Digits after "/" indicate the regions in which the word is valid. If no
regions are specified the word is valid in all regions.
In an addition word list the region names should be equal to the main word
list!
- Other lines starting with '/' are reserved for future use. The ones that
are not recognized are ignored (but you do get a warning message).
- A "/" may follow the word with the following items:
= Case must match exactly.
? Rare word.
! Bad (wrong) word.
digit A region in which the word is valid. If no regions are
specified the word is valid in all regions.
Example:
# This is an example word list comment
/encoding=latin1 encoding of the file
/regions=uscagb regions "us", "ca" and "gb"
example word for all regions
/1blah word for region 1 "us"
/!vim bad word
/?3Campbell rare word in region 3 "gb"
/='s mornings keep-case word
blah/12 word for regions "us" and "ca"
vim/! bad word
Campbell/?3 rare word in region 3 "gb"
's mornings/= keep-case word
Note that when "/=" is used the same word with all upper-case letters is not
accepted. This is different from a word with mixed case that is automatically
marked as keep-case, those words may appear in all upper-case letters.
FORMAT WITH AFFIX COMPRESSION
@@ -435,7 +550,7 @@ is required at this position. The same word with a lower-case letter at this
position will not match. When some of the other letters are upper-case it will
not match either.
The same word with all upper-case characters will always be OK.
The word with all upper-case characters will always be OK.
word list matches does not match ~
als als Als ALS ALs AlS aLs aLS
@@ -452,7 +567,9 @@ when it appears with a non-word character before and after it. For Myspell a
word starting with a non-word character probably won't work.
After the word there is an optional slash and flags. Most of these flags are
letters that indicate the affixes that can be used with this word.
letters that indicate the affixes that can be used with this word. These are
specified with SFX and PFX lines in the .aff file. See the Myspell
documentation.
*spell-affix-vim*
A flag that Vim adds and is not in Myspell is the flag defined with KEP in the
@@ -460,9 +577,12 @@ affix file. This has the meaning that case matters. This can be used if the
word does not have the first letter in upper case at the start of a sentence.
Example (assuming that = was used for KEP):
word list matches does not match ~
's morgens/= 's morgens 'S morgens 's Morgens
's Morgens 's Morgens 'S morgens 's morgens
word list matches does not match ~
's morgens/= 's morgens 'S morgens 's Morgens 'S MORGENS
's Morgens 's Morgens 'S MORGENS 'S morgens 's morgens
The flag can also be used to avoid that the word matches when it is in all
upper-case letters.
*spell-affix-mbyte*
The basic word list is normally in an 8-bit encoding, which is mentioned in
@@ -470,7 +590,8 @@ the affix file. The affix file must always be in the same encoding as the
word list. This is compatible with Myspell. For Vim the encoding may also be
something else, any encoding that "iconv" supports. The "SET" line must
specify the name of the encoding. When using a multi-byte encoding it's
possible to use more different affixes.
possible to use more different affixes (but Myspell doesn't support that, thus
you may not want to use it anyway).
CHARACTER TABLES
@@ -505,20 +626,55 @@ ASCII characters should be omitted, Vim always handles these in the same way.
When the encoding is UTF-8 no word characters need to be specified.
*E763*
All spell files for the same encoding must use the same word characters,
otherwise they can't be combined without errors. The XX.ascii.spl spell file
generated with the "-ascii" argument will not contain the table with
characters, so that it can be combine with spell files for any encoding.
Vim allows you to use spell checking for several languages in the same file.
You can list them in the 'spelllang' option. As a consequence all spell files
for the same encoding must use the same word characters, otherwise they can't
be combined without errors. If you get a warning that the word tables differ
you may need to generate the .spl file again with |:mkspell|. Check the FOL,
LOW and UPP lines in the used .aff file.
The XX.ascii.spl spell file generated with the "-ascii" argument will not
contain the table with characters, so that it can be combine with spell files
for any encoding. The .add.spl files also do not contain the table.
MID-WORD CHARACTERS
*spell-midword*
Some characters are only to be considered word characters if they are used in
between two ordinary word characters. An example is the single quote: It is
often used to put text in quotes, thus it can't be recognized as a word
character, but when it appears in between word characters it must be part of
the word. This is needed to detect a spelling error such as they'are. That
should be they're, but since "they" and "are" are words themselves that would
go unnoticed.
These characters are defined with MIDWORD in the .aff file:
MIDWORD '- ~
AFFIXES
*spell-affix-PFX* *spell-affix-SFX*
The usual PFX (prefix) and SFX (suffix) lines are supported (see the Myspell
documentation). Note that Myspell ignores any extra text after the relevant
info. Vim requires this text to start with a "#" so that mistakes don't go
unnoticed. Example:
documentation or the Aspell manual:
http://aspell.net/man-html/Affix-Compression.html).
SFX F 0 in [^i]n # Spion > Spionin ~
Note that Myspell ignores any extra text after the relevant info. Vim
requires this text to start with a "#" so that mistakes don't go unnoticed.
Example:
SFX F 0 in [^i]n # Spion > Spionin ~
SFX F 0 nen in # Bauerin > Bauerinnen ~
An extra item for Vim is the "rare" flag. It must come after the other
fields, before a comment. When used then all words that use the affix will be
marked as rare words. Example:
PFX F 0 nene . rare ~
SFX F 0 oin n rare # hardly ever used ~
However, if the word also appears as a good word in another way it won't be
marked as rare.
*spell-affix-PFXPOSTPONE*
When an affix file has very many prefixes that apply to many words it's not
@@ -564,8 +720,12 @@ bad words. Example:
BAD ! ~
This can be used to exclude words that would otherwise be good. For example
"the the". Once a word has been marked as bad it won't be undone by
encountering the same word as good.
"the the" in the .dic file:
the the/! ~
Once a word has been marked as bad it won't be undone by encountering the same
word as good.
REPLACEMENTS *spell-affix-REP*
@@ -581,11 +741,14 @@ used to make spelling suggestions. The items define the "from" text and the
REP ch k ~
The first line specifies the number of REP lines following. Vim ignores it.
Don't include simple one-character replacements or swaps. Vim will try these
anyway. You can include whole words if you want to, but you might want to use
the "file:" item in 'spellsuggest' instead.
SIMILAR CHARACTERS *spell-affix-MAP*
In the affix file MAP items can be used to define letters that very much
In the affix file MAP items can be used to define letters that are very much
alike. This is mostly used for a letter with different accents. This is used
to prefer suggestions with these letters substituted. Example:
@@ -595,22 +758,24 @@ to prefer suggestions with these letters substituted. Example:
The first line specifies the number of MAP lines following. Vim ignores it.
A letter must only appear in one of the MAP items. It's a bit more efficient
if the first letter is ASCII or at least one without accents.
Each letter must appear in only one of the MAP items. It's a bit more
efficient if the first letter is ASCII or at least one without accents.
SOUNDS-A-LIKE *spell-affix-SAL*
SOUND-A-LIKE *spell-affix-SAL*
In the affix file SAL items can be used to define the sounds-a-like mechanism
to be used. The main items define the "from" text and the "to" replacement.
Example:
Simplistic example:
SAL CIA X ~
SAL CH X ~
SAL C K ~
SAL K K ~
TODO: explain how it works.
There are a few rules and this can become quite complicated. An explanation
how it works can be found in the Aspell manual:
http://aspell.net/man-html/Phonetic-Code.html.
There are a few special items:
@@ -620,4 +785,32 @@ There are a few special items:
"1" has the same meaning as "true". Any other value means "false".
SIMPLE SOUNDFOLDING *spell-affix-SOFOFROM* *spell-affix-SOFOTO*
The SAL mechanism is complex and slow. A simpler mechanism is mapping all
characters to another character, mapping similar sounding characters to the
same character. At the same time this does case folding. You can not have
both SAL items and simple soundfolding.
There are two items required: one to specify the characters that are mapped
and one that specifies the characters they are mapped to. They must have
exactly the same number of characters. Example:
SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ~
SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkes ~
In the example all vowels are mapped to the same character 'e'. Another
method would be to leave out all vowels. Some characters that sound nearly
the same and are often mixed up, such as 'm' and 'n', are mapped to the same
character. Don't do this too much, all words will start looking alike.
Characters that do not appear in SOFOFROM will be left out, except that all
white space is replaced by one space. Sequences of the same character in
SOFOFROM are replaced by one.
You can use the |soundfold()| function to try out the results. Or set the
'verbose' option to see the score in the output of the |z?| command.
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0aa. Last change: 2005 May 31
*starting.txt* For Vim version 7.0aa. Last change: 2005 Jun 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -890,7 +890,8 @@ set, it will be set to 'nocompatible'. This has the side effect of setting or
resetting other options (see 'compatible'). But only the options that have
not been set or reset will be changed. This has the same effect like the
value of 'compatible' had this value when starting Vim. Note that this
doesn't happen for the system-wide vimrc file.
doesn't happen for the system-wide vimrc file. It does also happen for gvimrc
files.
But there is a side effect of setting or resetting 'compatible' at the moment
a .vimrc file is found: Mappings are interpreted the moment they are

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Jun 03
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3906,6 +3906,9 @@ SpecialKey Meta and special keys listed with ":map", also for text used
really is.
*hl-SpellBad*
SpellBad Word that is not recognized by the spellchecker. |spell|
This will be combined with the highlighting used otherwise.
*hl-SpellCap*
SpellCap Word that should start with a capital. |spell|
This will be combined with the highlighting used otherwise.
*hl-SpellLocal*
SpellLocal Word that is recognized by the spellchecker as one that is

View File

@@ -728,7 +728,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'sol' options.txt /*'sol'*
'sourceany' vi_diff.txt /*'sourceany'*
'sp' options.txt /*'sp'*
'spc' options.txt /*'spc'*
'spell' options.txt /*'spell'*
'spellcapcheck' options.txt /*'spellcapcheck'*
'spellfile' options.txt /*'spellfile'*
'spelllang' options.txt /*'spelllang'*
'spellsuggest' options.txt /*'spellsuggest'*
@@ -1226,6 +1228,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
-y starting.txt /*-y*
. repeat.txt /*.*
.Xdefaults gui_x11.txt /*.Xdefaults*
.aff spell.txt /*.aff*
.dic spell.txt /*.dic*
.exrc starting.txt /*.exrc*
.gvimrc gui.txt /*.gvimrc*
.vimrc starting.txt /*.vimrc*
@@ -2230,6 +2234,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:print various.txt /*:print*
:pro change.txt /*:pro*
:prof repeat.txt /*:prof*
:profd repeat.txt /*:profd*
:profdel repeat.txt /*:profdel*
:profile repeat.txt /*:profile*
:promptfind change.txt /*:promptfind*
:promptr change.txt /*:promptr*
@@ -2408,7 +2414,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:source_crnl repeat.txt /*:source_crnl*
:sp windows.txt /*:sp*
:spe spell.txt /*:spe*
:spelld spell.txt /*:spelld*
:spelldump spell.txt /*:spelldump*
:spellgood spell.txt /*:spellgood*
:spellr spell.txt /*:spellr*
:spellrepall spell.txt /*:spellrepall*
:spellw spell.txt /*:spellw*
:spellwrong spell.txt /*:spellwrong*
:split windows.txt /*:split*
@@ -3703,6 +3713,9 @@ E748 repeat.txt /*E748*
E749 eval.txt /*E749*
E75 vi_diff.txt /*E75*
E750 repeat.txt /*E750*
E751 spell.txt /*E751*
E752 spell.txt /*E752*
E753 spell.txt /*E753*
E754 spell.txt /*E754*
E756 spell.txt /*E756*
E758 spell.txt /*E758*
@@ -3713,6 +3726,7 @@ E761 spell.txt /*E761*
E762 spell.txt /*E762*
E763 spell.txt /*E763*
E764 spell.txt /*E764*
E765 options.txt /*E765*
E77 message.txt /*E77*
E78 motion.txt /*E78*
E79 message.txt /*E79*
@@ -3814,6 +3828,7 @@ MiNT os_mint.txt /*MiNT*
Moolenaar intro.txt /*Moolenaar*
MorphOS os_amiga.txt /*MorphOS*
Motif gui_x11.txt /*Motif*
Myspell spell.txt /*Myspell*
MzScheme if_mzsch.txt /*MzScheme*
N pattern.txt /*N*
N% motion.txt /*N%*
@@ -4991,6 +5006,7 @@ g_CTRL-] tagsrch.txt /*g_CTRL-]*
g` motion.txt /*g`*
g`a motion.txt /*g`a*
ga various.txt /*ga*
garbagecollect() eval.txt /*garbagecollect()*
gd pattern.txt /*gd*
ge motion.txt /*ge*
get() eval.txt /*get()*
@@ -5191,6 +5207,7 @@ hl-Search syntax.txt /*hl-Search*
hl-SignColumn syntax.txt /*hl-SignColumn*
hl-SpecialKey syntax.txt /*hl-SpecialKey*
hl-SpellBad syntax.txt /*hl-SpellBad*
hl-SpellCap syntax.txt /*hl-SpellCap*
hl-SpellLocal syntax.txt /*hl-SpellLocal*
hl-SpellRare syntax.txt /*hl-SpellRare*
hl-StatusLine syntax.txt /*hl-StatusLine*
@@ -5398,6 +5415,7 @@ intel-itanium syntax.txt /*intel-itanium*
intellimouse-wheel-problems gui_w32.txt /*intellimouse-wheel-problems*
interfaces-5.2 version5.txt /*interfaces-5.2*
internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist*
internet intro.txt /*internet*
intro intro.txt /*intro*
intro.txt intro.txt /*intro.txt*
@@ -6244,6 +6262,7 @@ sniff-compiling if_sniff.txt /*sniff-compiling*
sniff-intro if_sniff.txt /*sniff-intro*
sort() eval.txt /*sort()*
sorting change.txt /*sorting*
soundfold() eval.txt /*soundfold()*
space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@@ -6255,6 +6274,7 @@ spec_chglog_release_info pi_spec.txt /*spec_chglog_release_info*
special-buffers windows.txt /*special-buffers*
speed-up tips.txt /*speed-up*
spell spell.txt /*spell*
spell-affix-BAD spell.txt /*spell-affix-BAD*
spell-affix-FOL spell.txt /*spell-affix-FOL*
spell-affix-KEP spell.txt /*spell-affix-KEP*
spell-affix-LOW spell.txt /*spell-affix-LOW*
@@ -6265,14 +6285,19 @@ spell-affix-RAR spell.txt /*spell-affix-RAR*
spell-affix-REP spell.txt /*spell-affix-REP*
spell-affix-SAL spell.txt /*spell-affix-SAL*
spell-affix-SFX spell.txt /*spell-affix-SFX*
spell-affix-SOFOFROM spell.txt /*spell-affix-SOFOFROM*
spell-affix-SOFOTO spell.txt /*spell-affix-SOFOTO*
spell-affix-UPP spell.txt /*spell-affix-UPP*
spell-affix-chars spell.txt /*spell-affix-chars*
spell-affix-mbyte spell.txt /*spell-affix-mbyte*
spell-affix-vim spell.txt /*spell-affix-vim*
spell-dic-format spell.txt /*spell-dic-format*
spell-file-format spell.txt /*spell-file-format*
spell-load spell.txt /*spell-load*
spell-midword spell.txt /*spell-midword*
spell-mkspell spell.txt /*spell-mkspell*
spell-quickstart spell.txt /*spell-quickstart*
spell-remarks spell.txt /*spell-remarks*
spell-syntax spell.txt /*spell-syntax*
spell-wordlist-format spell.txt /*spell-wordlist-format*
spell.txt spell.txt /*spell.txt*
@@ -7095,6 +7120,7 @@ zC fold.txt /*zC*
zD fold.txt /*zD*
zE fold.txt /*zE*
zF fold.txt /*zF*
zG spell.txt /*zG*
zH scroll.txt /*zH*
zL scroll.txt /*zL*
zM fold.txt /*zM*
@@ -7112,6 +7138,7 @@ zOS-open-source os_390.txt /*zOS-open-source*
zOS-weaknesses os_390.txt /*zOS-weaknesses*
zOS-xterm os_390.txt /*zOS-xterm*
zR fold.txt /*zR*
zW spell.txt /*zW*
zX fold.txt /*zX*
z^ scroll.txt /*z^*
za fold.txt /*za*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jun 22
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,6 +30,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Test59 crashes occasionally (but not in the debugger....)
Add extra list of file locations. Can be used with:
:ltag list of matching tags, like :tselect
@@ -67,9 +69,6 @@ changed.
Include new PHP indent script from John Wellesz?
http://www.vim.org/scripts/download_script.php?src_id=4330
In Vim indenting use synID() to avoid recognizing "|en" in a string as
"|endif".
autoload:
- Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
script names and a help file and produces a script that can be sourced to
@@ -81,14 +80,10 @@ autoload:
helpfile doc/myscript.txt
For the "helpfile" item ":helptags" is run.
For List comparing, consider [4] and ['4'] different? (Servatius Brandt)
Also allows strict comparing for ordinary variables.
Patch to alternate fold highlighting. (Anthony Iano-Fletcher, 2005 May 12)
More levels?
Awaiting response:
- Patch for mch_FullName() also in Vim 6.3? os_mswin.c
- Win32: tearoff menu window should have a scrollbar when it's taller than
the screen.
@@ -96,64 +91,8 @@ Awaiting response:
PLANNED FOR VERSION 7.0:
- Add SPELLCHECKER, with support for many languages.
- Spell checking code todo's:
- Code for making suggestions:
- Hebrew: also use prefixes for suggestions. See message from
Kaminsky (June 20) for ideas.
- When "tn" has been marked as bad word it's sometimes still used
for suggestions. Depends on the order.
- Suggestions for "t he": works well when 'spellsuggest' is "fast",
not when it's "best" or "double". Sound of "the" is "@", for "t
he" it is "t h".
- The sound-folding doesn't work for multi-byte characters. It's
very slow too.
- Simple and fast sound-a-like: mapping list for first char and rest
vowel as first char: *
remove other vowels
- When 'spellfile' directory doesn't exist, ask user to create it?
- When 'spelllang' has more than one language only .add file of
first is used?
- Also put list of word characters in word list file. Otherwise the
one for Italian may differ from the one used for English.
- Make "en-rare" spell file. Support additional files, e.g.
"medical".
Convention: use en_US (language_region) and en-rare (language-field)
Add hl groups to 'spelllang'?
:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath
- Give a warning for ":mkspell it_IT wordfile", thus using a region
name with only one input file.
- Use "engspchk" from Charles Campbell for ideas (commands, rare words).
- References: MySpell library (in OpenOffice.org).
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
- Update option window for 'verbosefile', 'spell', 'spellfile',
'spellsuggest' and 'spelllang'.
- Distribution: Need wordlists for many languages; "language pack"
Put them on the ftp site, ready to download. Include README for
copyrights.
- More complicated: Regions with different languages? E.g. comments in
English, strings in German (po file).
- Work together with OpenOffice.org to update the wordlists. (Adri
Verhoef, Aad Nales) Setup vim-spell maillist?
- Insert mode completion mechanism that uses the spell word lists.
- Charles Campbell asks for method to add "contained" groups to
existing syntax items (to add @Spell).
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
cluster" but change the contains list directly for matching syntax
items.
- Install spell files with src/main.aap.
- Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
obtain).
- The English dictionaries for different regions are not consistent in
their use of words with a dash.
Later:
- Implement compound words when it works for Myspell. Current idea has
the problem that "foo/X" always allows "foofoo", there is no way to
specify a word can only be at the start or end, or that only certain
words combine.
- Support using "**" in filename for ":next", ":vimgrep", etc., so that a
directory tree can be searched.
- REFACTORING: The main() function is very long. Move parts to separate
functions, especially loops. Ideas from Walter Briscoe (2003 Apr 3, 2004
Feb 9).
@@ -161,8 +100,6 @@ PLANNED FOR VERSION 7.0:
- Improve the interface between the generic GUI code and the system-specific
code. Generic code handles text window with scrollbars, system-specific
code menu, toolbar, etc.
- Support using "**" in filename for ":next", ":vimgrep", etc., so that a
directory tree can be searched.
- Store messages to allow SCROLLING BACK for all commands. And other "less"
like commands.
- "INTELLISENSE". First cleanup the Insert-mode completion.
@@ -380,7 +317,7 @@ Awaiting updated patches:
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
Dalecki has a patch for Motif and Carbon)
- Add possibility to highlight specific columns (for Fortran). Or put a
line in between columns (e.g. for 'textwidth').
line in between columns (e.g., for 'textwidth').
Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20.
8 Add functions:
confirm() add "flags" argument, with 'v' for vertical
@@ -674,7 +611,7 @@ GUI:
9 On Solaris, creating the popup menu causes the right mouse button no
longer to work for extending the selection. (Halevy)
9 When running an external program, it can't always be killed with CTRL-C.
e.g. on Solaris 5.5, when using "K" (Keech). Other 'guipty' problems on
e.g., on Solaris 5.5, when using "K" (Keech). Other 'guipty' problems on
Solaris 2.6. (Marley)
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
is started from, causes empty lines below the cmdline. (raf)
@@ -769,7 +706,7 @@ MSDOS/DJGPP:
sort of sleep, to avoid eating 50% of the CPU time. Test on an unpatched
Windows 95 system!
8 DJGPP: when shell is bash, make fails. (Donahoe)
7 Hitting CTRL-P twice quickly (e.g. in keyword completion) on a 8088
7 Hitting CTRL-P twice quickly (e.g., in keyword completion) on a 8088
machine, starts printer echo! (John Mullin).
7 MSDOS 16 bit version can't work with COMSPEC that has an argument, e.g.:
COMSPEC=C:\WINDOWS\COMMAND.COM /E:4096 (Bradley)
@@ -1328,6 +1265,36 @@ User Friendlier:
Alternative: use BufEnter and BufLeave autocommands.
8 make a vimtutor script for Amiga and other systems.
7 Add the arguments for configure to the ":version" output?
7 When Vim detects a file is being edited elsewhere and it's a gvim session
of the same user it should offer a "Raise" button, so that the other gvim
window can be displayed. (Eduard)
Spell checking:
9 Work together with OpenOffice.org to update the wordlists. (Adri Verhoef,
Aad Nales) Setup vim-spell maillist?
8 Charles Campbell asks for method to add "contained" groups to existing
syntax items (to add @Spell).
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
cluster" but change the contains list directly for matching syntax items.
8 Install spell files with src/main.aap.
- References: MySpell library (in OpenOffice.org).
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
8 Make "en-rare" spell file? Ask Charles Campbell.
8 The English dictionaries for different regions are not consistent in their
use of words with a dash.
8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
obtain). But new Myspell wordlist will come (Hagen)
7 Insert mode completion mechanism that uses the spell word lists.
8 Add hl groups to 'spelllang'?
:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath
More complicated: Regions with different languages? E.g., comments
in English, strings in German (po file).
8 Implement compound words when it works for Myspell. Current idea has the
problem that "foo/X" always allows "foofoo", there is no way to specify a
word can only be at the start or end, or that only certain words combine.
Diff mode:
@@ -2951,6 +2918,8 @@ Options:
8 Make ":mksession" store buffer-specific options for the specific buffer.
8 With ":mksession" always store the 'sessionoptions' option, even when
"options" isn't in it. (St-Amant)
7 ":with option=value | command": temporarily set an option value and
restore it after the command has executed.
7 Setting an option always sets "w_set_curswant", while this is only
required for a few options. Only do it for those options to avoid the
side effect.

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jun 21
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jun 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -111,6 +111,9 @@ translated to <Home>, both for the keys and for mappings. Also for <xEnd>,
":put" now leaves the cursor on the last inserted line.
When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc"
file exists.
==============================================================================
NEW FEATURES *new-7*
@@ -145,10 +148,12 @@ with scripts, but they were slow and/or required an external program.
The 'spell' option is used to switch spell checking on or off.
The 'spelllang' option is used to specify the languages that are accepted.
The 'spellfile' option specifies where new words are added.
The 'spellsuggest' option specifies the methods used for making suggestions
The |[s| and |]s| commands can be used to move to the next or previous error.
The |zg| and |zw| commands can be used to add good and wrong words.
The |z?| command can be used to correct the word.
The |:mkspell| command is used to generate a Vim spell file from word lists.
The "undercurl" highlighting attribute was added to nicely point out spelling
mistakes in the GUI (based on patch from Marcin Dalecki).
@@ -305,6 +310,7 @@ Options: ~
(idea by Hugo Haas)
'spell' switch spell checking on/off
'spelllang' languages to check spelling for
'spellsuggest' methods for spell suggestions
'verbosefile' Log messages in a file.
@@ -377,7 +383,10 @@ New functions: ~
|reverse()| reverse the order of a List
|setqflist()| create a quickfix list (Yegappan Lakshmanan)
|sort()| sort a List
|soundfold()| get the sound-a-like equivalent of a word
|split()| split a String into a List
|spellbadword()| get a badly spelled word
|spellsuggest()| get suggestions for correct spelling
|string()| String representation of a List or Dictionary
|system()| Filters {input} through a shell command.
|taglist()| Get list of matching tags. (Yegappan Lakshmanan)
@@ -435,6 +444,8 @@ Sive syntax file. (Nikolai Weibull)
Pascal indent file. (Neil Carter)
Many filetype plugins and others from Nikolai Weibull.
Moved all the indent settings from the filetype plugin to the indent file.
Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
different value.
@@ -681,6 +692,11 @@ file.
When running the tests and one of them fails to produce "test.out" the
following tests are still executed. This helps when running out of memory.
When compiling with EXITFREE defined and the ccmalloc library it is possible
to detect memory leaks. Some memory will always reported as leaked, such as
allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
to store the ":quit" command.
==============================================================================
BUG FIXES *bug-fixes-7*
@@ -1141,4 +1157,11 @@ It was possible to define a function with illegal name, e.t. ":func F{-1}()"
CTRL-W F and "gf" didn't use the same method to get the file name.
When reporting a conversion error the line number of the last error could be
given. Now report the first encountered error.
When using ":e ++enc=name file" and iconv() was used for conversion an error
caused a fallback to no conversion. Now replace a character with '?' and
continue.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -30,7 +30,7 @@ DESCRIPTION
OPTIONS
Vertical splits are used to align the lines, as if the "-O" argument
was used. To use horizontal splits intead, use the "-o" argument.
was used. To use horizontal splits instead, use the "-o" argument.
For all other arguments see vim(1).

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jun 17
" Last Change: 2005 Jul 04
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -71,6 +71,9 @@ endfun
" A-A-P recipe
au BufNewFile,BufRead *.aap setf aap
" A2ps printing utility
au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
" ABAB/4
au BufNewFile,BufRead *.abap setf abap
@@ -194,6 +197,9 @@ au BufNewFile,BufRead *.atl,*.as setf atlas
" Automake
au BufNewFile,BufRead [mM]akefile.am setf automake
" Autotest .at files are actually m4
au BufNewFile,BufRead *.at setf m4
" Avenue
au BufNewFile,BufRead *.ave setf ave
@@ -448,6 +454,12 @@ au BufNewFile,BufRead *.d setf d
" Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop
" Dict config
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
" Dictd config
au BufNewFile,BufRead dictd.conf setf dictdconf
" Diff files
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
@@ -597,6 +609,9 @@ au BufNewFile,BufRead *.groovy setf groovy
" GNU Server Pages
au BufNewFile,BufRead *.gsp setf gsp
" Group file
au BufNewFile,BufRead /etc/group setf group
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
@@ -669,6 +684,9 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
" IDL (Interactive Data Language)
au BufNewFile,BufRead *.pro setf idlang
" Indent RC
au BufNewFile,BufRead indentrc setf indentrc
" Inform
au BufNewFile,BufRead .indent.pro setf indent
@@ -733,18 +751,27 @@ au BufNewFile,BufRead *.ace,*.ACE setf lace
" Latte
au BufNewFile,BufRead *.latte,*.lte setf latte
" Limits
au BufNewFile,BufRead /etc/limits setf limits
" LambdaProlog (*.mod too, see Modsim)
au BufNewFile,BufRead *.sig setf lprolog
" LDAP LDIF
au BufNewFile,BufRead *.ldif setf ldif
" Ld loader
au BufNewFile,BufRead *.ld setf ld
" Lex
au BufNewFile,BufRead *.lex,*.l setf lex
" Libao
au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao
" Libsensors
au BufNewFile,BufRead /etc/sensors.conf setf sensors
" LFTP
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
@@ -761,9 +788,18 @@ else
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp
endif
" SBCL implementation of Common Lisp
au BufNewFile,BufRead sbclrc,.sbclrc setf lisp
" Lite
au BufNewFile,BufRead *.lite,*.lt setf lite
" Login access
au BufNewFile,BufRead /etc/login.access setf loginaccess
" Login defs
au BufNewFile,BufRead /etc/login.defs setf logindefs
" Logtalk
au BufNewFile,BufRead *.lgt setf logtalk
@@ -801,6 +837,9 @@ au BufNewFile,BufRead *.ist,*.mst setf ist
" Manpage
au BufNewFile,BufRead *.man setf man
" Man config
au BufNewFile,BufRead /etc/man.conf setf manconf
" Maple V
au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
@@ -917,6 +956,9 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Muttrc setf muttrc
au BufNewFile,BufRead .muttrc*,*/.mutt/muttrc* call s:StarSetf('muttrc')
" Nano
au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@@ -990,9 +1032,15 @@ au BufNewFile,BufRead *.ora setf ora
" Packet filter conf
au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead /etc/pam.conf setf pamconf
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
" Password file
au BufNewFile,BufRead /etc/passwd,/etc/shadow,/etc/shadow- setf passwd
" Pascal (also *.p)
au BufNewFile,BufRead *.pas setf pascal
@@ -1204,6 +1252,9 @@ au BufNewFile,BufRead INDEX,INFO
" Prolog
au BufNewFile,BufRead *.pdb setf prolog
" Protocols
au BufNewFile,BufRead /etc/protocols setf protocols
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
@@ -1323,6 +1374,21 @@ au BufNewFile,BufRead sendmail.cf setf sm
" Sendmail .mc files are actually m4
au BufNewFile,BufRead *.mc setf m4
" Services
au BufNewFile,BufRead /etc/services setf services
" Service Location config
au BufNewFile,BufRead /etc/slp.conf setf slpconf
" Service Location registration
au BufNewFile,BufRead /etc/slp.reg setf slpreg
" Service Location SPI
au BufNewFile,BufRead /etc/slp.spi setf slpspi
" Setserial config
au BufNewFile,BufRead /etc/serial.conf setf setserial
" SGML
au BufNewFile,BufRead *.sgm,*.sgml
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' |
@@ -1535,6 +1601,9 @@ au BufNewFile,BufRead *.stp setf stp
" Standard ML
au BufNewFile,BufRead *.sml setf sml
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
" Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
@@ -1561,7 +1630,27 @@ au BufNewFile,BufRead *.slt setf tsalt
au BufNewFile,BufRead *.ti setf terminfo
" TeX
au BufNewFile,BufRead *.tex,*.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.tex call s:FTtex()
fun! s:FTtex()
let n = 1
while n < 10 && n < line("$")
let line = getline(n)
if line =~ '^\s*\\\%(documentclass\>\|usepackage\>\|begin{\)'
setf tex
return
elseif line =~ '^\s*\\\%(start\l\+\|setup\l\+\|usemodule\)\>'
setf context
return
endif
let n = n + 1
endwhile
setf tex
endfun
" Context
au BufNewFile,BufRead tex/context/*/*.tex setf context
" Texinfo
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
@@ -1590,15 +1679,30 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
" Udev conf
au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
" Udev rules
au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules
" Udev permissions
au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
"
" Udev symlinks config
au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
" Verilog HDL
au BufNewFile,BufRead *.v setf verilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
" Vim script
au BufNewFile,BufRead *.vim,.exrc,_exrc setf vim
@@ -1673,6 +1777,9 @@ au BufNewFile,BufRead XF86Config
" Xorg config
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.conf setf xinetd
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -1702,6 +1809,9 @@ au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML
au BufNewFile,BufRead *.ts,*.ui setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
" XSD
au BufNewFile,BufRead *.xsd setf xsd
@@ -1709,7 +1819,23 @@ au BufNewFile,BufRead *.xsd setf xsd
au BufNewFile,BufRead *.xsl,*.xslt setf xslt
" Yacc
au BufNewFile,BufRead *.y,*.yy setf yacc
au BufNewFile,BufRead *.yy setf yacc
" Yacc or racc
au BufNewFile,BufRead *.y call s:FTy()
fun! s:FTy()
let n = 1
while n < 10 && n < line("$")
if getline(n) =~ '^\s*\(#\|class\>\)'
setf racc
return
endif
let n = n + 1
endwhile
setf yacc
endfun
" Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml
@@ -1785,6 +1911,9 @@ au! BufNewFile,BufRead *jarg*
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
" Ruby Makefile
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
@@ -1794,6 +1923,9 @@ au BufNewFile,BufRead muttrc*,Muttrc* call s:StarSetf('muttrc')
" Nroff macros
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
" Pam conf
au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf')
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
\ if !did_filetype()
@@ -1825,6 +1957,9 @@ au BufNewFile,BufRead XF86Config*
" X11 xmodmap
au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd')
" Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')

View File

@@ -1,125 +1,125 @@
" Vim filetype plugin file utility
" Language: * (various)
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Date: 6/30/2004
" The start of match (b:SOM) default is:
" '\<'
" The end of match (b:EOM) default is:
" '\>'
"
" If you want to use some other start/end of match, just assign the
" value to the b:SOM|EOM variable in your filetype script.
"
" SEE: :h pattern.txt
" :h pattern-searches
" :h regular-expression
" :h matchit
let s:myName=expand("<sfile>:t")
" matchit.vim not loaded -- don't do anyting
if !exists("loaded_matchit")
echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
finish
endif
" already been here -- don't redefine
if exists("*AppendMatchGroup")
finish
endif
" Function To Build b:match_words
" The following function, 'AppendMatchGroup', helps to increase
" readability of your filetype script if you choose to use matchit.
" It also precludes many construction errors, reducing the
" construction to simply invoking the function with the match words.
" As an example, let's take the ubiquitous if/then/else/endif type
" of construct. This is how the entry in your filetype script would look.
"
" " source the AppendMatchGroup function file
" runtime ftplugin/AppendMatchGroup.vim
"
" " fill b:match_words
" call AppendMatchGroup('if,then,else,endif')
"
" And the b:match_words constructed would look like:
"
" \<if\>:\<then\>:\<else\>:\<endif\>
"
" Use of AppendMatchGroup makes your filetype script is a little
" less busy and a lot more readable. Additionally, it
" checks three critical things:
"
" 1) Do you have at least 2 entries in your match group.
"
" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
"
" 3) If the buffer variable 'b:match_words' does exist, is the last
" character a ','? If not, add it before appending.
"
" You should now be able to match 'if/then/else/endif' in succession
" in your source file, in just about any construction you may have
" chosen for them.
"
" To add another group, simply call 'AppendMatchGroup again. E.G.:
"
" call AppendMatchGroup('while,do,endwhile')
function AppendMatchGroup(mwordList)
let List=a:mwordList
let Comma=match(List,',')
if Comma == -1 || Comma == strlen(List)-1
echoerr "Must supply a comma separated list of at least 2 entries."
echoerr "Supplied list: <".List.">"
return
endif
let listEntryBegin=0
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces || List is empty || List is all spaces
if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
\ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
echoerr "Can't use all spaces for an entry <".listEntry.">"
echoerr "Remaining supplied list: <".List.">"
return
endif
if !exists("b:SOM")
let b:SOM='\<'
endif
if !exists("b:EOM")
let b:EOM='\>'
endif
if !exists("b:match_words")
let b:match_words=''
endif
if b:match_words != '' && match(b:match_words,',$') == -1
let b:match_words=b:match_words.','
endif
" okay, all set add first entry in this list
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
while Comma != -1
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces
if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
echoerr "Remaining supplied list: <".List.">"
continue
endif
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
endwhile
let listEntry=List
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
endfunction
" TODO: Write a wrapper to handle multiple groups in one function call.
" Don't see a lot of utility in this as it would undoubtedly warrant
" continuation lines in the filetype script and it would be a toss
" up as to which is more readable: individual calls one to a line or
" a single call with continuation lines. I vote for the former.
" Vim filetype plugin file utility
" Language: * (various)
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Date: 6/30/2004
" The start of match (b:SOM) default is:
" '\<'
" The end of match (b:EOM) default is:
" '\>'
"
" If you want to use some other start/end of match, just assign the
" value to the b:SOM|EOM variable in your filetype script.
"
" SEE: :h pattern.txt
" :h pattern-searches
" :h regular-expression
" :h matchit
let s:myName=expand("<sfile>:t")
" matchit.vim not loaded -- don't do anyting
if !exists("loaded_matchit")
echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
finish
endif
" already been here -- don't redefine
if exists("*AppendMatchGroup")
finish
endif
" Function To Build b:match_words
" The following function, 'AppendMatchGroup', helps to increase
" readability of your filetype script if you choose to use matchit.
" It also precludes many construction errors, reducing the
" construction to simply invoking the function with the match words.
" As an example, let's take the ubiquitous if/then/else/endif type
" of construct. This is how the entry in your filetype script would look.
"
" " source the AppendMatchGroup function file
" runtime ftplugin/AppendMatchGroup.vim
"
" " fill b:match_words
" call AppendMatchGroup('if,then,else,endif')
"
" And the b:match_words constructed would look like:
"
" \<if\>:\<then\>:\<else\>:\<endif\>
"
" Use of AppendMatchGroup makes your filetype script is a little
" less busy and a lot more readable. Additionally, it
" checks three critical things:
"
" 1) Do you have at least 2 entries in your match group.
"
" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
"
" 3) If the buffer variable 'b:match_words' does exist, is the last
" character a ','? If not, add it before appending.
"
" You should now be able to match 'if/then/else/endif' in succession
" in your source file, in just about any construction you may have
" chosen for them.
"
" To add another group, simply call 'AppendMatchGroup again. E.G.:
"
" call AppendMatchGroup('while,do,endwhile')
function AppendMatchGroup(mwordList)
let List=a:mwordList
let Comma=match(List,',')
if Comma == -1 || Comma == strlen(List)-1
echoerr "Must supply a comma separated list of at least 2 entries."
echoerr "Supplied list: <".List.">"
return
endif
let listEntryBegin=0
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces || List is empty || List is all spaces
if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
\ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
echoerr "Can't use all spaces for an entry <".listEntry.">"
echoerr "Remaining supplied list: <".List.">"
return
endif
if !exists("b:SOM")
let b:SOM='\<'
endif
if !exists("b:EOM")
let b:EOM='\>'
endif
if !exists("b:match_words")
let b:match_words=''
endif
if b:match_words != '' && match(b:match_words,',$') == -1
let b:match_words=b:match_words.','
endif
" okay, all set add first entry in this list
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
while Comma != -1
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces
if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
echoerr "Remaining supplied list: <".List.">"
continue
endif
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
endwhile
let listEntry=List
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
endfunction
" TODO: Write a wrapper to handle multiple groups in one function call.
" Don't see a lot of utility in this as it would undoubtedly warrant
" continuation lines in the filetype script and it would be a toss
" up as to which is more readable: individual calls one to a line or
" a single call with continuation lines. I vote for the former.

14
runtime/ftplugin/a2ps.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: a2ps(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*Include:
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: alsaconf(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/arch.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: GNU Arch inventory file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,11 +1,10 @@
" Vim filetype plugin file
" Langugage: Automake
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/automake/
" Latest Revision: 2004-05-22
" arch-tag: 3a78b0cd-27b2-410a-8e7b-51a1717c2a5b
" Language: Automake
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-22
if exists("b:did_ftplugin")
finish
endif
" Same as makefile filetype plugin for now.
runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim
" vim: set sts=2 sw=2:

14
runtime/ftplugin/bdf.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: BDF font definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=b:COMMENT commentstring=COMMENT\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: calendar(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,24 +1,22 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/changelog/
" Latest Revision: 2004-04-25
" arch-tag: b00e2974-c559-4477-b7b2-3ef3f4061bdb
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
" Variables:
" g:changelog_timeformat -
" description: the timeformat used in ChangeLog entries.
" default: "%Y-%m-%d".
" description: the timeformat used in ChangeLog entries.
" default: "%Y-%m-%d".
" g:changelog_username -
" description: the username to use in ChangeLog entries
" default: try to deduce it from environment variables and system files.
" description: the username to use in ChangeLog entries
" default: try to deduce it from environment variables and system files.
" Local Mappings:
" <Leader>o -
" adds a new changelog entry for the current user for the current date.
" adds a new changelog entry for the current user for the current date.
" Global Mappings:
" <Leader>o -
" switches to the ChangeLog buffer opened for the current directory, or
" opens it in a new buffer if it exists in the current directory. Then
" it does the same as the local <Leader>o described above.
" switches to the ChangeLog buffer opened for the current directory, or
" opens it in a new buffer if it exists in the current directory. Then
" it does the same as the local <Leader>o described above.
" Notes:
" run 'runtime ftplugin/changelog.vim' to enable the global mapping for
" changelog files.
@@ -28,16 +26,13 @@
" If 'filetype' isn't "changelog", we must have been to add ChangeLog opener
if &filetype == "changelog"
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let cpo_save = &cpo
set cpo-=C
let s:cpo_save = &cpo
set cpo&vim
" The format of the date-time field (should have been called dateformat)
if !exists("g:changelog_timeformat")
@@ -55,56 +50,56 @@ if &filetype == "changelog"
" Get the users login name
let login = system('whoami')
if v:shell_error
let login = 'unknown'
let login = 'unknown'
else
let newline = stridx(login, "\n")
if newline != -1
let login = strpart(login, 0, newline)
endif
let newline = stridx(login, "\n")
if newline != -1
let login = strpart(login, 0, newline)
endif
endif
" Try to full name from gecos field in /etc/passwd
if filereadable('/etc/passwd')
let name = substitute(
\system('cat /etc/passwd | grep ^`whoami`'),
\'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
let name = substitute(
\system('cat /etc/passwd | grep ^`whoami`'),
\'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
endif
" If there is no such file, or there was some other problem try
" others
if !filereadable('/etc/passwd') || v:shell_error
" Maybe the environment has something of interest
if exists("$NAME")
let name = $NAME
else
" No? well, use the login name and capitalize first
" character
let name = toupper(login[0]) . strpart(login, 1)
endif
" Maybe the environment has something of interest
if exists("$NAME")
let name = $NAME
else
" No? well, use the login name and capitalize first
" character
let name = toupper(login[0]) . strpart(login, 1)
endif
endif
" Only keep stuff before the first comma
let comma = stridx(name, ',')
if comma != -1
let name = strpart(name, 0, comma)
let name = strpart(name, 0, comma)
endif
" And substitute & in the real name with the login of our user
let amp = stridx(name, '&')
if amp != -1
let name = strpart(name, 0, amp) . toupper(login[0]) .
\strpart(login, 1) . strpart(name, amp + 1)
let name = strpart(name, 0, amp) . toupper(login[0]) .
\strpart(login, 1) . strpart(name, amp + 1)
endif
" Get our hostname
let hostname = system("hostname")
if v:shell_error
let hostname = 'unknownhost'
let hostname = 'unknownhost'
else
let newline = stridx(hostname, "\n")
if newline != -1
let hostname = strpart(hostname, 0, newline)
endif
let newline = stridx(hostname, "\n")
if newline != -1
let hostname = strpart(hostname, 0, newline)
endif
endif
" And finally set the username
@@ -134,15 +129,15 @@ if &filetype == "changelog"
while i != -1
let char = str[i + 1]
if char == '%'
let middle = '%'
let middle = '%'
elseif char == 'd'
let middle = a:date
let middle = a:date
elseif char == 'u'
let middle = a:user
let middle = a:user
elseif char == 'c'
let middle = '{cursor}'
let middle = '{cursor}'
else
let middle = char
let middle = char
endif
let str = strpart(str, 0, i) . middle . strpart(str, i + 2)
let i = stridx(str, '%')
@@ -169,17 +164,17 @@ if &filetype == "changelog"
" Look for an entry for today by our user
let date = strftime(g:changelog_timeformat)
let search = s:substitute_items(g:changelog_date_entry_search, date,
\g:changelog_username)
\g:changelog_username)
if search(search) > 0
" Ok, now we look for the end of the date-entry, and add an entry
let pos = nextnonblank(line('.') + 1)
let line = getline(pos)
while line =~ '^\s\+\S\+'
let pos = pos + 1
let line = getline(pos)
let pos = pos + 1
let line = getline(pos)
endwhile
let insert = s:substitute_items(g:changelog_new_entry_format,
\'', '')
\'', '')
execute "normal! ".(pos - 1)."Go".insert
execute pos
else
@@ -188,18 +183,18 @@ if &filetype == "changelog"
" No entry today, so create a date-user header and insert an entry
let todays_entry = s:substitute_items(g:changelog_new_date_format,
\date, g:changelog_username)
\date, g:changelog_username)
" Make sure we have a cursor positioning
if stridx(todays_entry, '{cursor}') == -1
let todays_entry = todays_entry.'{cursor}'
let todays_entry = todays_entry.'{cursor}'
endif
" Now do the work
execute "normal! i".todays_entry
if remove_empty
while getline('$') == ''
$delete
endwhile
while getline('$') == ''
$delete
endwhile
endif
1
@@ -216,7 +211,7 @@ if &filetype == "changelog"
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
endif
let b:undo_ftplugin = "setl com< tw< fo< et<"
let b:undo_ftplugin = "setl com< tw< fo< et< ai<"
if &textwidth == 0
setlocal textwidth=78
@@ -224,9 +219,10 @@ if &filetype == "changelog"
setlocal comments=
setlocal formatoptions+=t
setlocal noexpandtab
" setlocal autoindent now in indent file
setlocal autoindent
let &cpo = cpo_save
let &cpo = s:cpo_save
unlet s:cpo_save
else
" Add the Changelog opening mapping
nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
@@ -234,23 +230,21 @@ else
function! s:open_changelog()
if filereadable('ChangeLog')
if bufloaded('ChangeLog')
let buf = bufnr('ChangeLog')
execute "normal! \<C-W>t"
while winbufnr(winnr()) != buf
execute "normal! \<C-W>w"
endwhile
let buf = bufnr('ChangeLog')
execute "normal! \<C-W>t"
while winbufnr(winnr()) != buf
execute "normal! \<C-W>w"
endwhile
else
split ChangeLog
split ChangeLog
endif
if exists("g:mapleader")
execute "normal " . g:mapleader . "o"
execute "normal " . g:mapleader . "o"
else
execute "normal \\o"
execute "normal \\o"
endif
startinsert!
endif
endfunction
endif
" vim: set sts=2 sw=2:

13
runtime/ftplugin/conf.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: generic configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,36 @@
" Vim filetype plugin file
" Language: ConTeXt typesetting engine
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s formatoptions+=tcroql
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
\ . 'def\|\\font\|\\\%(future\)\=let'
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
\ . '\|fam\|insert\|if\)'
let &l:include = '^\s*\%(input\|component\)'
setlocal suffixesadd=.tex
if exists("loaded_matchit")
let b:match_ignorecase = 0
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
\ '\\start\(\a\+\):\\stop\1'
endif " exists("loaded_matchit")
let &cpo = s:cpo_save
unlet s:cpo_save

13
runtime/ftplugin/crm.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: CRM114
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,20 +1,16 @@
" Vim filetype plugin file
" Language: CSS
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/css/
" Latest Revision: 2004-04-25
" arch-tag: 5fa7c74f-bf1a-47c4-b06f-6efe8f48db3b
" Language: CSS
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com<"
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
setlocal formatoptions-=t formatoptions+=croql
" vim: set sts=2 sw=2:
let &l:include = '^\s*@import\s\+\%(url(\)\='

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: cvs(1) RC file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dict(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dictd(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dircolors(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: elinks(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: eterm(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: fetchmail(1) RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/gpg.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: gpg(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: group(5) user group file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

13
runtime/ftplugin/grub.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: grub(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Haskell
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_plugin = "setl com< cms< fo<"
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
setlocal formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/help.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Vim help file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_plugin = "setl fo< tw<"
setlocal formatoptions+=tcroql textwidth=78

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: indent(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
setlocal formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/ld.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: ld(1) script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE
setlocal formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/lftp.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: lftp(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: libao.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: limits(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: login.access(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: login.defs(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/m4.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: m4
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:dnl commentstring=dnl\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Mailcap configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: man.conf(5) - man configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,16 +1,14 @@
" Vim filetype plugin
" Language: METAFONT
" Maintainer: Dorai Sitaram <ds26@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: May 27, 2003
" Vim filetype plugin file
" Language: MetaFont
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
setl com=:%
setl fo-=t
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: modules.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,7 +1,22 @@
" Vim filetype plugin
" Language: MetaPost
" Maintainer: Dorai Sitaram <ds26@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: May 27, 2003
" Vim filetype plugin file
" Language: MetaPost
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
runtime! ftplugin/mf.vim ftplugin/mf_*.vim ftplugin/mf/*.vim
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
if !exists(":FixBeginfigs") != 2
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
function! s:fix_beginfigs()
let i = 1
g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1
endfunction
endif

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: mplayer(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,30 +1,30 @@
" Vim filetype plugin file
" Language: MuPAD source files
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Filenames: *.mu
" Date: 6/30/2004
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
" Change the :browse e filter to primarily show MuPAD source files.
if has("gui_win32")
let b:browsefilter=
\ "MuPAD source (*.mu)\t*.mu\n" .
\ "All Files (*.*)\t*.*\n"
endif
" matchit.vim not loaded -- don't do anyting below
if !exists("loaded_matchit")
" echomsg "matchit.vim not loaded -- finishing"
finish
endif
" source the AppendMatchGroup function file
runtime ftplugin/AppendMatchGroup.vim
" fill b:match_words for MuPAD
call AppendMatchGroup('domain,end_domain')
call AppendMatchGroup('proc,begin,end_proc')
call AppendMatchGroup('if,then,elif,else,end_if')
call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')
" Vim filetype plugin file
" Language: MuPAD source files
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Filenames: *.mu
" Date: 6/30/2004
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
" Change the :browse e filter to primarily show MuPAD source files.
if has("gui_win32")
let b:browsefilter=
\ "MuPAD source (*.mu)\t*.mu\n" .
\ "All Files (*.*)\t*.*\n"
endif
" matchit.vim not loaded -- don't do anyting below
if !exists("loaded_matchit")
" echomsg "matchit.vim not loaded -- finishing"
finish
endif
" source the AppendMatchGroup function file
runtime ftplugin/AppendMatchGroup.vim
" fill b:match_words for MuPAD
call AppendMatchGroup('domain,end_domain')
call AppendMatchGroup('proc,begin,end_proc')
call AppendMatchGroup('if,then,elif,else,end_if')
call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')

View File

@@ -0,0 +1,16 @@
" Vim filetype plugin file
" Language: mutt RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
let &l:include = '^\s*source\>'

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: nanorc(5) - GNU nano configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: netrc(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: pam(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: passwd(5) password file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: pinfo(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,15 @@
" Vim filetype plugin file
" Language: procmail(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let &l:include = '^\s*INCLUDERC\>'

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Prolog
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:% commentstring=%\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: protocols(5) - Internet protocols definition file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Quake[1-3] configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:// commentstring=//\ %s formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/racc.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Racc input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/rnc.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Relax NG compact syntax
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,23 +1,14 @@
" Vim filetype plugin file
" Language: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/rst/
" Latest Revision: 2004-04-25
" arch-tag: 618bf504-81ba-4518-bad2-43ba2b844a26
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms<"
let b:undo_ftplugin = "setl com< cms< et< fo<"
setlocal comments=fb:..
setlocal commentstring=..\ %s
setlocal expandtab
setlocal sts=2 sw=2
" vim: set sts=2 sw=2:
setlocal comments=fb:.. commentstring=..\ %s expandtab
setlocal formatoptions+=tcroql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: screen(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: sensors.conf(5) - libsensors configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: services(5) - Internet network services list
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: setserial(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Sieve filtering language input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: RFC 2614 - An API for Service Location configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:; commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: RFC 2614 - An API for Service Location registration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:; commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: RFC 2614 - An API for Service Location SPI file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:; commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: OpenSSH client configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: sudoers(5) configuration files
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: sysctl.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:;,:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: terminfo(5) definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: udev(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: udev(8) permissions file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: udev(8) rules file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: updatedb.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: X resources files like ~/.Xdefaults (xrdb)
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:! commentstring& inc&
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: XFree86 Configuration File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: xinetd.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: xmodmap(1) definition file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:! commentstring=!\ %s formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/yaml.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: YAML (YAML Ain't Markup Language)
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< et< fo<"
setlocal comments=:# commentstring=#\ %s expandtab
setlocal formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/zsh.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,7 +1,12 @@
" Vim indent file
" Language: Aap recipe
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2003 Sep 08
" Last Change: 2005 Jun 24
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
" Works mostly like Python.
runtime! indent/python.vim

View File

@@ -1,11 +1,11 @@
" Vim indent file
" Language: automake
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/indent/pcp/automake/
" Latest Revision: 2004-04-25
" arch-tag: 9a2af48c-48d4-4bae-82c3-c801bc9d1976
" Language: automake
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("b:did_indent")
finish
endif
" same as makefile indenting for now.
source <sfile>:p:h/make.vim
" vim: set sts=2 sw=2:
runtime! indent/make.vim

View File

@@ -1,18 +1,16 @@
" Vim indent file
" Language: Autoconf configure.{ac,in} file
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/indent/pcp/config/
" Latest Revision: 2004-04-25
" arch-tag: 7779c341-796f-408e-80e4-a55c26b519a4
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'?
" Language: Autoconf configure.{ac,in} file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'?
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
source <sfile>:p:h/sh.vim " will set b:did_indent
runtime! indent/sh.vim " will set b:did_indent
setlocal indentexpr=GetConfigIndent()
setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done

View File

@@ -1,79 +1,83 @@
" Vim indent file
" Language: CSS
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/indent/pcp/css/
" Latest Revision: 2004-04-25
" arch-tag: ccfd77a0-1c9a-43f7-a407-bbe704541442
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetCSSIndent()
setlocal indentkeys-=:,0# indentkeys-=e
setlocal indentkeys=0{,0},!^F,o,O
" Only define the function once.
if exists("*GetCSSIndent")
finish
endif
function! s:LookupLine(lnum)
" find a non-blank line above the current line
let lnum = prevnonblank(a:lnum - 1)
function s:prevnonblanknoncomment(lnum)
let lnum = a:lnum
while lnum > 1
let lnum = prevnonblank(lnum)
let line = getline(lnum)
if line =~ '\*/'
while lnum > 1 && line !~ '/\*'
let lnum -= 1
endwhile
if line =~ '^\s*/\*'
let lnum -= 1
else
break
endif
else
break
endif
endwhile
return lnum
endfunction
if lnum == 0
return 0
endif
let line = getline(lnum)
" if the line has an end comment sequence we need to find a line
" that isn't affected by the comment.
if line =~ '\*/'
while line !~ '/\*'
let lnum = lnum - 1
let line = getline(lnum)
endwhile
endif
" if the line we found only contained the comment and whitespace
" we need to find another line to use...
if line =~ '^\s*/\*'
return s:LookupLine(lnum)
else
return lnum
endif
function s:count_braces(lnum, count_open)
let n_open = 0
let n_close = 0
let line = getline(a:lnum)
let pattern = '[{}]'
let i = match(line, pattern)
while i != -1
if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'css\%(Comment\|StringQ\{1,2}\)'
if line[i] == '{'
let n_open += 1
elseif line[i] == '}'
if n_open > 0
let n_open -= 1
else
let n_close += 1
endif
endif
endif
let i = match(line, pattern, i + 1)
endwhile
return a:count_open ? n_open : n_close
endfunction
function GetCSSIndent()
let lnum = s:LookupLine(v:lnum)
let line = getline(v:lnum)
if line =~ '^\s*\*'
return cindent(v:lnum)
elseif line =~ '^\s*}'
return indent(v:lnum) - &sw
endif
if lnum == 0
let pnum = s:prevnonblanknoncomment(v:lnum - 1)
if pnum == 0
return 0
endif
" remove commented stuff from line
let line = substitute(getline(lnum), '/\*.\*/', '', 'eg')
let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
let ind = indent(lnum)
" check for opening brace on the previous line
" skip if it also contains a closing brace...
if line =~ '{\(.*}\)\@!'
let ind = ind + &sw
endif
let line = getline(v:lnum)
" check for closing brace first on current line
if line =~ '^\s*}'
let ind = ind - &sw
let pline = getline(pnum)
if pline =~ '}\s*$'
let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
endif
return ind
endfunction
" vim: set sts=2 sw=2:

View File

@@ -0,0 +1,12 @@
" Vim indent file
" Language: dict(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentkeys=0{,0},!^F,o,O cinwords= autoindent smartindent
inoremap <buffer> # X#

View File

@@ -0,0 +1,12 @@
" Vim indent file
" Language: dictd(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentkeys=0{,0},!^F,o,O cinwords= autoindent smartindent
inoremap <buffer> # X#

Some files were not shown because too many files have changed in this diff Show More