-*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
+*eval.txt* For Vim version 7.0aa. Last change: 2006 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
Number count how many {expr} are in {list}
cscope_connection( [{num} , {dbpath} [, {prepend}]])
Number checks existence of cscope connection
-cursor( {lnum}, {col}) Number position cursor at {lnum}, {col}
+cursor( {lnum}, {col} [, {coladd}])
+ Number move cursor to {lnum}, {col}, {coladd}
+cursor( {list}) Number move cursor to position in {list}
deepcopy( {expr}) any make a full copy of {expr}
delete( {fname}) Number delete file {fname}
did_filetype() Number TRUE if FileType autocommand event used
getline( {lnum}) String line {lnum} of current buffer
getline( {lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr}) List list of location list items
+getpos( {expr}) List position of cursor, mark, etc.
getqflist() List list of quickfix items
getreg( [{regname} [, 1]]) String contents of register
getregtype( [{regname}]) String type of register
number of characters in the cursor line plus one)
'x position of mark x (if the mark is not set, 0 is
returned)
+ To get the line number use |col()|. To get both use
+ |getpos()|.
For the screen column position use |virtcol()|.
Note that only marks in the current file can be used.
Examples: >
cscope_connection(4, "out", "local") 0
cscope_connection(4, "cscope.out", "/usr/local") 1
<
-cursor({lnum}, {col}) *cursor()*
+cursor({lnum}, {col} [, {off}]) *cursor()*
+cursor({list})
Positions the cursor at the column {col} in the line {lnum}.
The first column is one.
+ When there is one argument {list} this is used as a |List|
+ with two or three items {lnum}, {col} and {off}. This is
+ useful to move the cursor to a position obtained with
+ |getpos()|.
Does not change the jumplist.
If {lnum} is greater than the number of lines in the buffer,
the cursor will be positioned at the last line in the buffer.
the cursor will be positioned at the last character in the
line.
If {col} is zero, the cursor will stay in the current column.
+ When 'virtualedit' is used {off} specifies the offset in
+ screen columns from the start of the character. E.g., a
+ position within a Tab or after the last character.
deepcopy({expr}[, {noref}]) *deepcopy()* *E698*
w0 first line visible in current window
w$ last line visible in current window
Note that only marks in the current file can be used.
+ To get the column number use |col()|. To get both use
+ |getpos()|.
Examples: >
line(".") line number of the cursor
line("'t") line number of mark t
:echo match("testing", "t", 2)
< result is "3".
For a String, if {start} > 0 then it is like the string starts
- {start} bytes later, thus "^" will match there.
+ {start} bytes later, thus "^" will match at {start}. Except
+ when {count} is given, then it's like matches before the
+ {start} byte are ignored (this is a bit complicated to keep it
+ backwards compatible).
For a String, if {start} < 0, it will be set to 0. For a list
the index is counted from the end.
If {start} is out of range ({start} > strlen({expr}) for a
character further. Thus this example results in 1: >
echo match("testing", "..", 0, 2)
< In a |List| the search continues in the next item.
+ Note that when {count} is added the way {start} works changes,
+ see above.
See |pattern| for the patterns that are accepted.
The 'ignorecase' option is used to set the ignore-caseness of
characters. nr2char(0) is a real NUL and terminates the
string, thus results in an empty string.
+ *getpos()*
+getpos({expr}) The result is a |List| with three numbers: [lnum, col, off].
+ This is the file position given with {expr}. For the accepted
+ positions see |line()|.
+ The "off" number is zero, unless 'virtualedit' is used. Then
+ it is the offset in screen columns from the start of the
+ character. E.g., a position within a Tab or after the last
+ character.
+ This can be used to save and restore the cursor position: >
+ let save_cursor = getpos(".")
+ MoveTheCursorAround
+ call cursor(save_cursor)
+
prevnonblank({lnum}) *prevnonblank()*
Return the line number of the first line at or above {lnum}
that is not blank. Example: >
For the use of {expr} see |col()|. Additionally you can use
[lnum, col]: a |List| with the line and column number. When
"lnum" or "col" is out of range then virtcol() returns zero.
+ When 'virtualedit' is used it can be [lnum, col, off], where
+ "off" is the offset in screen columns from the start of the
+ character. E.g., a position within a Tab or after the last
+ character.
For the byte position use |col()|.
When Virtual editing is active in the current mode, a position
beyond the end of the line can be returned. |'virtualedit'|
-*options.txt* For Vim version 7.0aa. Last change: 2006 Mar 01
+*options.txt* For Vim version 7.0aa. Last change: 2006 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
u scan the unloaded buffers that are in the buffer list
U scan the buffers that are not in the buffer list
k scan the files given with the 'dictionary' option
+ kspell use the currently active spell checking |spell|
k{dict} scan the file {dict}. Several "k" flags can be given,
patterns are valid too. For example: >
:set cpt=k/usr/dict/*,k~/spanish
contain a list of words. This can be one word per line, or several
words per line, separated by non-keyword characters (white space is
preferred). Maximum line length is 510 bytes.
+ When this option is empty, or an entry "spell" is present, spell
+ checking is enabled the currently active spelling is used. |spell|
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.
getftype() eval.txt /*getftype()*
getline() eval.txt /*getline()*
getloclist() eval.txt /*getloclist()*
+getpos() eval.txt /*getpos()*
getqflist() eval.txt /*getqflist()*
getreg() eval.txt /*getreg()*
getregtype() eval.txt /*getregtype()*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help-context help.txt /*help-context*
-help-tags tags 1
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
+.\" Traduction Lundi 7 août 2000 par Richard Hitier
+.\" (richard.hitier@dial.oleane.com)
+.\" Mise à jour de la traduction par David Blanchet
+.\" (david.blanchet@free.fr) 2005-01-17
+.\"
+.TH VIM 1 "22 Février 2002"
+.SH NOM
+vim \- Vi IMproved, éditeur de texte pour programmeurs
+.SH SYNOPSIS
+.br
+.B vim
+[options] [fichier ...]
+.br
+.B vim
+[options] \-
+.br
+.B vim
+[options] \-t marqueur
+.br
+.B vim
+[options] \-q [fichiererreurs]
+.PP
+.br
+.B ex
+.br
+.B view
+.br
+.B gvim
+.B gview
+.B evim
+.B eview
+.br
+.B rvim
+.B rview
+.B rgvim
+.B rgview
+.SH DESCRIPTION
+.B Vim
+est un éditeur de texte proposant une compatibilité ascendante
+avec Vi. Il permet d'éditer n'importe quel type de texte brut.
+Il est particulièrement adapté pour l'édition des programmes.
+.PP
+Il comporte de nombreuses améliorations par rapport à Vi : annulation sur
+plusieurs niveaux, fenêtres et tampons multiples, coloration syntaxique,
+édition en ligne de commande, complètement des noms de fichiers, aide en
+ligne, sélection visuelle, etc.
+Voir ":help vi_diff.txt" pour un résumé des différences entre
+.B Vim
+et Vi.
+.PP
+Pendant l'exécution de
+.B Vim
+\, une aide abondante est accessible au travers du système d'aide
+en ligne, grâce à la commande ":help".
+Voir la section AIDE EN LIGNE plus bas.
+.PP
+Le plus souvent
+.B Vim
+est démarré pour éditer un unique fichier avec la commande
+.PP
+ vim fichier
+.PP
+Plus généralement,
+.B Vim
+est lancé avec :
+.PP
+ vim [options] [listefichiers]
+.PP
+Si la listefichiers est omise, l'éditeur démarre avec un tampon vide.
+Autrement, l'une des quatre méthodes suivantes vous permettra de choisir
+un ou plusieurs fichiers à éditer.
+.TP 12
+fichier ...
+Une liste de noms de fichiers.
+Le premier sera le fichier courant et sera lu dans le tampon.
+Le curseur sera placé sur la première ligne du tampon.
+Vous pouvez passer aux autres fichiers avec la commande ":next".
+Pour éditer un fichier débutant par un tiret, faites précéder la
+liste de fichiers par "\-\-".
+.TP
+\-
+Le fichier à éditer est lu sur l'entrée standard (stdin). Les commandes sont
+lues depuis stderr, qui devrait être un terminal.
+.TP
+\-t {marqueur}
+Le fichier à éditer et la position initiale du curseur dépendent
+d'un "marqueur", qui est une sorte d'étiquette.
+{marqueur} est recherché dans le fichier des marqueurs, le fichier correspondant
+devient le fichier courant et la commande associée est exécutée.
+Principalement utile pour les programmes en C ; dans ce cas, {marqueur}
+peut être le nom d'une fonction.
+Au final, le fichier contenant cette fonction devient le fichier
+courant et le curseur est placé au début de la fonction.
+Voir ":help tag\-commands".
+.TP
+\-q [fichiererreurs]
+Démarre en mode Mise-au-point (QuickFix).
+Le fichier [fichiererreurs] est lu et la première erreur est affichée.
+Si [fichiererreurs] est omis, le nom du fichier est lu dans
+l'option 'errorfile' ("AztecC.Err" par défaut sur Amiga, "errors.err" sur les
+autres systèmes).
+La commande ":cn" permet de sauter aux erreurs suivantes.
+Voir ":help quickfix".
+.PP
+.B Vim
+se comporte différemment selon le nom de la commande (l'exécutable peut
+cependant être le même fichier).
+.TP 10
+vim
+La façon "normale", le comportement par défaut.
+.TP
+ex
+Démarre en mode Ex.
+La commande ":vi" permet de passer en mode Normal.
+Ce mode est également accessible avec l'argument "\-e".
+.TP
+view
+Démarre en mode Lecture-Seule. Vous êtes protégé de l'écriture accidentelle
+des fichiers. Ce mode est également accessible avec l'argument "\-R".
+.TP
+gvim gview
+La version graphique.
+Ouvre une nouvelle fenêtre.
+Également accessible avec l'argument "\-g".
+.TP
+evim eview
+La version graphique en mode Débutant (easy).
+Ouvre une nouvelle fenêtre.
+Également accessible avec l'argument "\-y".
+.TP
+rvim rview rgvim rgview
+Comme ci-dessus, mais avec des restrictions. Il vous sera impossible de
+lancer des commandes du shell, ou de suspendre
+.B Vim.
+Également accessible avec l'argument "\-Z".
+.SH OPTIONS
+Les options peuvent être spécifiées dans n'importe quel ordre,
+avant ou après les noms de fichiers. Les options sans arguments
+peuvent être combinées après un unique tiret.
+.TP 12
++[num]
+Place le curseur sur la ligne "num" dans le premier fichier.
+Si "num" est omis, le curseur sera placé sur la dernière ligne.
+.TP
++/{motif}
+Place le curseur sur la première occurence de {motif} dans le premier fichier.
+Voir ":help search\-pattern" pour connaître les motifs de recherches
+disponibles.
+.TP
++{commande}
+.TP
+\-c {commande}
+Exécute {commande} après la lecture du premier fichier.
+{commande} est interprétée comme une commande Ex.
+Si la {commande} contient des espaces, elle doit être entourée
+de doubles-apostrophes (cela dépend du shell utilisé).
+Exemple: Vim "+set si" main.c
+.br
+Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
+.TP
+\-S {fichier}
+Source {fichier} après la lecture du premier fichier.
+C'est équivalent à \-c "source {fichier}".
+{fichier} ne peut pas débuter par un '\-'.
+Si {fichier} est omis, "Session.vim" est utilisé (cela ne fonctionne que si
+\-S est le dernier argument).
+.TP
+\-\-cmd {commande}
+Comme "\-c", mais la commande est exécutée juste avant de traiter les fichiers
+vimrc.
+Vous pouvez utiliser jusqu'à 10 de ces commandes, indépendamment des
+commandes "\-c".
+.TP
+\-A
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité ARABIC pour l'édition de
+fichiers de droite à gauche et les claviers arabes, cette option lance
+.B Vim
+en mode Arabe, c.-à-d. que l'option 'arabic' est activée.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-b
+Mode Binaire.
+Active plusieurs options pour permettre l'édition
+d'un fichier binaire ou exécutable.
+.TP
+\-C
+Compatible. Active l'option 'compatible'.
+.B Vim
+se comportera alors quasiment comme Vi, même s'il existe un fichier .vimrc.
+.TP
+\-d
+Démarre en mode Diff.
+Deux ou trois noms de fichiers doivent être spécifiés.
+.B Vim
+ouvrira alors tous les fichiers et affichera leurs différences.
+Fonctionne comme vimdiff(1).
+.TP
+\-d {périph}
+Ouvre {périph} pour l'utiliser comme terminal.
+Uniquement sur Amiga.
+Exemple:
+"\-d con:20/30/600/150".
+.TP
+\-D
+Debogage. Passe en mode Débogage lors de l'exécution de la première commande
+d'un script.
+.TP
+\-e
+Démarre
+.B Vim
+en mode Ex, comme si l'exécutable s'appelait "ex".
+.TP
+\-E
+Démarre
+.B Vim
+en mode Ex amélioré, comme si l'exécutable "exim" avait été invoqué.
+.TP
+\-f
+Premier-plan (Foreground). Pour la version graphique,
+.B Vim
+ne forke pas et ne se détache pas du shell dans lequel il a été invoqué.
+Sur Amiga,
+.B Vim
+n'est pas relancé pour ouvrir une nouvelle fenêtre.
+Cette option est utile quand
+.B Vim
+est exécuté par un programme qui attend la fin de la session d'édition
+(par exemple mail).
+Sur Amiga, les commandes ":sh" et ":!" ne fonctionneront pas.
+.TP
+\-\-nofork
+Premier-plan (Foreground). Pour la version graphique,
+.B Vim
+ne forkera pas et ne se détachera pas du shell dans lequel il a été lancé.
+.TP
+\-F
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité FKMAP pour l'édition de
+fichiers de droite à gauche et les claviers farsi, cette option lance
+.B Vim
+en mode Farsi, c.-à-d. avec les options 'fkmap' et 'rightleft' activées.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-g
+Si
+.B Vim
+a été compilé avec le support de l'IHM graphique, cette option active
+l'IHM graphique. Si le support n'a pas été compilé, un message d'erreur
+est émis et
+.B Vim
+quitte.
+.TP
+\-h
+Donne une aide succinte sur les arguments et les options de la ligne de
+commande. Après cela,
+.B Vim
+quitte.
+.TP
+\-H
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
+fichiers de droite à gauche et les claviers hébreu, cette option lance
+.B Vim
+en mode Hebreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-i {viminfo}
+Lorsque l'utilisation d'un fichier viminfo est activée, cette option indique
+le nom de fichier à utiliser à la place de "~/.viminfo" par défaut.
+Il est possible d'empêcher l'utilisation d'un fichier ".viminfo", en
+spécifiant le nom de fichier "NONE".
+.TP
+\-L
+Comme \-r.
+.TP
+\-l
+Mode Lisp.
+Active les options 'lisp' et 'showmatch'.
+.TP
+\-m
+Empêche la modification des fichiers.
+Désactive l'option 'write'.
+Vous pouvez toujours modifier le tampon, mais il vous sera impossible
+d'écrire le fichier.
+.TP
+\-M
+N'autorise aucune modification. les options 'modifiable' et 'write' sont
+desactivées, de sorte que les changements ne sont pas autorisés et que les
+fichiers ne peuvent pas être écrits. Note : ces options peuvent être activées
+pour autoriser les modifications.
+.TP
+\-N
+Mode Non-compatible. Désactive l'option 'compatible'.
+Cela améliorera le comportement de
+.B Vim
+\, mais il sera moins conforme à celui de Vi, même s'il n'existe aucun
+fichier ".vimrc".
+.TP
+\-n
+N'utilise pas de fichier d'échange (swapfile).
+Le recouvrement après un plantage sera impossible.
+Utile pour éditer un fichier sur un support très lent (disquette par ex.).
+Également activable avec ":set uc=0".
+Il est possible de l'annuler avec ":set uc=200".
+.TP
+\-nb
+Devient un serveur d'édition pour NetBeans. Consulter la documentation à ce
+sujet pour davantage de détails.
+.TP
+\-o[N]
+Ouvre N fenêtres les unes au-dessus des autres.
+Quand N est omis, ouvre une fenêtre pour chaque fichier.
+.TP
+\-O[N]
+Ouvre N fenêtres côte à côte.
+Quand N est omis, ouvre une fenêtre pour chaque fichier fichier.
+.TP
+\-R
+Mode Lecture-Seule.
+Active l'option 'readonly'.
+Vous pouvez toujours éditer le tampon, mais il vous sera impossible de
+d'écraser accidentellement un fichier.
+Si vous voulez écraser un fichier, ajoutez un point d'exclamation à la commande
+Ex, comme dans ":w!".
+L'option \-R impose l'option \-n (voir ci-dessus).
+L'option 'readonly' peut être désactivée avec ":set noro".
+Voir ":help 'readonly'".
+.TP
+\-r
+Donne la liste des fichiers d'échange, avec des informations pour les utiliser
+à des fins de recouvrement.
+.TP
+\-r {file}
+Mode Recouvrement.
+Utilise le fichier d'échange pour récouvrer d'une session d'édition plantée.
+Le fichier d'échange est un fichier avec le même nom que le fichier texte,
+suivi du suffixe ".swp".
+Voir ":help recovery".
+.TP
+\-s
+Mode Silencieux. Disponible uniquement quand
+.B Vim
+est lancé en tant que "ex" ou quand l'option "\-e" a été spécifiée avant
+l'option "\-s".
+.TP
+\-s {scriptEntrée}
+Lit le fichier de script {scriptEntrée}.
+Les caractères du fichier sont interprétés comme si vous les tapiez.
+La commande ":source! {scriptEntrée}" donne le même résultat.
+Si la fin du fichier est atteinte avant que l'éditeur quitte, les caractères
+suivants sont lus depuis le clavier.
+.TP
+\-T {terminal}
+Indique à
+.B Vim
+le nom du terminal utilisé.
+Cela n'est requis que lorsque la détection automatique échoue.
+Le {terminal} devrait être connu de
+.B Vim
+(intégré) ou défini dans le fichier termcap ou terminfo.
+.TP
+\-u {vimrc}
+Utilise les commandes du fichier {vimrc} pour les initialisations.
+Toutes les autres initialisations sont omises.
+À utiliser pour éditer un type de fichiers particulier.
+Cela permet aussi d'omettre toute initialisation en spécifiant le nom de
+fichier "NONE".
+Voir ":help initialization" dans Vim pour davantage de détails.
+.TP
+\-U {gvimrc}
+Utilise les commandes du fichier {gvimrc} pour l'initialisation de l'IHM
+graphique.
+Toutes les autres initialisations graphiques sont omises.
+Cela permet aussi d'omettre toute initialisation graphique en spécifiant le nom
+de fichier "NONE".
+Voir ":help gui\-init" dans Vim pour davantage de détails.
+.TP
+\-V[N]
+Mode Verbeux.
+Donne des messages à propos des fichiers sourcés, ainsi que sur la lecture
+et les écritures dans le fichier viminfo. le nombre optionnel N précise la
+valeur de l'option 'verbose' (10 par défaut).
+.TP
+\-v
+Démarre
+.B Vim
+en mode Vi, comme si l'exécutable s'appelait "vi". Cela n'a d'effet que si
+l'exécutable invoqué est "ex".
+.TP
+\-w {scriptSortie}
+Tous les caractères que vous tapez sont enregistrés dans le fichier
+{scriptSortie}, jusqu'à ce que vous quittiez
+.B Vim.
+C'est utile quand vous voulez créer un fichier de script à utiliser avec
+"vim \-s" ou ":source!".
+Si le fichier {scriptSortie} existe, les caractères sont ajoutés à la fin.
+.TP
+\-W {scriptSortie}
+Comme \-w, mais un fichier existant sera écrasé.
+.TP
+\-x
+Chiffre les fichiers lors de l'écriture. Une clé de chiffrement sera demandée.
+.TP
+\-X
+Ne se connecte pas au serveur X. Accélère le temps de démarrage dans un
+terminal, mais le titre de la fenêtre et le presse-papier seront inaccessibles.
+.TP
+\-y
+Démarre
+.B Vim
+en mode Débutant (easy), comme si l'exécutable s'appelait "evim" ou "eview".
+Donne à
+.B Vim
+un comportement plus proche des éditeurs « cliquez-tapez ».
+.TP
+\-Z
+Mode restreint. Fonctionne comme si l'exécutable commençait par la lettre 'r'.
+.TP
+\-\-
+Délimite la fin des options.
+Les arguments qui suivent seront considérés comme des noms de fichiers.
+Cela permet d'éditer des fichier débutant par un '\-'.
+.TP
+\-\-echo\-wid
+IHM graphique GTK uniquement : retourne la Window ID sur stdout.
+.TP
+\-\-help
+Donne un message d'aide et quitte, comme "\-h".
+.TP
+\-\-literal
+Prend les arguments de noms de fichiers littéralement, sans étendre les
+jokers. N'a aucun effet sur Unix, où le shell étend les jokers.
+.TP
+\-\-noplugin
+Ne charge pas les greffons. Implicite avec \-u NONE.
+.TP
+\-\-remote
+Se connecte à un serveur Vim et lui fait éditer les fichiers spécifiés dans
+le reste des arguments. Si aucun serveur n'est trouvé, un avertissement est
+émis et les fichiers sont édités dans le Vim courant.
+.TP
+\-\-remote\-expr {expr}
+Se connecte à un serveur Vim, y évalue {expr} et affiche le résultat sur la
+sortie standard (stdout).
+.TP
+\-\-remote\-send {touches}
+Se connecte à un serveur Vim et y envoie {touches}.
+.TP
+\-\-remote\-silent
+Comme \-\-remote, mais sans émettre d'avertissement si aucun serveur n'est
+trouvé.
+.TP
+\-\-remote\-wait
+Comme \-\-remote, mais Vim ne quitte pas tant que le fichier est en cours
+d'édition.
+.TP
+\-\-remote\-wait\-silent
+Comme \-\-remote\-wait, mais sans émettre d'avertissement si aucun serveur n'est
+trouvé.
+.TP
+\-\-serverlist
+Donne la liste des noms de tous les serveurs Vim disponibles.
+.TP
+\-\-servername {nom}
+Utilise {nom} pour le nom de serveur. Ce nom est donné au Vim courant, à moins
+qu'il ne soit utilisé avec un argument \-\-remote. Dans ce cas, il s'agit du nom
+du serveur auquel se connecter.
+.TP
+\-\-socketid {id}
+IHM graphique GTK+ uniquement : utilise le mécanisme GtkPlug pour faire
+fonctionner gvim dans une autre fenêtre.
+.TP
+\-\-version
+Affiche les informations sur la version puis quitte.
+.SH AIDE EN LIGNE
+Taper ":help" dans
+.B Vim
+pour commencer.
+Taper ":help sujet" pour obtenir de l'aide sur un sujet précis.
+Par exemple : ":help ZZ" pour consulter l'aide sur la commande "ZZ".
+Utiliser <Tab> et CTRL\-D pour compléter les sujets (":help
+cmdline\-completion").
+Des marqueurs sont inclus dans l'aide et vous permettent de sauter d'un endroit
+à un autre (comme des liens hypertextes, voir ":help").
+L'ensemble des fichiers de la documentation peut être consulté de cette
+façon, par exemple ":help syntax.txt".
+.SH FICHIERS
+.TP 15
+/usr/local/lib/vim/doc/*.txt
+Les fichiers de la documentation de
+.B Vim.
+Utiliser ":help doc\-file\-list" pour obtenir la liste complète.
+.TP
+/usr/local/lib/vim/doc/tags
+Le fichier des marqueurs utilisé pour trouver les informations dans les
+fichiers de la documentation.
+.TP
+/usr/local/lib/vim/syntax/syntax.vim
+Initialisation de la syntaxe pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/syntax/*.vim
+Fichiers de syntaxe pour différents langages.
+.TP
+/usr/local/lib/vim/vimrc
+Initialisation de
+.B Vim
+pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/gvimrc
+Initialisation de gvim pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/optwin.vim
+Script utilisé pour la commande ":options", une manière pratique de consulter
+et de modifier les options.
+.TP
+/usr/local/lib/vim/menu.vim
+Initialisation des menus de gvim pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/bugreport.vim
+Script pour générer un rapport de bogue. Voir ":help bugs".
+.TP
+/usr/local/lib/vim/filetype.vim
+Script pour détecter le type d'un fichier d'après son nom.
+Voir ":help 'filetype'".
+.TP
+/usr/local/lib/vim/scripts.vim
+Script pour détecter le type d'un fichier d'après son contenu.
+Voir ":help 'filetype'".
+.TP
+/usr/local/lib/vim/*.ps
+Fichiers utilisés pour l'impression PostScript.
+.PP
+Pour disposer d'informations récentes, consulter le site Internet de VIM :
+.br
+<URL:http://www.vim.org/>
+.SH VOIR AUSSI
+vimtutor(1)
+.SH AUTEUR
+La majeure partie de
+.B Vim
+a été écrite par Bram Moolenaar, avec l'aide de nombreux autres contributeurs.
+Voir ":help credits" dans
+.B Vim.
+.br
+.B Vim
+est basé sur Stevie, réalisé par Tim Thompson,
+Tony Andrews et G.R. (Fred) Walter.
+Toutefois, pratiquement rien du code original ne subsiste.
+.SH BOGUES
+Probablement.
+Voir ":help todo" pour consulter la liste des problèmes connus.
+.PP
+NOTE : Remarquez que bon nombre de points, qui pourraient être considérés comme
+des bugs par certains, sont en fait dus à une reproduction trop fidèle
+du comportement de Vi. Et si vous pensez que d'autres points sont des
+bugs "parce que Vi le fait différemment", vous devriez jeter un oeil
+attentif au fichier vi_diff.txt (ou taper ":help vi_diff.txt" dans Vim).
+Regardez aussi les options 'compatible' et 'coptions'.
+.SH TRADUCTION
+Cette page de manuel a été traduite par Richard Hitier.
+<richard.hitier@dial.oleane.com> 2000-08-07.
+.br
+Cette page de manuel a été mise à jour par David Blanchet.
+<david.blanchet@free.fr> 2005-01-17.
CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
fi
- CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
- LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'`
fi
- CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
- LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
else
AC_MSG_RESULT(no)
fi
static int pum_wanted __ARGS((void));
static int pum_two_or_more __ARGS((void));
static void ins_compl_dictionaries __ARGS((char_u *dict, char_u *pat, int flags, int thesaurus));
+static void ins_compl_files __ARGS((int count, char_u **files, int thesaurus, int flags, regmatch_T *regmatch, char_u *buf, int *dir));
static char_u *find_line_end __ARGS((char_u *ptr));
static void ins_compl_free __ARGS((void));
static void ins_compl_clear __ARGS((void));
has_compl_option(dict_opt)
int dict_opt;
{
- if (dict_opt ? (*curbuf->b_p_dict == NUL && *p_dict == NUL)
+ if (dict_opt ? (*curbuf->b_p_dict == NUL && *p_dict == NUL
+ && !curwin->w_p_spell)
: (*curbuf->b_p_tsr == NUL && *p_tsr == NUL))
{
ctrl_x_mode = 0;
#define DICT_EXACT (2) /* "dict" is the exact name of a file */
/*
- * Add any identifiers that match the given pattern to the list of
- * completions.
+ * Add any identifiers that match the given pattern in the list of dictionary
+ * files "dict_start" to the list of completions.
*/
static void
-ins_compl_dictionaries(dict, pat, flags, thesaurus)
- char_u *dict;
+ins_compl_dictionaries(dict_start, pat, flags, thesaurus)
+ char_u *dict_start;
char_u *pat;
int flags; /* DICT_FIRST and/or DICT_EXACT */
- int thesaurus;
+ int thesaurus; /* Thesaurus completion */
{
+ char_u *dict = dict_start;
char_u *ptr;
char_u *buf;
- FILE *fp;
regmatch_T regmatch;
- int add_r;
char_u **files;
int count;
int i;
int save_p_scs;
int dir = compl_direction;
+ if (*dict == NUL)
+ {
+#ifdef FEAT_SYN_HL
+ /* When 'dictionary' is empty and spell checking is enabled use
+ * "spell". */
+ if (!thesaurus && curwin->w_p_spell)
+ dict = (char_u *)"spell";
+ else
+#endif
+ return;
+ }
+
buf = alloc(LSIZE);
+ if (buf == NULL)
+ return;
+
/* If 'infercase' is set, don't use 'smartcase' here */
save_p_scs = p_scs;
if (curbuf->b_p_inf)
vim_free(ptr);
}
else
+ {
regmatch.regprog = vim_regcomp(pat, p_magic ? RE_MAGIC : 0);
+ if (regmatch.regprog == NULL)
+ goto theend;
+ }
/* ignore case depends on 'ignorecase', 'smartcase' and "pat" */
regmatch.rm_ic = ignorecase(pat);
- while (buf != NULL && regmatch.regprog != NULL && *dict != NUL
- && !got_int && !compl_interrupted)
+ while (*dict != NUL && !got_int && !compl_interrupted)
{
/* copy one dictionary file name into buf */
if (flags == DICT_EXACT)
* backticks (for security, the 'dict' option may have been set in
* a modeline). */
copy_option_part(&dict, buf, LSIZE, ",");
- if (vim_strchr(buf, '`') != NULL
+ if (!thesaurus && STRCMP(buf, "spell") == 0)
+ count = -1;
+ else if (vim_strchr(buf, '`') != NULL
|| expand_wildcards(1, &buf, &count, &files,
EW_FILE|EW_SILENT) != OK)
count = 0;
}
- for (i = 0; i < count && !got_int && !compl_interrupted; i++)
+ if (count == -1)
+ {
+ /* Skip "\<" in the pattern, we don't use it as a RE. */
+ if (pat[0] == '\\' && pat[1] == '<')
+ ptr = pat + 2;
+ else
+ ptr = pat;
+ spell_dump_compl(curbuf, ptr, regmatch.rm_ic, &dir, 0);
+ }
+ else
{
- fp = mch_fopen((char *)files[i], "r"); /* open dictionary file */
+ ins_compl_files(count, files, thesaurus, flags,
+ ®match, buf, &dir);
if (flags != DICT_EXACT)
- {
- vim_snprintf((char *)IObuff, IOSIZE,
+ FreeWild(count, files);
+ }
+ if (flags != 0)
+ break;
+ }
+
+theend:
+ p_scs = save_p_scs;
+ vim_free(regmatch.regprog);
+ vim_free(buf);
+}
+
+ static void
+ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
+ int count;
+ char_u **files;
+ int thesaurus;
+ int flags;
+ regmatch_T *regmatch;
+ char_u *buf;
+ int *dir;
+{
+ char_u *ptr;
+ int i;
+ FILE *fp;
+ int add_r;
+
+ for (i = 0; i < count && !got_int && !compl_interrupted; i++)
+ {
+ fp = mch_fopen((char *)files[i], "r"); /* open dictionary file */
+ if (flags != DICT_EXACT)
+ {
+ vim_snprintf((char *)IObuff, IOSIZE,
_("Scanning dictionary: %s"), (char *)files[i]);
- msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
- }
+ msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
+ }
- if (fp != NULL)
+ if (fp != NULL)
+ {
+ /*
+ * Read dictionary file line by line.
+ * Check each line for a match.
+ */
+ while (!got_int && !compl_interrupted
+ && !vim_fgets(buf, LSIZE, fp))
{
- /*
- * Read dictionary file line by line.
- * Check each line for a match.
- */
- while (!got_int && !compl_interrupted
- && !vim_fgets(buf, LSIZE, fp))
+ ptr = buf;
+ while (vim_regexec(regmatch, buf, (colnr_T)(ptr - buf)))
{
- ptr = buf;
- while (vim_regexec(®match, buf, (colnr_T)(ptr - buf)))
+ ptr = regmatch->startp[0];
+ if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
+ ptr = find_line_end(ptr);
+ else
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(regmatch->startp[0],
+ (int)(ptr - regmatch->startp[0]),
+ p_ic, files[i], *dir, 0);
+ if (thesaurus)
{
- ptr = regmatch.startp[0];
- if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
- ptr = find_line_end(ptr);
- else
- ptr = find_word_end(ptr);
- add_r = ins_compl_add_infercase(regmatch.startp[0],
- (int)(ptr - regmatch.startp[0]),
- p_ic, files[i], dir, 0);
- if (thesaurus)
+ char_u *wstart;
+
+ /*
+ * Add the other matches on the line
+ */
+ while (!got_int)
{
- char_u *wstart;
+ /* Find start of the next word. Skip white
+ * space and punctuation. */
+ ptr = find_word_start(ptr);
+ if (*ptr == NUL || *ptr == NL)
+ break;
+ wstart = ptr;
- /*
- * Add the other matches on the line
- */
- while (!got_int)
- {
- /* Find start of the next word. Skip white
- * space and punctuation. */
- ptr = find_word_start(ptr);
- if (*ptr == NUL || *ptr == NL)
- break;
- wstart = ptr;
-
- /* Find end of the word and add it. */
+ /* Find end of the word and add it. */
#ifdef FEAT_MBYTE
- if (has_mbyte)
- /* Japanese words may have characters in
- * different classes, only separate words
- * with single-byte non-word characters. */
- while (*ptr != NUL)
- {
- int l = (*mb_ptr2len)(ptr);
-
- if (l < 2 && !vim_iswordc(*ptr))
- break;
- ptr += l;
- }
- else
-#endif
- ptr = find_word_end(ptr);
- add_r = ins_compl_add_infercase(wstart,
- (int)(ptr - wstart),
- p_ic, files[i], dir, 0);
- }
+ if (has_mbyte)
+ /* Japanese words may have characters in
+ * different classes, only separate words
+ * with single-byte non-word characters. */
+ while (*ptr != NUL)
+ {
+ int l = (*mb_ptr2len)(ptr);
+
+ if (l < 2 && !vim_iswordc(*ptr))
+ break;
+ ptr += l;
+ }
+ else
+#endif
+ ptr = find_word_end(ptr);
+ add_r = ins_compl_add_infercase(wstart,
+ (int)(ptr - wstart),
+ p_ic, files[i], *dir, 0);
}
- if (add_r == OK)
- /* if dir was BACKWARD then honor it just once */
- dir = FORWARD;
- else if (add_r == FAIL)
- break;
- /* avoid expensive call to vim_regexec() when at end
- * of line */
- if (*ptr == '\n' || got_int)
- break;
}
- line_breakcheck();
- ins_compl_check_keys(50);
+ if (add_r == OK)
+ /* if dir was BACKWARD then honor it just once */
+ *dir = FORWARD;
+ else if (add_r == FAIL)
+ break;
+ /* avoid expensive call to vim_regexec() when at end
+ * of line */
+ if (*ptr == '\n' || got_int)
+ break;
}
- fclose(fp);
+ line_breakcheck();
+ ins_compl_check_keys(50);
}
+ fclose(fp);
}
- if (flags != DICT_EXACT)
- FreeWild(count, files);
- if (flags)
- break;
}
- p_scs = save_p_scs;
- vim_free(regmatch.regprog);
- vim_free(buf);
}
/*
case CTRL_X_DICTIONARY:
case CTRL_X_THESAURUS:
ins_compl_dictionaries(
- dict ? dict
+ dict != NULL ? dict
: (type == CTRL_X_THESAURUS
? (*curbuf->b_p_tsr == NUL
? p_tsr
? p_dict
: curbuf->b_p_dict)),
compl_pattern,
- dict ? dict_f : 0, type == CTRL_X_THESAURUS);
+ dict != NULL ? dict_f
+ : 0, type == CTRL_X_THESAURUS);
dict = NULL;
break;
void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive));
char_u *eval_soundfold __ARGS((char_u *word));
void ex_spelldump __ARGS((exarg_T *eap));
+void spell_dump_compl __ARGS((buf_T *buf, char_u *pat, int ic, int *dir, int dumpflags_arg));
char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
int spell_word_start __ARGS((int startcol));
void spell_expand_check_cap __ARGS((colnr_T col));
['tail lead', 'tail']
leadprobar
['leadprebar', 'lead prebar', 'leadbar']
+
+test 8-8
+# file: Xtest.latin1.spl
+bar
+faabar
+foo
+-------
+bad
+['bar', 'foo']
+foobar
+['faabar', 'foo bar', 'bar']
+barfoo
+['bar foo', 'bar', 'foo']
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 1)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 1, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 2)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 2, compiled "