*options.txt* Pour Vim version 6.2.
MANUEL de RÉFÉRENCE VIM - par Bram Moolenaar
Options *options*
1. Fixer des options |set-option|
2. Fixer des options automatiquement |auto-setting|
3. Sommaire des options |option-summary|
Pour une liste sommaire des options, voir "help.txt" XXX |option-list|.
Vim dispose d'un certain nombre de variables et de commutateurs internes qui
peuvent être fixés pour obtenir des effets particuliers. Ces options sont de
trois formes :
booléenne peut être activée/désactivée *boolean* *toggle*
numérique prend un nombre comme valeur
de type chaîne prend une chaîne comme valeur
==============================================================================
1. Fixer des options *set-option*
*:se* *:set*
:se[t] Affiche toutes les options qui diffèrent de leur
valeur par défaut.
:se[t] all Affiche toutes les options, sauf celles du terminal.
:se[t] termcap Affiche toutes les options du terminal. NOTE : Dans
l'IHM graphique, les codes des touches ne sont pas
affichés, car ils sont générés en interne et ne
peuvent être changés. La modification des codes du
terminal dans l'IHM graphique est par ailleurs
inutile...
*E518* *E519*
:se[t] {option}? Affiche la valeur d'{option}.
:se[t] {option} Option booléenne : l'active (la rend active).
Option numérique : affiche sa valeur.
Option de type chaîne : affiche sa valeur.
:se[t] no{option} Option booléenne : la désactive (la rend inactive).
:se[t] {option}! ou
:se[t] inv{option} Option booléenne : inverse sa valeur. {absent de Vi}
*:set-default* *:set-&* *:set-&vi* *:set-&vim*
:se[t] {option}& Ramène une option à sa valeur par défaut. Cela peut
dépendre de la valeur courante de 'compatible'.
{absent de Vi}
:se[t] {option}&vi Ramène une option à sa valeur par défaut Vi.
{absent de Vi}
:se[t] {option}&vim Ramène une option à sa valeur par défaut Vim.
{absent de Vi}
:se[t] all& Ramène toutes les options, sauf les options du
terminal, à leurs valeurs par défaut. Les valeurs de
'term', 'lines' et 'columns' ne sont pas modifiées.
{absent de Vi}
:se[t] {option}={valeur} ou *:set-args* *E487* *E521*
:se[t] {option}:{valeur}
Fixe une option numérique ou de type chaîne à
{valeur}.
Pour les options numériques, la valeur peut être
donnée en décimal, hexadécimal (précédée par "0x") ou
octal (précédée par "0"). NOTE : L'hexadécimal et
l'octal ne sont disponibles que sur les machines
disposant de la fonction strtol().
L'ancienne valeur peut être insérée en tapant
'wildchar' (<Tab> par défaut, ou CTRL-E si 'compatible'
est activé). Voir |cmdline-completion|.
Un espace blanc entre {option} et '=' est toléré et
sera ignoré. Aucun espace blanc entre '=' et {valeur}
n'est autorisé.
Voir |option-backslash| sur l'usage des espaces blancs
et des contre-obliques dans {valeur}.
*:set+=*
:se[t] {option}+={valeur}
Additionne {valeur} à une option numérique, ou ajoute
la {valeur} à la suite d'une option de type chaîne.
Lorsque l'option est une liste séparée par des
virgules, une virgule est ajoutée, à moins que la
valeur ne soit vide.
Si l'option est une liste de drapeaux, les drapeaux
superflus sont supprimés. Sinon, il n'y a pas de test
pour ôter les doublons, mais vous pouvez y remédier en
supprimant une valeur au préalable. Exemple : Voir aussi |:set-args| ci-dessus.
{absent de Vi}
*:set^=*
:se[t] {option}^={valeur}
Multiplie {valeur} à une option numérique, ou préfixe
la {valeur} à une option de type chaîne. Lorsque
l'option est une liste séparée par des virgules, une
virgule est ajoutée, à moins que la valeur ne soit
vide.
Voir aussi |:set-args| ci-dessus.
{absent de Vi}
*:set-=*
:se[t] {option}-={valeur}
Soustrait {valeur} d'une option numérique, ou supprime
la {valeur} d'une option de type chaîne, si elle est
présente (si ce n'est pas le cas, il n'y a ni erreur
ni avertissement). Lorsque l'option est une liste
séparée par des virgules, une virgule est supprimée, à
moins que l'option ne devienne vide.
Si l'option est une liste de drapeaux, la {valeur}
doit être identique à leur apparition dans l'option.
Supprimez les drapeaux un par un pour éviter tout
problème.
Voir aussi |:set-args| ci-dessus.
{absent de Vi}
Les arguments {option} de la commande ":set" peuvent être concaténés. Par
exemple :Si vous faites une erreur dans un de ces arguments, un message d'erreur sera
émis et les arguments suivants seront ignorés.
*:set-verbose*
Lorsque 'verbose' est non-nul, l'affichage de la valeur d'une option précisera
aussi le dernier endroit où elle a été fixée. Exemple : shiftwidth=4
Last set from modeline
cindent
Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
Cela ne se produit que si des valeurs d'options spécifiques sont demandées, et
non avec ":set all" ou ":set" sans argument.
Lorsque l'option a été fixée à la main, il n'y a pas de message "Last set".
Il y a une seule valeur pour toutes les options locales du même nom. Ainsi, le
message s'applique au nom de l'option, et non nécessairement à sa valeur.
Lorsque l'option a été fixée pendant l'exécution d'une fonction, d'une
commande utilisateur ou d'une autocommande, le script dans lequel elle était
définie est reporté.
NOTE : Une option peut aussi avoir été modifiée de façon indirecte suite à
l'activation/désactivation de 'compatible'.
{uniquement si compilé avec la fonctionnalité |+eval|}
*:set-termcap* *E522*
La forme "t_xx" peut être utilisée pour {option} si l'on veut définir une
option termcap. Elle recouvrira la valeur effective provenant du termcap. Vous
pouvez ensuite l'utiliser dans un mappage. Si la partie "xx" contient des
caractères spéciaux, utilisez la forme <t_xx> :Cela peut également être utilisé pour traduire un code spécial pour une touche
normale. Par exemple, si Alt + 'b' produit <Echap>b, essayez ceci :('^[' désigne ici un véritable <Echap>, utilisez "CTRL-V <Echap>" pour
l'entrer.) L'avantage par rapport à un mappage est que cela fonctionne dans
toutes les situations.
Le listage produit par ":set" n'a pas le même aspect que dans Vi. Les options
de type chaîne longues sont placées en fin de liste. Le nombre d'options est
plus important : la sortie de ":set all" dépassera vraisemblablement de
l'écran, et Vim donnera une invite Plus |more-prompt|.
*option-backslash*
Pour inclure un espace blanc dans la valeur d'une option de type chaîne, il
faut le faire précéder par une contre-oblique. Pour inclure une
contre-oblique, il faut en entrer deux. Cela implique que le nombre de
contre-obliques dans la valeur d'une option est divisé par deux (et arrondi à
l'inférieur).
Quelques exemples :Le caractère "|" sépare une commande ":set" de la commande suivante. Pour
inclure "|" dans la valeur de l'option, utilisez "\|" à la place. Cet exemple
fixe l'option 'titlestring' à "coucou|toto" :Celui-ci fixe l'option 'titlestring' à "coucou" et 'iconstring' à "toto" :Sous MS-DOS et Win32, les contre-obliques dans les noms de fichiers ne sont
généralement pas supprimées. Plus précisément : pour les options qui attendent
un nom de fichier comme valeur (celles où les variables d'environnement sont
étendues), une contre-oblique avant un caractère de nom de fichier normal
n'est pas supprimé. Mais une contre-oblique avant un caractère spécial
(espace, contre-oblique, virgule, etc.) est traitée comme décrit ci-dessus.
Il y a un cas particulier lorsque la valeur débute par "\\" :Dans le premier exemple le début est conservé, mais dans le deuxième le nombre
de contre-obliques est réduit de moitié. Cela vous assure d'un bon
fonctionnement que vous souhaitiez que les contre-obliques soient divisées par
deux ou qu'elles soient conservées. Le troisième exemple produit un résultat
qui n'est probablement pas celui que vous escompterez. Évitez-le.
*E539* *E550* *E551* *E552*
*add-option-flags* *remove-option-flags*
Certaines options contiennent une liste de drapeaux. Quand vous voulez ajouter
un drapeau à ce genre d'option sans toucher à ceux qui existent déjà, vous
pouvez faire comme ceci :Et pour supprimer un drapeau :Cela supprime le drapeau 'a' de 'guioptions'.
NOTE : Vous devriez ajouter ou supprimer un seul drapeau à la fois. Par
exemple, si 'guioptions' vaut "ab", l'emploi de "set guioptions-=ba" ne
fonctionnera pas, car la chaîne "ba" n'apparaît pas.
*:set_env* *expand-env* *expand-environment-var*
Les variables d'environnement sont étendues dans la plupart des options de
type chaîne. Si la variable d'environnement existe, le '$' et le nom de
variable qui suit sont remplacées par sa valeur. Si elle n'existe pas, le '$'
et le nom suivant ne sont pas modifiés. Tout caractère de non-identifiant (ni
une lettre, un chiffre ou '_') peut suivre le nom de la variable
d'environnement. Ce caractère et ceux qui suivent sont suffixés à la valeur de
la variable d'environnement. Exemples :Lors de l'ajout ou de la suppression d'une chaîne dans une option avec
":set opt-=val" ou ":set opt+=val", l'expansion est effectuée avant l'ajout ou
la suppression.
GÉRER DES OPTIONS LOCALES *local-options*
Certaines option ne s'appliquent que sur une fenêtre ou un tampon : chaque
fenêtre ou tampon dispose d'une copie de l'option, et chaque copie peut avoir
sa valeur propre. Cela permet par exemple d'activer 'list' dans une fenêtre
mais pas dans les autres. Ou de fixer 'shiftwidth' à 3 dans un tampon et à 4
dans un autre.
Les paragraphes suivants expliquent ce qui survient à ces options locales dans
certaines situations. Vous ne devriez normalement pas avoir besoin de retenir
tout cela, car Vim gère les valeurs des options comme vous l'attendez.
Malheureusement, connaître les attentes des utilisateurs est parfois
compliqué...
Lors du partage d'une fenêtre, les options locales sont copiées dans la
nouvelle fenêtre. Ainsi, juste après un partage (":split"), le contenu des
deux fenêtres est identique.
Lors de l'édition d'un nouveau tampon, les valeurs de ses options locales
doivent être initialisées. Comme les options locales du tampon courant peuvent
n'avoir été choisies que pour ce seul tampon, elles ne sont pas utilisées. À
la place, il existe une valeur globale pour chaque option locale de tampon,
qui sert pour les nouveaux tampons. Avec ":set", ce sont à la fois les valeurs
globale et locale qui sont modifiées. Avec ":setlocal", seule la valeur locale
est modifiée, ainsi cette valeur n'est pas utilisée lors de l'édition d'un
nouveau tampon.
Lors de l'édition d'un tampon qui avait déjà été édité précédemment, les
options de la dernière fenêtre utilisée sont réemployées. Si ce tampon avait
été édité dans cette fenêtre, alors les mêmes valeurs seront conservées.
Sinon, les valeurs de la dernière fenêtre dans laquelle le tampon avait été
édité sont utilisées.
Il est possible de fixer une option locale de fenêtre pour un type de
tampon spécifique. Lorsque vous éditez un autre tampon dans la même fenêtre,
vous ne souhaiterez probablement pas continuer à utiliser ces options locales
de fenêtre. C'est pourquoi Vim conserve une valeur globale des options locales
de fenêtre, qui est utilisée pour l'édition d'un autre tampon. Chaque fenêtre
dispose de ses propres copies de ces valeurs. Ainsi elles sont locales à une
fenêtre, mais globales à tous les tampons de cette fenêtre.
Exemples :Ceci activera l'option 'list' également pour le fichier "deux", puisque la
commande ":set list" a modifié la valeur globale.Ici, l'option 'list' n'est pas activée pour "deux", car ":set nolist" a
désactivé la valeur globale et ":setlocal list" n'a modifié que la valeur
locale, tandis que ":e deux" utilise la valeur globale.
NOTE : Si vous faites cela ensuitevous ne retrouverez pas l'option 'list' activée, comme la dernière fois que
vous avez édité "un". En effet, les options locales de fenêtre ne sont pas
mémorisées pour chaque tampon.
*:setl* *:setlocal*
:setl[ocal] ... Comme ":set", mais fixe uniquement la valeur locale à
la fenêtre ou au tampon courant (quand il y en a un).
Toutes les options n'ont pas de valeur locale : si une
n'en a pas, c'est la valeur globale qui est fixée.
Avec l'argument "all" : affiche les valeurs de toutes
les options locales.
Sans argument : affiche les valeurs locales de toutes
les options locales qui diffèrent de leurs valeurs par
défaut.
Lors de l'affichage d'une option locale spécifique,
montre sa valeur locale. Pour une option globale, la
valeur globale est affichée (mais cela pourrait
changer dans une version ultérieure).
{absent de Vi}
:setl[ocal] {option}< Fixe la valeur locale d'{option} à sa valeur globale.
{absent de Vi}
*:setg* *:setglobal*
:setg[lobal] ... Comme ":set", mais fixe uniquement la valeur globale
d'une option locale, sans modifier sa valeur locale.
Lors de l'affichage d'une option, la valeur globale
est montrée.
Avec l'argument "all" : affiche les valeurs de toutes
les options globales.
Sans argument : affiche les valeurs globales de toutes
les options locales qui diffèrent de leurs valeurs par
défaut.
{absent de Vi}
Pour les option locales de fenêtre ou de tampon :
COMMANDE VALEUR GLOBALE VALEUR LOCALE
:set option=valeur fixée fixée
:setlocal option=valeur - fixée
:setglobal option=valeur fixée -
:set option? - affichée
:setlocal option? - affichée
:setglobal option? affichée -
OPTIONS GLOBALES AVEC UNE VALEUR LOCALE *global-local*
Les options pour lesquelles vous n'utilisez en général qu'une valeur pour tous
vos tampons sont globales. Mais parfois, il peut être utile d'avoir une valeur
locale différente pour une option globale. Vous pouvez fixer une valeur locale
avec ":setlocal". Le tampon courant utilisera alors cette valeur locale,
tandis que les autres tampons continueront d'utiliser la valeur globale.
Par exemple, vous avez deux fenêtres contenant du code source C. Elles
utilisent toutes deux l'option 'makeprg'. Si vous faites ceci dans une des
deux fenêtresalors l'autre fenêtre prendra la même valeur. Il n'est pas nécessaire de fixer
l'option 'makeprg' dans cette autre fenêtre de code source C.
Si maintenant vous souhaitez éditer un fichier Perl dans une nouvelle
fenêtre et utiliser une autre valeur pour 'makeprog' sans affecter celle
utilisée dans les deux fenêtres de code C, vous pouvez faire :Pour revenir à la valeur globale, utilisez une chaîne vide pour la valeur
locale :Cela fonctionne uniquement pour une option de type chaîne. Pour une option
booléenne, vous devez utiliser le drapeau '<', comme ceci :NOTE : Pour les options non-booléennes, l'utilisation de '<' copie la valeur
globale dans la valeur locale, mais ne fait pas revenir à l'utilisation
de la valeur globale (cela pose problème si la valeur globale est changée
ultérieurement).
NOTE : Dans les versions ultérieures, il y aura plus d'options globales qui
pourront être rendues locales. L'utilisation de ":setlocal" sur une option
globale pourrait alors fonctionner différemment.
FIXER DES TYPES DE FICHIERS
*:setf* *:setfiletype*
:setf[iletype] {typefich}
Fixe l'option 'filetype' à {typefich}, mais uniquement
si cela n'a pas déjà été effectué dans une séquence
d'autocommandes. C'est un raccourci pour : Cette commande est utilisée dans un fichier
"filetype.vim" afin d'éviter que l'option 'filetype'
ne soit fixée deux fois, ce qui provoquerait le
chargement de fichiers de paramètres et de syntaxe
différents.
{absent de Vi}
:bro[wse] se[t] *:set-browse* *:browse-set* *:opt* *:options*
:opt[ions] Ouvre une fenêtre permettant de visualiser et de fixer
toutes les options. Les options sont regroupées par
thèmes.
Chaque option est accompagnée d'un bref descriptif :
saisissez <CR> sur ce descriptif pour ouvrir une
fenêtre d'aide contenant plus d'informations.
Modifiez la valeur de l'option et saisissez <CR> sur
la ligne "set" pour définir une nouvelle valeur. Pour
les options locales de fenêtre ou de tampon, ce sont
les valeurs de la dernière fenêtre courante qui sont
utilisées, à moins qu'il ne s'agisse d'une fenêtre
d'aide, auquel cas la fenêtre située sous cette
fenêtre d'aide est utilisée (la fenêtre option-window
est ignorée).
{uniquement si compilé avec les fonctionnalités
|+eval| et |+autocmd|}
*$HOME*
L'utilisation de "~" est identique à "$HOME", mais elle est reconnue seulement
au début d'une option et après un espace ou une virgule.
Sur les systèmes Unix, "~nom" peut également être utilisé. Il est remplacé
par le répertoire personnel de l'utilisateur "nom". Exemple :La forme "${HOME}" peut également être utilisée sous Unix. Le nom entre {}
peut contenir des caractères de non-identifiant. NOTE : Si vous voulez
utiliser cela avec la commande "gf", vous devrez ajoutez les caractères '{' et
'}' à l'option 'isfname'.
NOTE : La longueur maximale d'une option étendue est limitée. Le plafond varie
en fonction du système, souvent entre 256 et 1024 caractères.
*:fix* *:fixdel*
:fix[del] Fixe la valeur de 't_kD' :
't_kb' VAUT... 't_kD' DEVIENT...
CTRL-? CTRL-H
pas CTRL-? CTRL-?
(CTRL-? désigne l'octal "0177", l'hexa "0x7f".)
{absent de Vi}
Si le code de la touche <Suppr> de votre terminal est
mauvais, mais que celui de la touche <RetArr>
convient, vous pouvez ajouter ceci à votre fichier
vimrc : Cela ne provoquera pas de conflit avec le code actuel
de la touche <RetArr>.
Si le code de la touche <RetArr> du terminal est
mauvais, essayez ceci où "^V" désigne CTRL-V et <RetArr> la touche de retour
arrière (ne saisissez pas huit caractères !).
Remplacez "nom-du-terminal" par le nom de votre
terminal.
Si votre touche <Suppr> envoie une séquence clavier
étrange (ni CTRL-? ni CTRL-H), vous ne pouvez pas
utiliser ":fixdel". Essayez plutôt où "^V" désigne CTRL-V et <Suppr> la touche de
suppression (ne saisissez pas cinq caractères !).
Remplacez "nom-du-terminal" par le nom de votre
terminal.
*Linux-backspace*
NOTE pour Linux : Par défaut, la touche <RetArr>
produit CTRL-?, ce qui est mauvais. Pour y remédier,
placez cette ligne dans votre fichier "rc.local" :
*NetBSD-backspace*
NOTE pour NetBSD : Si <RetArr> ne produit pas le bon
code, essayez ceci : Si cela fonctionne, ajoutez cette ligne à votre
fichier ".Xmodmap" : Vous devrez redémarrer pour que cela prenne effet.
==============================================================================
2. Fixer des options automatiquement *auto-setting*
En plus de modifier une option avec la commande ":set", il existe trois
façons de fixer des options automatiquement pour un ou plusieurs fichiers :
1. Lors du lancement de Vim, les initialisations sont lues à divers
emplacements. Voir |initialization|. La plupart sont utilisées pour toutes
les sessions d'édition, et certaines dépendent du répertoire où Vim a été
lancé. Vous pouvez créer un fichier d'initialisation avec |:mkvimrc|,
|:mkview| et |:mksession|.
2. Si vous démarrez l'édition d'un nouveau fichier, les autocommandes sont
exécutées. Cela peut être utilisé pour fixer des options sur des fichiers
correspondant à une chaîne spécifique, ou à bien d'autres critères. Voir
|autocommand|.
3. Si vous démarrez l'édition d'un nouveau fichier et que l'option 'modeline'
est activée, un certain nombre de lignes au début et à la fin du fichier
seront balayées à la recherche de lignes de mode. C'est ce qui est expliqué
dans la suite de cette section.
*modeline* *vim:* *vi:* *ex:* *E520*
Il y a deux formes de lignes de mode. La première forme :
[texte]{blanc}{vi:|vim:|ex:}[blanc]{options}
[texte] n'importe quel texte ou vide
{blanc} au moins un espace blanc (<Espace> ou <Tab>)
{vi:|vim:|ex:} la chaîne "vi:", "vim:" ou "ex:"
[blanc] un espace blanc optionnel
{options} une liste d'options, séparées par un espace blanc ou ':', qui
servent d'arguments à la commande ":set"
Exemple :La deuxième forme (elle est compatible avec certaines versions de Vi) :
[texte]{blanc}{vi:|vim:|ex:}[blanc]se[t] {options}:[texte]
[texte] n'importe quel texte ou vide
{blanc} au moins un espace blanc (<Espace> ou <Tab>)
{vi:|vim:|ex:} la chaîne "vi:", "vim:" ou "ex:"
[blanc] un espace blanc optionnel
se[t] la chaîne "set " ou "se " (notez l'espace)
{options} une liste d'options, séparées par un espace blanc, qui servent
d'arguments à la commande ":set"
: un caractère deux-points
[texte] n'importe quel texte ou vide
Exemple :L'espace blanc précédant {vi:|vim:|ex:} est nécessaire. Il permet d'éviter une
confusion avec un mot normal, tel que "lex:". Il y a une exception : "vi:" et
"vim:" peuvent être situés au début d'une ligne (pour la compatibilité avec la
version 3.0). L'emploi de "ex:" au début d'une ligne sera ignoré (il pourrait
s'agir de l'abréviation d'« exemple : »).
*modeline-local*
Les options sont fixées comme avec ":setlocal" : la nouvelle valeur s'applique
uniquement au tampon contenu par la fenêtre. Bien qu'il soit possible de fixer
des options globales depuis une ligne de mode, c'est assez inhabituel. Si vous
avez deux fenêtres ouvertes et que les fichiers qu'elles contiennent fixent la
même option globale mais à des valeurs différentes, le résultat dépend de
celle qui a été ouverte en dernier.
*modeline-version*
Si une ligne de mode ne doit être utilisée que pour certaines versions de Vim,
le numéro de version peut être spécifié à l'endroit où "vim:" apparaît :
vim{vers}: version {vers} ou supérieure
vim<{vers}: version inférieure à {vers}
vim={vers}: version {vers}
vim>{vers}: version supérieure à {vers}
{vers} vaut 600 pour Vim 6.0 (cent fois le numéro majeur de version, plus le
mineur).
Par exemple, pour utiliser une ligne de mode uniquement pour une version 6.0
ou supérieure de Vim :Pour utiliser une ligne de mode pour une version de Vim inférieure à 5.7 :Il ne peut pas y avoir de blancs entre "vim" et ':'.
Le nombre de lignes qui sont balayées peut être ajusté avec l'option
'modelines'. Si 'modeline' est désactivé ou que 'modelines' vaut 0, aucune
ligne de mode ne sera recherchée.
NOTE : Pour la première forme, tout le reste de la ligne est utilisé, ainsi
une ligne commeproduira un message d'erreur à cause du "*/" final. Cette ligne est
correcte :Si une erreur est détectée, le reste de la ligne est sauté.
Si vous voulez inclure ':' dans une commande ":set", faites-le précéder par
'\'. La contre-oblique devant le deux-points sera supprimée. Exemple :Cela fixe l'option 'dir' à "c:\tmp". Seule une contre-oblique simple est
supprimée devant ':'. Ainsi, pour inclure "\:", saisissez "\\:".
Aucune autre commande que ":set" n'est supportée dans une ligne de mode, pour
des raisons de sécurité (n'importe qui pourrait créer un fichier texte utilisé
comme cheval de Troie).
Astuce : Si vous voulez pouvoir faire autre chose que de fixer une option,
vous pouvez définir une autocommande qui cherchera une chaîne spécifique dans
le fichier. Par exemple :Définissez ensuite une fonction SetVar() qui traitera la ligne contenant
"VAR".
==============================================================================
3. Sommaire des options *option-summary*
Dans la liste ci-dessous, toutes les options sont mentionnées par leur nom
complet, ainsi que par leur abréviation, lorsqu'elle existe. Ces deux formes
peuvent être utilisées.
Dans ce document [N.D.T. : mais aussi dans toute la documentation, du moins la
traduction], une option booléenne est « activée » lorsque ":set option" est
entré ; elle est « désactivée » si ":set nooption" est utilisé.
Pour certaines options, il y a deux valeurs par défaut : le « défaut Vim »,
qui est utilisé lorsque 'compatible' n'est pas activé, et le « défaut Vi »,
pour quand 'compatible' est activé.
La plupart des options sont identiques dans toutes les fenêtres et tampons.
Quelques-unes sont spécifiques à la présentation du texte dans une
fenêtre : elles peuvent avoir différentes valeurs dans chaque fenêtre. Par
exemple, l'option 'list' peut être activée dans une fenêtre et désactivée dans
une autre pour le même texte, donnant deux vues différentes en même temps.
Quelques options sont spécifiques à certains fichiers : elles peuvent avoir
différentes valeurs pour chaque fichier. Par exemple, l'option 'textwidth'
peut valoir 78 pour un fichier texte normal, et 0 pour un programme en C.
global une option pour tous les tampons et fenêtres
local à une fenêtre chaque fenêtre a sa propre copie de l'option
local à un tampon chaque tampon a sa propre copie de l'option
Lors de la création d'une nouvelle fenêtre, les valeurs des options de la
fenêtre courante sont utilisées par défaut comme options locales de la
nouvelle fenêtre. Pour les options locales du tampon, cela dépend des drapeaux
's' et 'S' dans 'cpoptions'. Si 's' est inclus (ce qui est le cas par défaut),
les valeurs pour les options du tampon sont copiées depuis le tampon actif
courant la première fois que vous entrez dans le tampon. Si 'S' est inclus,
les options sont copiées à chaque entrée dans le tampon, ce qui revient à peu
près à avoir un option globale. Si ni 's' ni 'S' ne sont inclus, les options
sont copiées de celles du dernier tampon actif.
Certaines options ne sont pas supportées dans toutes les versions. Pour
déterminer si une option "toto" peut être utilisée avec ":set", utilisez
"exists('&toto')". Ceci ne signifie pas que la valeur de l'option sera
effectivement mémorisée et fonctionnelle. Certaines options sont cachées,
c'est-à-dire que vous pourrez les fixer mais que leur valeur ne sera pas
mémorisée. Pour déterminer si l'option "toto" est réellement supportée,
utilisez "exists('+toto')".
*E355*
Pour une liste courte, décrivant toutes les options et permettant de sauter
vers leur description complète, reportez-vous à |Q_op|.
*'aleph'* *'al'* *aleph* *Aleph*
'aleph' 'al' nombre (défaut : 128 sur MS-DOS, 224 sinon)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Le code ASCII de la première lettre de l'alphabet hébreu. La routine
qui mappe le clavier en mode hébreu, tant en mode Insertion (si
'hkmap' est activé) que sur la ligne de commande (si CTRL-_ est
saisi), utilise les caractères hébreux dans la plage
['aleph'...'aleph'+26]. "aleph=128" s'applique au code PC XXX, et
"aleph=224" à l'ISO-8859-8.
Voir |rileft.txt|.
*'allowrevins'* *'ari'* *'noallowrevins'* *'noari'*
'allowrevins' 'ari' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Autorise CTRL-_ en mode Insertion et Ligne-de-commande. Ceci est
désactivé par défaut, afin d'éviter que les utilisateurs qui ont saisi
CTRL-_ par accident au lieu de MAJ-_ ne se retrouvent en mode
Insertion inversée et ne sachent pas comment faire pour en sortir.
Voir 'revins'.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'altkeymap'* *'akm'* *'noaltkeymap'* *'noakm'*
'altkeymap' 'akm' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+farsi|}
Si activé, la seconde langue est le farsi. Pendant l'édition, CTRL-_
permet de basculer entre les codages clavier farsi et latin, si
'allowrevins' est activé.
Si désactivé, les codages clavier basculent entre l'hébreu et le
latin. C'est utile pour démarrer Vim dans son mode natif, c.-à-d.
latin (mode gauche à droite), et avoir en seconde langue le farsi ou
l'hébreu (mode droite à gauche). Voir |farsi.txt|.
*'ambiwidth'* *'ambw'*
'ambiwidth' 'ambw' chaîne (défaut : "single")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Pertinent uniquement lorsque 'encoding' vaut "utf-8" ou un autre
encodage Unicode. Indique à Vim comment traiter les caractères de
largeur ambiguë dans les classes d'encodages est-asiatiques (tels que
l'euro, les symboles registered XXX et copyright, les lettres grecques et
cyrilliques).
Il existe actuellement deux valeurs possibles :
single Utilise la même largeur que pour les caractères de
l'US-ASCII. C'est le comportement attendu par la
plupart des utilisateurs.
double Utilise une largeur double de celle des caractères
ASCII.
Il existe de nombreuses polices est-asiatiques dans lesquelles la
largeur des oeils est directement basée sur le nombre d'octets qu'ils
occupent dans les encodages historiques/traditionnels. Dans ces
encodages, les symboles euro ou registered, les lettres grecques ou
cyrilliques sont représentés sur deux octets, c'est pourquoi ces
polices utilisent des oeils « larges » pour les représenter. C'est
également vrai de certains caractères pseudo-graphiques utilisés pour
dessiner des tableaux dans des fichiers texte. Ainsi, quand une police
est-asiatique est utilisée pour l'IHM graphique de Vim ou que Vim
fonctionne dans un (émulateur de) terminal qui utilise une police
est-asiatique (ou encore que Vim fonctionne dans un xterm invoqué avec
l'option "-cjkwidth"), cette option devrait être fixé à "double" pour
faire concorder la largeur perçue par Vim avec celle des oeils dans la
police. Peut-être la valeur "double" sera-t-elle également nécessaire
sous Windows 9x/ME version est-asiatique, ou sous Windows 2000/XP
lorsque la région linguistique du système est fixée à une valeur
est-asiatique.
Voir "Unicode Standard Annex #11"
(http://www.unicode.org/reports/tr11).
*'autochdir'* *'acd'* *'noatuochdir'* *'noacd'*
'autochdir' 'acd' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+netbeans_intg| ou |+sun_workshop|}
Si activé, Vim changera sa valeur du répertoire de travail courant
soit à l'ouverture d'un fichier, lors d'un changement de tampon, de la
suppression d'un tampon ou de l'ouverture/fermeture d'une fenêtre. Il
prendra la valeur du répertoire contenant le fichier qui a été ouvert
ou sélectionné. Cette option est fournie pour compatibilité ascendante
avec la version de Vim destinée à "Sun ONE Studio 4 Enterprise
Edition".
*'arabic'* *'arab'* *'noarabic'* *'noarab'*
'arabic' 'arab' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+arabic|}
Cette option peut être activée pour éditer du texte en arabe.
Son activation :
- activera l'option 'rightleft', sauf si 'termbidi' est activé ;
- activera l'option 'arabicshape', sauf si 'termbidi' est activé ;
- fixera l'option 'keymap' à "arabic" ; en mode Insertion, CTRL-^ fera
basculer entre les codages clavier latin et arabe ;
- activera l'option 'delcombine'.
NOTE : 'encoding' doit valoir "utf-8" pour fonctionner avec du texte
arabe.
Sa désactivation :
- désactivera l'option 'rightleft' ;
- inhibera l'utilisation de 'keymap' (sans changer sa valeur).
NOTE : 'arabicshape' et 'delcombine' ne sont pas réinitialisés (ce
sont des options globales).
Voir aussi |arabic.txt|.
*'arabicshape'* *'arshape'*
*'noarabicshape'* *'noarshape'*
'arabicshape' 'arshape' booléen (défaut : activé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+arabic|}
Lorsque cette option est activée et que 'termbidi' ne l'est pas, la
« mise en forme » des caractères arabes est active. Cette expression a
un sens large qui comprend :
- la modification de la forme des lettres en fonction de leurs
positions respectives au sein d'un mot (initiale, médiale, finale
ou isolée) ;
- l'activation de la faculté de composer des caractères ;
- l'activation de la combinaison obligatoire de certains caractères.
Lorsque cette option est désactivée, chaque caractère reprend sa forme
« isolée ».
L'arabe est une langue complexe qui nécessite encore d'autres
réglages : pour plus de détails, voir |arabic.txt|.
*'autoindent'* *'ai'* *'noautoindent'* *'noai'*
'autoindent' 'ai' booléen (défaut : désactivé)
local à un tampon
Copie l'indentation de la ligne courante quand une nouvelle ligne est
ouverte (<CR> est saisi en mode Insertion, ou la commande "o" ou "O"
est utilisée). Si rien n'est entré sur la nouvelle ligne sauf <RetArr>
ou CTRL-D et que <Echap> ou <CR> est tapé, l'indentation est
supprimée à nouveau. Si 'autoindent' est activé, la mise en forme
(avec la commande "gq", ou quand vous atteignez 'textwidth' en mode
Insertion) utilise l'indentation de la première ligne. Si
'smartindent' ou 'cindent' est activé, l'indentation est ajustée de
façon différente.
Cette option est désactivée quand l'option 'paste' est activée.
NOTE : Après la suppression de l'indentation avec la saisie de <Echap>
ou <CR>, le curseur est placé après l'indentation supprimée lors d'un
déplacement haut/bas. {Vi place le curseur à une position dans
l'indentation supprimée}
*'autoread'* *'ar'* *'noautoread'* *'noar'*
'autoread' 'ar' booléen (défaut : désactivé)
global ou local à un tampon |global-local|
{absent de Vi}
Si un fichier est suspecté d'avoir été modifié en dehors de Vim et
qu'il ne l'a pas été dans Vim, il sera automatiquement relu. Si le
fichier a été supprimé, cela ne sera pas fait. |timestamp|
Si cette option a une valeur locale, utilisez cette commande pour
revenir à la valeur globale :
*'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
'autowrite' 'aw' booléen (défaut : désactivé)
global
Enregistre le contenu du fichier, s'il a été modifié, à chaque
commande ":next", ":rewind", ":last", ":first", ":previous", ":stop",
":suspend", ":tag", ":!", ":make", CTRL-] et CTRL-^ ; et quand une
commande CTRL-O, CTRL-I, '{A-Z0-9}, ou `{A-Z0-9} passe à un autre
fichier.
NOTE : Pour certaines commande, l'option 'autowrite' n'est pas
utilisée, voir 'autowriteall' pour cela.
*'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
'autowriteall' 'awa' booléen (défaut : désactivé)
global
{absent de Vi}
Comme 'autowrite', mais également utilisé pour les commandes ":edit",
":quit", ":qall", ":exit", ":xit", ":recover" et les commandes de
fermeture de la fenêtre Vim.
Si vous activez cette option, Vim se comportera comme si 'autowrite'
était activé.
*'background'* *'bg'*
'background' 'bg' chaîne (défaut : "dark" ou "light")
global
{absent de Vi}
Si fixé à "dark", Vim essaiera d'utiliser des couleurs qui ressortent
bien sur fond sombre. Si fixé à "light", Vim essaiera d'utiliser des
couleurs qui ressortent bien sur fond clair. Aucune autre valeur n'est
tolérée. Vim essaiera de fixer la valeur par défaut selon le terminal
utilisé. Cela ne sera pas toujours correct.
Fixer cette option ne change pas la couleur de fond, mais indique
simplement à Vim quelle est son apparence. Pour changer la couleur de
fond, voir |:hi-normal|.
Quand 'background' est fixé, Vim ajustera les groupes de couleur de
défaut à la nouvelle valeur. Mais les couleurs utilisées pour la
coloration syntaxique ne seront pas affectés.
Quand un jeu de couleurs est chargé (la variable "colors_name" est
fixée), fixer 'background' provoquera un rechargement du jeu de
couleurs. Si le jeu de couleur est ajusté à la valeur de 'background',
cela marchera bien. Cependant, si le jeu de couleurs fixe 'background'
lui-même, l'effet peut être annulé. Supprimez d'abord la variable
"colors_name" si nécessaire.
Quand vous fixez 'background' à sa valeur par défaut avec Vim essaiera de deviner la valeur. Dans l'IHM graphique, cela devrait
marcher correctement ; dans d'autres cas, Vim pourrait ne pas être
capable de deviner la bonne valeur.
Quand vous lancez l'IHM graphique, la valeur par défaut pour
'background' sera "light". Si cette valeur n'est pas fixée dans votre
gvimrc et que Vim détecte que la couleur courante du fond est sombre,
'background' sera fixé à "dark". Mais cela survient uniquement APRÈS
que le fichier gvimrc ait été lu (car la fenêtre doit être ouverte
pour trouver la couleur courante du fond). Pour contourner cela,
forcez la fenêtre IHM graphique à s'ouvrir en plaçant une commande
":gui" dans le fichier gvimrc, avant l'endroit où la valeur de
'background' est utilisée (p. ex., avant ":syntax on").
Normalement, cette option devrait être fixée dans le fichier vimrc,
dépendant éventuellement du nom du terminal. Exemple : Quand cette option est fixée, les paramètres par défaut pour les
groupes de surbrillance changeront. Pour utiliser d'autres paramètres,
placez les commandes ":highlight" APRÈS l'endroit où l'option
'background' a été fixé.
Cette option est également utilisée dans le fichier
"$VIMRUNTIME/syntax/syntax.vim", pour sélectionner les couleurs pour
la coloration syntaxique. Après avoir changé cette option, vous devrez
recharger ce fichier à nouveau pour voir le résultat. Cela peut être
fait avec ":syntax on".
*'backspace'* *'bs'*
'backspace' 'bs' chaîne (défaut : "")
global
{absent de Vi}
Influence le fonctionnement de <RetArr>, <Suppr>, CTRL-W et CTRL-U en
mode Insertion. C'est une liste d'items séparés par des virgules.
Chaque item autorise le retour arrière sur un objet précis :
VALEUR EFFET
indent autorise le retour arrière sur une auto-indentation
eol autorise le retour arrière sur une coupure de ligne
(fusionne deux lignes)
start autorise le retour arrière avant la position d'où
l'insertion avait débuté ; CTRL-W et CTRL-U
s'arrêtent à cette position
Quand la valeur est vide, le retour arrière compatible Vi est utilisé.
Pour des raisons de compatibilité avec les versions 5.4 et
antérieures, ces valeurs restent également acceptées :
VALEUR EFFET
0 comme ":set backspace=" (compatible Vi)
1 comme ":set backspace=indent,eol"
2 comme ":set backspace=indent,eol,start"
Voir |:fixdel| si votre touche <RetArr> ou <Suppr> ne se comporte pas
comme vous le souhaitez.
NOTE : Cette option est fixée à "" lorsque 'compatible' est activé.
*'backup'* *'bk'* *'nobackup'* *'nobk'*
'backup' 'bk' booléen (défaut : désactivé)
global
{absent de Vi}
Faire une sauvegarde avant l'écrasement d'un fichier. La sauvegarde
est gardée après que le fichier a été enregistré avec succès. Si vous
ne souhaitez pas le fichier de sauvegarde, mais désirez qu'il en soit
créé un quand un fichier est enregistré, désactivez cette option et
activez l'option 'writebackup' (c'est le cas par défaut). Si vous ne
voulez aucun fichier de sauvegarde, désactivez les deux options
(utilisez cela si votre système de fichiers est presque plein). Pour
plus d'explications, voir |backup-table|.
Quand le motif 'backupskip' correspond, aucune sauvegarde ne sera
créée de toute façon.
Si 'patchmode' est fixé, le fichier de sauvegarde pourra être renommé
pour devenir la plus ancienne version d'un fichier.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'backupcopy'* *'bkc'*
'backupcopy' 'bkc' chaîne (défaut Vi sur Unix : "yes", sinon : "auto")
global
{absent de Vi}
Lors de l'écriture d'un fichier, si une sauvegarde est créée, cette
option détermine de quelle façon :
"yes" effectue une copie du fichier et écrase l'original
"no" renomme le fichier et écrit dans un nouveau
"auto" un des deux précédents, celui qui marche le mieux
LA COPIE... LE RENOMMAGE...
- prend du temps supplémentaire + est plus rapide
pour effectuer la copie
+ préserve les attributs spéciaux, si - ne préserve parfois pas tous
le fichier est un lien (physique ou les attributs pour le
symbolique) ou a une branche de nouveau fichier
ressources
- si le fichier est un lien, la - si le fichier est un lien,
sauvegarde aura le nom du lien, le nouveau fichier ne sera
pas celui du fichier réel pas un lien
La valeur "auto" est intermédiaire : si Vim voit que le renommage du
fichier est possible sans effets de bord (les attributs peuvent être
transmis et le fichier n'est pas un lien), cela est utilisé. Si des
problèmes sont prévus, une copie sera faite.
*crontab*
Il existe un cas où "no" et "auto" poseront des problèmes : si un
programme ouvre un fichier, invoque Vim pour l'éditer, puis teste si
le fichier ouvert a été modifié (à travers le descripteur de fichier),
il testera le fichier de sauvegarde au lieu du fichier nouvellement
créé. C'est par exemple le cas avec `crontab -e`.
Quand une copie est faite, le fichier original est tronqué puis rempli
avec le nouveau texte. Cela signifie que les permissions d'accès,
le propriétaire et les liens symboliques du fichier original ne seront
pas modifiés. Le fichier de sauvegarde est pourtant bien un nouveau
fichier, appartenant à l'utilisateur qui a édité le fichier. Le groupe
de la sauvegarde est fixé au groupe de l'original. Si cela échoue, les
permissions d'accès du groupe sont fixées à celles des autres.
Quand le fichier est renommé, c'est le contraire : la sauvegarde a les
mêmes attributs que le fichier original et le fichier nouvellement
écrit appartient à l'utilisateur courant. Si le fichier était un lien
(physique ou symbolique), le nouveau fichier n'en sera pas un ! C'est
pour cela que la valeur "auto" ne renomme pas le fichier s'il s'agit
d'un lien. Vim essaie de fixer le propriétaire et le groupe du fichier
nouvellement écrit aux mêmes que ceux du fichier original, mais le
système pourra refuser de faire cela. Dans ce cas également, la valeur
"auto" ne renommera pas le fichier.
*'backupdir'* *'bdir'*
'backupdir' 'bdir' chaîne (défaut : sur Amiga : ".,t:",
sur MS-DOS et Win32 : ".,c:/tmp,c:/temp"
sur Unix : ".,~/tmp,~/")
global
{absent de Vi}
Liste de noms de répertoires pour le fichier de sauvegarde, séparés
par des virgules.
- Le fichier de sauvegarde sera créé dans le premier répertoire où
c'est possible.
- Si vide, aucun fichier de sauvegarde ne sera utilisé ('patchmode'
sera impossible !). L'écriture peut échouer dans ce cas.
- Un répertoire "." indiquera de placer le fichier de sauvegarde dans
le répertoire du fichier édité.
- Un répertoire débutant par "./" (ou ".\" pour MS-DOS et apparentés)
indique un chemin pour placer le fichier de sauvegarde relatif à
celui du fichier édité. Le '.' initial est remplacé par le nom du
chemin du fichier édité. (Un '.' dans un nom de répertoire n'a pas
de signification particulière.)
- Les espaces après une virgule sont ignorés, les autres espaces sont
considérés comme faisant partie du nom d'un répertoire. Pour inclure
un espace au début d'un nom de répertoire, faites-le précéder par
une contre-oblique.
- Pour inclure une virgule dans un nom de répertoire, faites-le
précéder par une contre-oblique.
- Un nom de répertoire peut se terminer par '/'.
- Les variables d'environnement sont étendues |:set_env|.
- Attention avec les caractères '\' : tapez-en un avant un espace,
tapez-en deux pour en inclure un dans l'option (voir
|option-backslash|), par exemple : - Pour compatibilité avec Vim version 3.0, un '>' au début de l'option
sera supprimé.
Voir aussi les options 'backup' et 'writebackup'.
Si vous voulez cacher vos fichiers de sauvegarde sous Unix, considérez
cette valeur : Vous devez créer un répertoire ".backup" dans chaque répertoire et
dans votre répertoire personnel pour que cela fonctionne correctement.
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de répertoires dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'backupext'* *'bex'* *E589*
'backupext' 'bex' chaîne (défaut : "~", sur VMS: "_")
global
{absent de Vi}
Chaîne suffixée à un nom de fichier pour obtenir le nom de son fichier
de sauvegarde. Une valeur plutôt inhabituelle est choisie par défaut,
cela évite d'écraser accidentellement un fichier existant avec le
fichier de sauvegarde. Vous pouvez aussi utiliser une valeur comme
".bak", mais assurez-vous que vous n'avez pas de fichiers avec cette
extension à conserver.
*'backupskip'* *'bsk'*
'backupskip' 'bsk' chaîne (défaut : "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+wildignore|}
Une liste de motifs de fichiers. Si un des motifs correspond avec le
nom du fichier écrit, aucun fichier de sauvegarde ne sera créé. Le nom
de fichier spécifié ET le chemin d'accès complet au fichier sont
utilisés. Le motif est utilisé comme avec |:autocmd|, voir
|autocmd-patterns|. Faites attention aux caractères spéciaux, voir
|option-backslash|.
Lorsque $TMPDIR, $TMP ou $TEMP n'est pas défini, il n'est pas utilisé
pour la valeur par défaut. "/tmp/*" est utilisé uniquement pour Unix.
*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay' nombre (défaut : 600)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+balloon_eval|}
Délai en millisecondes avant qu'une bulle n'apparaisse. Voir
|balloon-eval|.
*'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+balloon_eval| et |+sun_workshop| ou
|+netbeans_intg|}
Active l'évaluation par bulle |balloon-eval|.
*'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
Cette option devrait être activée avant d'éditer un fichier binaire.
Vous pouvez également utiliser l'argument de commande |-b|. Lorsque
cette option est activée, plusieurs autres options seront modifiées :
- 'textwidth' sera fixé à 0 ;
- 'wrapmargin' sera fixé à 0 ;
- 'modeline' sera désactivé ;
- 'expandtab' sera désactivé.
En outre, les options 'fileformat' et 'fileformats' ne seront pas
prises en compte, le fichier est lu et écrit comme si 'fileformat'
valait "unix" (un <NL> simple sépare les lignes).
Les options 'fileencoding' et 'fileencodings' ne seront pas prises en
compte, le fichier est lu sans conversion.
NOTE : Lorsque vous débutez l'édition d'un (autre) tampon alors que
l'option 'bin' est activée, les paramètres des autocommandes peuvent
modifier l'état des options (p. ex., 'textwidth'), causant des
problèmes d'édition. Pour y remédier, vous pouvez activer 'bin' à
nouveau quand le fichier aura été chargé.
Les valeurs précédentes de ces options sont mémorisées et restaurées
lorsque 'bin' est désactivé. Chaque tampon a son propre jeu de valeurs
d'options mémorisées.
Lors de l'écriture d'un fichier, un <EOL> sera écrit sur la dernière
ligne uniquement s'il y en avait un dans le fichier original
(normalement, Vim ajoute un <EOL> à la dernière ligne s'il n'y en a
pas, ce qui rendrait le fichier plus long). Voir l'option 'endofline'.
*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk' booléen (défaut : activé)
global
{absent de Vi}
{uniquement sur MS-DOS}
Si activé, le BIOS est appelé pour obtenir un caractère du clavier.
Cela marche mieux pour détecter CTRL-C, mais fonctionne uniquement
pour la console. Si vous utilisez un terminal sur port série,
désactivez cette option. Voir aussi |'conskey'|.
*'bomb'* *'nobomb'*
'bomb' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Si lors de l'enregistrement d'un fichier les conditions suivantes sont
remplies, une BOM ("Byte Order Mark", « marque d'encodage ») est
insérée en début de fichier :
- cette option est activée ;
- l'option 'binary' est désactivée ;
- 'fileencoding' vaut "utf-8", "ucs-2", "ucs-4" ou une de leurs
variantes gros/petit boutiste.
Certaines applications utilisent la BOM pour reconnaître l'encodage
d'un fichier. Souvent utilisé pour les fichiers UCS-2 sur MS-Windows.
Pour d'autres applications, cela peut poser des problèmes, par
exemple : `cat toto titi` fera apparaître la BOM de "titi" en plein
milieu de la sortie de cette commande.
Lorsque Vim lit un fichier et que 'fileencodings' débute par
"ucs-bom", un test pour la présence de la BOM est effectué, et 'bomb'
est activé en conséquence.
Sauf quand 'binary' est activé, la BOM est supprimée de la première
ligne, vous ne la verrez donc pas lors de l'édition. Si vous ne
changez pas les options, la marque d'encodage sera restaurée à
l'écriture du fichier.
*'breakat'* *'brk'*
'breakat' 'brk' chaîne (défaut : " ^I!@*-+;:,./?")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+linebreak|}
Cette option définit les caractères qui provoquent une coupure de
ligne lorsque 'linebreak' est activé.
*'browsedir'* *'bsdir'*
'browsedir' 'bsdir' chaîne (défaut : "last")
global
{absent de Vi}
{uniquement pour les IHM graphiques Motif et Win32}
Quel répertoire utiliser pour le sélecteur de fichiers :
last utilise le même répertoire que dans le dernier
sélecteur de fichiers
buffer utilise le répertoire du tampon courant
current utilise le répertoire courant
{chemin} utilise le répertoire indiqué
*'bufhidden'* *'bh'*
'bufhidden' 'bh' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
Cette option spécifie ce qui se produit lorsque un tampon n'est plus
affiché dans une fenêtre :
<vide> suit l'option globale 'hidden'
hide cache le tampon (ne le décharge pas), même si 'hidden'
n'est pas activé
unload décharge le tampon, même si 'hidden' est activé ou
|:hide| utilisé
delete supprime le tampon de la liste des tampons, même si
'hidden' est activé ou |:hide| utilisé (comme avec
|:bdelete|)
wipe liquide le tampon de la liste des tampons, même si
'hidden' est activé ou |:hide| utilisé (comme avec
|:bwipeout|)
Cette option est utilisée en conjonction avec 'buftype' et 'swapfile'
pour spécifier des types de tampons spéciaux. Voir |special-buffers|.
*'buflisted'* *'bl'* *E85*
'buflisted' 'bl' booléen (défaut : activé)
local à un tampon
{absent de Vi}
Si activé, le tampon apparaît dans la liste des tampons. Si désactivé,
il n'est pas utilisé pour ":bnext", ":ls", le menu Tampons, etc.
Cette option est désactivée par Vim pour les tampons qui sont
uniquement utilisés pour mémoriser un nom de fichier ou des marques.
Vim l'active en débutant l'édition d'un tampon. Mais pas en passant à
un tampon avec ":buffer".
*'buftype'* *'bt'* *E382*
'buftype' 'bt' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
La valeur de cette option spécifie le type d'un tampon :
<vide> tampon normal
nofile tampon ne provenant pas d'un fichier et qui ne sera
pas écrit
nowrite tampon qui ne sera pas écrit
quickfix tampon mise-au-point, contient la liste d'erreurs
(voir |:cw|)
help tampon d'aide (vous n'aurez normalement pas à fixer
cela à la main)
Cette option est utilisée en conjonction avec 'bufhidden' et
'swapfile' pour spécifier des types de tampons spéciaux. Voir
|special-buffers|.
Soyez prudent si vous changez cette option, cela peut avoir de
nombreux effets de bord !
Un tampon mise-au-point est utilisé uniquement pour la liste
d'erreurs. Cette valeur est fixée par la commande |:cwindow|, vous
n'aurez normalement pas à la fixer manuellement.
Les tampons "nofile" et "nowrite" sont similaires :
l'un ou l'autre : Le tampon n'aura pas à être écrit sur le
disque, ":w" ne marche pas (":w toto" marchera
quand même).
l'un ou l'autre : Le tampon ne sera jamais considéré comme
modifié |'modified'|. Il n'y aura pas
d'avertissement lorsque des modifications
seront perdues, par exemple quand vous quittez
Vim.
l'un ou l'autre : Un fichier d'échange est créé uniquement si
trop de mémoire est utilisée (quand 'swapfile'
a été désactivé, il n'y a jamais de fichier
d'échange).
"nofile" uniquement : Le nom du tampon est fixe, il n'est pas géré
comme un nom de fichier. Il n'est pas modifié
à la suite d'une commande |:cd|.
*'casemap'* *'cmp'*
'casemap' 'cmp' chaîne (défaut : "internal,keepascii")
global
{absent de Vi}
Spécifie des détails sur le changement de la casse des lettres. C'est
une liste d'items séparés par des virgules :
internal Utilise les fonctions de mappage de casse internes, la
région linguistique courante ne change pas le mappage
de casse. Cela ne pose problème que lorsque 'encoding'
définit un encodage Unicode. Quand "internal" est
omis, les fonctions towupper() et towlower() de la
bibliothèque système sont utilisées si elles sont
disponibles.
keepascii Pour les caractères ASCII (0x00 à 0x7f), le mappage de
casse américain est utilisé, la région linguistique
courante n'est pas effective. Cela n'est sans doute
problématique que pour le turc.
*'cdpath'* *'cd'* *E344* *E346*
'cdpath' 'cd' chaîne (défaut : équivalent à $CDPATH ou ",,")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+file_in_path|}
C'est une liste de répertoires qui seront utilisés pour les commandes
|:cd| et |:lcd|, si le répertoire recherché est spécifié par un chemin
relatif (ne débutant pas par "/", "./" ou "../").
La valeur de l'option 'cdpath' est de la même forme que celle de
|'path'|. Voir aussi |file-searching|.
La valeur par défaut est prise depuis $CDPATH, avec ',' préfixé pour
rechercher d'abord dans le répertoire courant.
Si la valeur par défaut de $CDPATH ne convient pas, incluez une
version modifiée de la commande suivante dans votre fichier vimrc pour
la recouvrir : Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité (des parties de 'cdpath'
pourraient être passées au shell lors de l'expansion de noms de
fichiers).
*'cedit'*
'cedit' chaîne (défaut Vim : CTRL-F, défaut Vi : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
La séquence clavier utilisée en mode Ligne-de-commande pour ouvrir la
fenêtre command-line.
La valeur par défaut est CTRL-F lorsque 'compatible' est désactivé.
Seules des séquences non-imprimables sont autorisées.
La séquence peut être spécifiée comme un caractère simple, mais c'est
plus difficile à saisir. Le mieux est d'utiliser la notation |<>|.
Exemples : |Nvi| dispose également de cette option, mais il en utilise uniquement
le premier caractère.
Voir |cmdwin|.
*'charconvert'* *'ccv'* *E202* *E214* *E513*
'charconvert' 'ccv' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+multi_byte| et |+eval|}
Expression utilisée pour la conversion d'encodages de caractères. Elle
est évaluée lorsqu'un fichier qui va être lu ou a été écrit a un
encodage différent de celui désiré.
'charconvert' n'est pas utilisé si la fonction interne iconv() est
supportée et peut effectuer la conversion. L'utilisation de iconv()
est préférable, car elle est beaucoup plus rapide.
'charconvert' n'est pas utilisé lors de la lecture depuis stdin |--|,
car il n'y pas de fichier à convertir. Vous devrez d'abord enregistrer
le texte dans un fichier.
L'expression doit retourner zéro ou une chaîne vide en cas de succès,
une valeur non-nulle en cas d'échec.
Les noms d'encodages possibles sont donnés dans 'encoding'. En plus,
les noms donnés par 'fileencodings' et 'fileencoding' sont utilisés.
La conversion entre "latin1", "unicode", "ucs-2", "ucs-4" et "utf-8"
est effectuée en interne par Vim, 'charconvert' n'est pas utilisé pour
cela.
'charconvert' est également utilisé pour convertir le fichier viminfo,
si le drapeau 'c' est inclus dans 'viminfo'. Également utilisé pour la
conversion Unicode.
Exemple : Les variables Vim concernées sont :
v:charconvert_from nom de l'encodage courant
v:charconvert_to nom de l'encodage désiré
v:fname_in nom du fichier d'entrée
v:fname_out nom du fichier de sortie
NOTE : "v:fname_in" et "v:fname_out" ne seront jamais les mêmes.
NOTE : "v:charconvert_from" et "v:charconvert_to" devraient être
différents de 'encoding'. Vim utilise UTF-8 en interne, au lieu de
UCS-2 ou UCS-4.
Le chiffrement n'est pas effectué par Vim lorsque 'charconvert' est
utilisé. Si vous voulez chiffrer le fichier après la conversion,
'charconvert' doit le prendre en compte.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'cindent'* *'cin'* *'nocindent'* *'nocin'*
'cindent' 'cin' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cindent|}
Active l'indentation automatique pour programmes C. Voir 'cinkeys'
pour définir les touches qui affectent la réindentation en mode
Insertion, et 'cinoptions' pour fixer votre style d'indentation
préféré.
Si 'indentexpr' est non-vide, 'cindent' n'est pas utilisé.
Si 'lisp' est désactivé, que 'indentexpr' et 'equalprg' sont vides,
l'opérateur "=" indente en utilisant cet algorithme plutôt qu'en
appelant un programme externe.
Voir |C-indenting|.
Si vous n'aimez pas la façon dont 'cindent' fonctionne, essayez
l'option 'smartindent' ou 'indentexpr'.
Cette option n'est pas utilisée si 'paste' est activé.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'cinkeys'* *'cink'*
'cinkeys' 'cink' chaîne (défaut : "0{,0},0),:,0#,!^F,o,O,e")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cindent|}
Une liste de touches qui provoquent la réindentation de la ligne
courante quand elles sont tapées en mode Insertion. Uniquement utilisé
lorsque 'cindent' est activé et que 'indentexpr' est vide.
Pour le format de cette option, voir |cinkeys-format|. Voir aussi
|C-indenting|.
*'cinoptions'* *'cino'*
'cinoptions' 'cino' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cindent|}
Cette option affecte la manière dont 'cindent' réindente les lignes
dans un programme C. Voir |cinoptions-values| pour les valeurs
possibles de cette option, et |C-indenting| pour des informations sur
l'indentation C en général.
*'cinwords'* *'cinw'*
'cinwords' 'cinw' chaîne (défaut : "if,else,while,do,for,switch")
local à un tampon
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+cindent| et |+smartindent|}
Ces mots-clés font débuter la ligne suivante avec une indentation
supplémentaire si 'smartindent' ou 'cindent' est activé. Pour
'cindent', cela ne survient qu'aux endroits appropriés (à l'intérieur
de {}).
NOTE : 'ignorecase' n'est pas utilisé pour 'cinwords'. Si vous
souhaitez ignorer la casse, ajoutez un mot-clé en minuscules et en
majuscules : "if,If,IF".
*'clipboard'* *'cb'*
'clipboard' 'cb' chaîne (défaut : "autoselect,exclude:cons\|linux"
sous X Window, "" sinon)
global
{absent de Vi}
{uniquement dans les versions IHM graphiques ou si
compilé avec la fonctionnalité |+xterm_clipboard|}
Cette option est une liste d'items séparés par des virgules :
unnamed Si inclus, Vim utilisera le registre du presse-papiers
"* pour toutes les opérations couper-copier-coller et
de changement qui utilisent normalement le registre
sans nom. Quand un registre est explicitement
spécifié, il sera toujours utilisé, que "unnamed" soit
présent ou non dans 'clipboard'. On peut toujours
accéder au contenu du presse-papiers avec la notation
"*. Voir aussi |gui-clipboard|.
autoselect Fonctionne comme le drapeau 'a' de 'guioptions' : si
inclus, à chaque fois que le mode Visuel est lancé ou
que la zone Visuel est étendue, Vim essaie de devenir
le propriétaire de la sélection globale du système de
fenêtrage, ou de placer le texte sélectionné dans le
presse-papiers utilisé par le registre de sélection
"*. Voir |guioptions_a| et |quotestar| pour plus de
détails. Quand l'IHM graphique est active, le drapeau
'a' de 'guioptions' est utilisé ; quand l'IHM
graphique n'est pas active, ce drapeau "autoselect"
est utilisé.
S'applique aussi à la sélection amodale.
autoselectml Comme "autoselect", mais uniquement pour la sélection
amodale. Comparez au drapeau 'A' de 'guioptions'.
exclude:{motif} Définit un motif qui est comparé au nom du terminal
'term'. S'il y a une correspondance, il n'y aura pas
de connexion avec le serveur X. C'est utile dans ces
situations :
- Vim est lancé dans une console.
- $DISPLAY est fixé pour lancer les applications dans
un autre affichage.
- Vous ne souhaitez pas vous connecter au serveur X
dans la console, mais uniquement dans un émulateur
de terminal.
Pour ne jamais être connecté au serveur X, utilisez : Cela a le même effet que l'argument de commande |-X|.
NOTE : Quand il n'y a pas de connexion au serveur X,
le titre de la fenêtre ne sera pas restauré et le
presse-papiers sera inaccessible.
La valeur de 'magic' est ignorée, {motif} est toujours
interprété comme si 'magic' était activé.
Le reste de la valeur de l'option sera utilisée pour
le {motif}, cette entrée doit donc être la dernière.
*'cmdheight'* *'ch'*
'cmdheight' 'ch' nombre (défaut : 1)
global
{absent de Vi}
Nombre de lignes d'écran à utiliser pour la ligne de commande. Aide à
éviter les invites Appuyez-sur-entrée |hit-enter|.
*'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' nombre (défaut : 7)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
Nombre de lignes d'écran à utiliser pour la fenêtre command-line
|cmdwin|.
*'columns'* *'co'* *E594*
'columns' 'co' nombre (défaut : 80 ou la largeur du terminal)
global
{absent de Vi}
Nombre de colonnes de l'écran. Normalement, cela est fixé lors de
l'initialisation du terminal et n'a pas à être modifié à la main.
Si Vim est lancé dans l'IHM graphique ou dans une fenêtre
redimensionnable, fixer cette option modifiera la taille de la
fenêtre. Si vous ne souhaitez fixer cette option que pour l'IHM
graphique, placez la commande correspondante dans votre fichier
|gvimrc|.
Lorsque vous fixez cette option et que Vim est incapable de changer le
nombre de colonnes physiques de l'affichage, l'écran pourra être sali.
*'comments'* *'com'* *E524* *E525*
'comments' 'com' chaîne (défaut :
"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+comments|}
Une liste de chaînes qui peuvent débuter une ligne commentaire
séparées par des virgules. Voir |format-comments|.
Voir |option-backslash| sur l'utilisation de contre-obliques pour
insérer un espace.
*'commentstring'* *'cms'* *E537*
'commentstring' 'cms' chaîne (défaut : "/*%s*/")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Un squelette de commentaire. Le "%s" dans la valeur est remplacé par
le texte du commentaire. Actuellement, cette option n'est utilisée que
pour ajouter des balises de replis, voir |fold-marker|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' booléen (défaut : activé, désactivé si un fichier
vimrc est trouvé)
global
{absent de Vi}
Cette option a comme effet de rendre Vim soit plus compatible Vi, soit
de le faire se comporter d'une façon plus utile.
C'est un type d'option spécial, car selon qu'elle soit activée ou
désactivée, d'autres options sont changées par effet de bord.
ATTENTION : La (dés)activation de cette option peut avoir de nombreux
effets inattendus : les mappages seront interprétés d'une autre façon,
l'annulation se comportera différemment, etc. Si vous activez cette
option dans votre fichier vimrc, placez-la de préférence au tout
début.
Par défaut, cette option est activée et les valeurs par défaut de Vi
sont utilisés pour les options. Cela a été fait pour les personnes qui
souhaitent utiliser directement Vim comme Vi, sans se soucier de
l'option 'compatible'.
Lorsqu'un fichier vimrc est trouvé au démarrage de Vim, cette option
est désactivée et toutes les options qui n'ont pas été modifiées
seront fixées aux valeurs par défaut Vim. Cela signifie que si un
fichier vimrc existe, Vim utilisera les valeur par défaut de Vim,
sinon il prendra les valeur par défaut de Vi. (NOTE : Cela ne se
produit pas pour le fichier vimrc système.) Voir aussi
|compatible-default|.
Vous pouvez aussi activer cette option avec l'argument de commande
"-C", et la désactiver avec "-N". Voir |-C| et |-N|.
Quand vous désactivez cette option, les valeurs par défaut de Vim sont
utilisées pour les options qui ont des valeurs par défaut Vi et Vim
différentes. Voir les options marquées par un '+' ci-dessous. Les
autres options ne sont pas modifiées.
Quand vous activez cette option, plusieurs autres options seront
fixées pour rendre Vim aussi compatible Vi que possible. Voir le
tableau ci-dessous. Cela peut être utilisé si vous souhaitez revenir à
une édition compatible Vi.
Voir aussi 'cpoptions'.
[N.D.T. : Dans le tableau qui suit, la colonne « VALEUR » donne la
valeur de l'option concernée lorsque 'compatible' est activé.]
OPTION + VALEUR EFFET
'allowrevins' désactivé pas de commande CTRL-_
'backupcopy' Unix : "yes" le fich. de sauvegarde est une copie
autres : "auto" il est copié ou renommé
'backspace' "" retour arrière normal
'backup' désactivé pas de fichier de sauvegarde
'cindent' désactivé pas d'indentation de style C
'cedit' + "" pas de touches pour ouvrir la |cmdwin|
'cpoptions' + (tous les drapeaux)
drapeaux de compatibilité Vi
'cscopetag' désactivé ne pas utiliser `cscope` pour ":tag"
'cscopetagorder' 0 voir |cscopetagorder|
'cscopeverbose' désactivé voir |cscopeverbose|
'digraph' désactivé pas de digrammes
'esckeys' + désactivé <Echap> direct en mode Insertion
'expandtab' désactivé tabulations pas étendues en espaces
'fileformats' + "" pas de détection du format de fichier,
"dos,unix" sauf pour DOS, Windows et OS/2
'formatoptions' + "vt" mise en forme compatible Vi
'gdefault' désactivé pas de drapeau 'g' par défaut pour ":s"
'history' + 0 pas d'historique de la ligne de cmd
'hkmap' désactivé pas de codage clavier hébreu
'hkmapp' désactivé pas de codage clavier hébreu phonétique
'hlsearch' désactivé corr. de recherche pas en surbrillance
'incsearch' désactivé pas de recherche incrémentale
'indentexpr' "" pas d'indentation expression
'insertmode' désactivé ne démarre pas en mode Insertion
'iskeyword' + "@,48-57,_" les mot-clés contiennent des caractères
alphanumériques et '_'
'joinspaces' activé insère 2 espaces après une phrase
'modeline' + désactivé pas de ligne de mode
'more' + désactivé pas de pause dans les listages
'revins' désactivé pas d'insertion inversée
'ruler' désactivé pas de règle
'scrolljump' 1 pas de saut lors du défilement
'scrolloff' 0 pas de contexte visible au défilement
'shiftround' désactivé n'indente pas par 'shiftwidth' espaces
'shortmess' + "" pas d'abréviation des messages
'showcmd' + désactivé caractères de commande pas affichés
'showmode' + désactivé mode courant pas affiché
'smartcase' désactivé ignorance de casse non réversible
'smartindent' désactivé pas d'indentation intelligente
'smarttab' désactivé pas de tabulation intelligente
'softtabstop' 0 <Tab> décale toujours selon 'tabstop'
'startofline' activé va en début de ligne avec certaines cmd
'tagrelative' + désactivé les noms de fichiers des marqueurs ne
sont pas relatifs
'textauto' + désactivé pas de détection du mode de fichier
'textwidth' 0 pas de coupure de ligne automatique
'tildeop' désactivé tilde n'est pas un opérateur
'ttimeout' désactivé pas de délai du terminal
'whichwrap' + "" les mouvements gauche/droite
n'autorisent pas les sauts de lignes
'wildchar' + CTRL-E utilise CTRL-E pour le complètement en
mode Lignecmd (uniquement si la
valeur courante est <Tab>)
'writebackup' activé ou désactivé
dépend de la fonctionnalité
|+writebackup|
*'complete'* *'cpt'* *E535*
'complete' 'cpt' chaîne (défaut : ".,w,b,u,t,i")
local à un tampon
{absent de Vi}
Cette option spécifie comment le complètement en mode Insertion
|ins-completion| fonctionne lorsque CTRL-P ou CTRL-N est utilisé. Elle
sert aussi pour le complètement de lignes entières |i_CTRL-X_CTRL-L|.
Elle indique le type du complètement et les endroits à balayer. C'est
une liste de drapeaux séparés par des virgules :
DRAPEAU SIGNIFICATION
. balaie le tampon courant ('wrapscan' est ignoré)
w balaie les tampons des autres fenêtres ["Window"]
b balaie les autres tampons chargés dans la liste des
tampons ["Buffer list"]
u balaie les tampons déchargés dans la liste des tampons
["Unloaded"]
U balaie les tampons absents de la liste des tampons
k balaie les fichiers donnés avec l'option 'dictionary'
["Keyword"]
k{dict} balaie le fichier {dict}. Plusieurs drapeaux 'k' peuvent
être donnés, les motifs d'englobement sont valides.
Par exemple : s balaie les fichiers donnés avec l'option 'thesaurus'
s{tsr} balaie le fichier {tsr}. Plusieurs drapeaux 's' peuvent
être donnés, les motifs d'englobement sont valides.
i balaie les fichiers courant et inclus
d balaie les fichiers courant et inclus pour les noms de
définition ou macros |i_CTRL-X_CTRL-D|
] complètement des marqueurs
t comme ']' ["Tag"]
Les tampons déchargés ne sont pas chargés, ainsi leurs autocommandes
|:autocmd| ne sont pas exécutées, mais cela peut conduire à des
complètements non désirés pour certains fichiers (fichiers gzipés, par
exemple). Les tampons déchargés ne sont pas balayés pour le
complètement de lignes entières.
La valeur par défaut est ".,w,b,u,t,i", ce qui signifie balayer :
1° Le tampon courant ;
2° Les tampons des autres fenêtres ;
3° Les autres tampons chargés ;
4° Les tampon déchargés ;
5° Les marqueurs ;
6° Les fichiers inclus.
Comme vous pouvez le voir, CTRL-N et CTRL-P peuvent être utilisés pour
procéder à n'importe quel complètement depuis un mot-clé (voir
'iskeyword') : p. ex., dictionnaires |i_CTRL-X_CTRL-K|, motifs inclus
|i_CTRL-X_CTRL-I|, marqueurs |i_CTRL-X_CTRL-]| et complètement normal.
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, certaines opérations qui échoueraient normalement à cause
de changements non enregistrés dans un tampon, p. ex. ":q" et ":e",
afficheront un |dialog|ue demandant si vous souhaitez enregistrer
le(s) fichier(s) en cours. Vous pouvez toujours utiliser [!] pour
forcer l'|abandon| d'un tampon.
Si désactivé, vous pouvez toujours activer la confirmation pour une
commande (c'est surtout utile dans les mappages) avec |:confim|.
Voir aussi la fonction |confirm()| et le drapeau 'v' de 'guioptions'.
*'conskey'* *'consk'* *'noconskey'* *'noconsk'*
'conskey' 'consk' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement sur MS-DOS}
Si activé, les E/S de la console sont directement utilisées pour
obtenir un caractère du clavier. Cela devrait fonctionner dans la
plupart des cas. Voir aussi |'bioskey'|. La combinaison des deux donne
trois méthodes de saisie console disponibles :
'conskey' 'bioskey' CARACTÈRES DEPUIS...
activé activé ou désactivé entrée console directe
désactivé activé BIOS
désactivé désactivé stdin
*'copyindent'* *'ci'* *'nocopyindent'* *'noci'*
'copyindent' 'ci' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
Copie la structure de l'indentation des lignes existantes lors de
l'indentation automatique d'une nouvelle ligne. Normalement, la
nouvelle indentation est constituée d'une série de tabulations suivie
par autant d'espaces que nécessaire (à moins que |'expandtab'| soit
activé, auquel cas seuls des espaces sont utilisés). L'activation de
cette option entraîne la copie de tous les caractères (quels qu'ils
soient) composant l'indentation de la ligne existante sur la nouvelle
ligne. Si la nouvelle indentation est supérieure à celle de la ligne
existante, l'espace restant est rempli de manière classique.
NOTE : 'copyindent' est désactivé lorsque 'compatible' est fixé.
Voir aussi 'preserveindent'.
*'cpoptions'* *'cpo'*
'cpoptions' 'cpo' chaîne (défaut Vim : "aABceFs",
défaut Vi : tous les drapeaux)
global
{absent de Vi}
Cette option est une liste de drapeaux. Lorsqu'un drapeau est présent,
cela indique un comportement compatible Vi. Cela permet d'omettre les
drapeaux pour lesquels la compatibilité Vi n'est pas souhaitée.
'cpoptions' est mis pour "compatible options".
Des virgules peuvent être insérées pour une meilleure lisibilité.
Pour éviter des problèmes avec les drapeaux qui seront ajoutés dans
les versions ultérieures, utilisez les fonctionnalités "+=" et "-="
de ":set" |add-option-flags|.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
DRAPEAU COMPORTEMENT
*cpo-a*
a Si inclus, une commande ":read" suivie d'un nom de fichier
fixera le nom de fichier alternatif pour la fenêtre
courante.
*cpo-A*
A Si inclus, une commande ":write" suivie d'un nom de fichier
fixera le nom de fichier alternatif pour la fenêtre
courante.
*cpo-b*
b "\|" dans une commande ":map" est reconnu comme la fin du
mappage. Le '\' est inclus dans le mappage, le texte suivant
'|' est interprété comme la commande suivante. S'applique à
toutes les commandes de mappages, abréviations, menus et
autocommandes. Voir aussi |map_bar|. ["Bar"]
*cpo-B*
B Une contre-oblique n'a pas de signification spéciale dans
les mappages, abréviations et parties droites de commandes
de menus. Supprimez ce drapeau pour pouvoir utiliser une
contre-oblique comme un CTRL-V. Par exemple, la commande
":map X \<Esc>" mappera "X" à :
si 'B' inclus : "\^[" (^[ désigne un vrai <Echap>)
si 'B' exclu : "<Esc>" (5 caractères)
('<' est exclu dans les deux cas.) ["Backslash"]
*cpo-c*
c La recherche continue à la fin de n'importe quelle
correspondance à la position courante. Si exclu, la
recherche continue un caractère après la position du
curseur. Avec 'c', "abababababab" trouve seulement trois
correspondances quand on répète "/abab" ; sans 'c', il y a
cinq correspondances.
*cpo-C*
C Ne concatène pas les lignes sourcées qui débutent par une
contre-oblique. Voir |line-continuation|.
*cpo-d*
d L'utilisation de "./" dans l'option 'tags' ne signifie pas
d'utiliser le fichier de marqueurs relativement au fichier
courant, mais celui dans le répertoire courant. ["Directory"]
*cpo-D*
D Ne peut pas utiliser CTRL-K pour entrer un digramme après
des commandes en mode Normal qui prennent un caractère en
argument, comme |r|, |f| et |t|.
*cpo-e*
e Lors de l'exécution d'un registre avec ":@r", ajoute
toujours un <CR> à la dernière ligne, même quand le registre
n'est pas par lignes. Si ce drapeau est exclu, que le
registre n'est pas par lignes et que la dernière ligne ne se
termine pas par <CR>, alors la dernière ligne est placée sur
la ligne de commande et peut être éditée avant la saisie de
<CR>.
*cpo-E*
E Produit une erreur à l'utilisation de "y", "d", "c", "g~",
"gu" ou "gU" sur une région vide. Les opérateurs
fonctionnent uniquement s'ils peuvent opérer sur un
caractère au moins. Par exemple, "y0" échouera dans la
première colonne. ["Empty"]
*cpo-f*
f Si inclus, une commande ":read" suivie d'un nom de fichier
fixera le nom de fichier pour le tampon courant, si le
tampon courant n'en a pas déjà un.
*cpo-F*
F Si inclus, une commande ":write" suivie d'un nom de fichier
fixera le nom de fichier pour le tampon courant, si le
tampon courant n'en a pas déjà un.
*cpo-g*
g Va à la ligne 1 quand ":edit" est utilisé sans argument.
["Goto"]
*cpo-i*
i Si inclus, l'interruption de la lecture d'un fichier le
quittera modifié.
*cpo-j*
j Lors de la fusion de lignes, ajoute deux espace uniquement
après '.', pas après '!' ou '?'. Voir aussi 'joinspaces'.
["Join"]
*cpo-J*
J Une phrase |sentence| doit être suivie par deux espaces
après un '.', '!' ou '?'. Un <Tab> n'est pas reconnu comme
un espace blanc. [N.D.T. : Se reporter au commentaire de
|'joinspaces'|.] XXX
*cpo-k*
k Désactive la reconnaissance des codes clavier bruts dans
les mappages, abréviations et parties droites des commandes
de menus. Par exemple, si <Touche> envoie ^[OA (où ^[
désigne <Echap>), la commande ":map X ^[OA" mappera "X" à :
si 'k' inclus : "^[OA" (3 caractères)
si 'k' exclu : "<Touche>" (un code clavier)
(Voir aussi le drapeau '<' ci-dessous.) ["Key code"]
*cpo-K*
K N'attend pas qu'un code clavier soit complet quand il est
produit en cours de mappage. Cela interrompt un mappage
comme "<F1><F1>" quand seul le début du second <F1> a été
lu. Cela permet d'annuler le mappage en tapant
"<F1><Echap>".
*cpo-l*
l Une contre-oblique dans une plage [] d'un motif de recherche
est considérée littéralement, seul "\]" est spécial. |/[]|
si 'l' inclus : "/[ \t]" trouve <Espace>, '\' et 't'
si 'l' exclu : "/[ \t]" trouve <Espace> et <Tab>
*cpo-L*
L Quand l'option 'list' est activée, 'wrapmargin', 'textwidth'
et le mode Remplacement Virtuel (voir |gR|) considèrent un
<Tab> comme deux caractères, au lieu du comportement normal
de <Tab>.
*cpo-m*
m Si inclus, un appariement 'showmatch' attendra toujours une
demi-seconde. Si exclu, l'appariement attendra une demi-
seconde ou jusqu'à ce qu'un caractère soit saisi. ["Match"]
*cpo-M*
M Si exclu, l'appariement de délimiteurs avec "%" tiendra
compte des contre-obliques. Ainsi, dans "( \( )" et
"\( ( \)", les parenthèses extérieures correspondront. Si
inclus, "%" ignore les contre-obliques, ce qui est
compatible Vi.
*cpo-n*
n Si inclus, la colonne utilisée pour 'number' sera aussi
utilisée pour le texte des lignes enroulées.
*cpo-o*
o Un argument de décalage en lignes après une commande de
recherche n'est pas réutilisé pour la recherche suivante.
["Offset"]
*cpo-O*
O N'émet pas de message si un fichier est écrasé, même s'il
n'existait pas quand il a été édité. C'est une mesure contre
un fichier créé inopinément par un tiers. Vi n'émet pas de
messages pour cela. ["Overwrite"]
*cpo-p*
p Indentation Lisp compatible Vi. Si exclu, un algorithme
légèrement meilleur est utilisé.
*cpo-r*
r La commande de répétition "." utilise "/" pour répéter une
commande de recherche, au lieu de la chaîne de recherche
effectivement utilisée.
*cpo-s*
s Fixe les options du tampon lors de la première entrée dans
le tampon. C'est le même comportement que dans la version
3.0 ; et c'est la valeur par défaut. Si exclu, les options
sont fixées à la création du tampon. ["Set"]
*cpo-S*
S Fixe toujours les options du tampon lors de l'entrée dans le
tampon (sauf 'readonly', 'fileformat', 'filetype' et
'syntax'). C'est le comportement le plus proche de Vi. Les
options sont fixées aux valeurs dans le tampon courant.
Quand vous changez une option ou allez dans un autre tampon,
la valeur est copiée. Les options locales de tampons sont
rendues effectivement globales pour tous les tampons.
's' 'S' COPIE LES OPTIONS DE TAMPON
non non à la création du tampon
oui non à la première entrée dans le tampon (défaut)
X oui à chaque entrée dans le tampon (compatible Vi)
*cpo-t*
t Le motif de recherche pour un commande de marqueur est
mémorisé pour la commande "n". Sans cela, Vim place le motif
dans l'historique des motifs de recherche, mais ne change
pas le dernier motif de recherche utilisé. ["Tag"]
*cpo-u*
u L'annulation est compatible Vi. Voir |undo-two-ways|.
["Undo"]
*cpo-v*
v Les caractères effacés avec <RetArr> restent visibles à
l'écran en mode Insertion. Si exclu, les caractères effacés
sont immédiatement supprimés de l'écran. Sinon, le texte
nouvellement saisi vient écraser les caractères effacés.
*cpo-w*
w Quand "cw" est utilisé sur un caractère blanc, change
uniquement un caractère et non tous les blancs jusqu'au
début du mot suivant.
*cpo-W*
W N'écrase pas un fichier en lecture seule. Si exclu, ":w!"
forcera l'écriture si possible.
*cpo-x*
x <Echap> sur la ligne de commande exécute la ligne de
commande. L'action par défaut dans Vim est d'abandonner la
ligne de commande, car <Echap> fait normalement avorter une
commande. |c_<Esc>|
*cpo-y*
y Une commande de copie peut être répétée avec ".". ["Yank"]
*cpo-!*
! À la répétition d'une commande de filtre, utilise la
dernière commande externe utilisée, quelle qu'elle soit.
Sinon, emploie la dernière commande -- de filtre --
utilisée.
*cpo-$*
$ Quand un changement est fait à une ligne, ne réaffiche pas
la ligne, mais place un '$' à la fin du texte changé. Le
texte changé sera écrasé quand vous aurez saisi le nouveau
texte. La ligne sera réaffichée si vous tapez n'importe
quelle commande qui déplace le curseur du point de
l'insertion.
*cpo-%*
% Appariement compatible Vi pour la commande "%" :
- "#if", "#endif", etc., ne sont pas reconnus.
- "/*" et "*/" ne sont pas reconnus.
- Les délimiteurs à l'intérieur des apostrophes simples ou
doubles sont également comptées (les chaînes contenant des
délimiteurs perturbent donc l'appariement). Par exemple,
dans une ligne comme "if (strcmp("toto(", s))", la
première parenthèse ne sera pas appariée à la dernière.
Si exclu, les délimiteurs à l'intérieur des apostrophes
simples ou doubles sont traitées spécialement. Lors de
l'appariement d'un délimiteur à l'extérieur d'apostrophes,
tout le texte contenu dans les apostrophes est ignoré ; à
l'intérieur d'apostrophes, le délimiteur apparié sera trouvé
(s'il y en a un). Cela marche bien pour les programmes C.
*cpo-star*
* Utilise ":*" de la même façon que ":@". Si exclu, ":*" est
un alias pour ":'<,'>" (sélectionne la zone Visuel).
*cpo-<*
< Désactive la reconnaissance des codes clavier spéciaux dans
la forme |<>| pour les mappages, abréviations et parties
droites des commandes de menus. Par exemple, la commande
":map X <Tab>" mappera "X" à :
si '<' inclus : "<Tab>" (5 caractères)
si '<' exclu : "^I" (^I désigne un vrai <Tab>)
Voir aussi le drapeau 'k' ci-dessus.
*'cscopepathcomp'* *'cspc'*
'cscopepathcomp' 'cspc' nombre (défaut : 0)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cscope|}
Définit le nombre de segments du chemin à afficher dans une liste de
marqueurs. Voir |cscopepathcomp|.
*'cscopeprg'* *'csprg'*
'cscopeprg' 'csprg' chaîne (défaut : "cscope")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cscope|}
Spécifie la commande utilisée pour exécuter `cscope`. Voir
|cscopeprg|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'cscopequickfix'* *'csqf'*
'cscopequickfix' 'csqf' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+cscope| et |+quickfix|}
Spécifie lorsqu'il convient d'utiliser la fenêtre mise-au-point pour
afficher les résultats de `cscope`.
Voir |cscopequickfix|.
*'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
'cscopetag' 'cst' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cscope|}
Utilise `cscope` pour les commandes de marqueurs. Voir
|cscope-options|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'cscopetagorder'* *'csto'*
'cscopetagorder' 'csto' nombre (défaut : 0)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cscope|}
Détermine l'ordre dans lequel ":cstag" effectue une recherche. Voir
|cscopetagorder|.
NOTE : Cette option est fixée à 0 lorsque 'compatible' est activé.
*'cscopeverbose'* *'csverb'*
*'nocscopeverbose'* *'nocsverb'*
'cscopeverbose' 'csverb' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cscope|}
Affiche des messages lors de l'ajout d'une base de données cscope.
Voir |cscopeverbose|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'debug'*
'debug' chaîne (défaut : "")
global
{absent de Vi}
Si fixé à "msg", des messages d'erreurs qui auraient sans cela été
omis seront toujours affichés. C'est utile lors du débogage de
'foldexpr' ou 'indentexpr'.
*'define'* *'def'*
'define' 'def' chaîne (défaut : "^#\s*define")
global ou local à un tampon |global-local|
{absent de Vi}
Motif à utiliser pour trouver une définition de macro. C'est un motif
de recherche, comme pour la commande "/". Cette option est utilisée
pour des commandes comme "[i" et "[d" |include-search|. L'option
'isident' est utilisée pour reconnaître le nom défini après la
correspondance :
{correspondance pour 'define'}{cars non-ID}{nom défini}{car non-ID}
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
La valeur par défaut convient aux programmes C. Pour le C++, utilisez
cette valeur pour supporter les déclarations de type "const" : Quand vous utilisez la commande ":set", n'oubliez pas de doubler les
contre-obliques !
*'delcombine'* *'deco'*
'delcombine' 'deco' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Si vous éditez en Unicode et que cette option est activée, "x"
en mode Normal et <RetArr> suppriment chaque caractère de composition
séparément. Lorsque cette option est désactivée (ce qui est le cas par
défaut), le caractère entier est supprimé avec ses caractères de
composition.
NOTE : Lorsque 'delcombine' est activé, "xx" peut agir différemment de
"2x" !
C'est utile pour l'arabe, l'hébreu et d'autres langues où un caractère
de base peut être combiné avec des caractères de composition, et que
vous ne souhaitez supprimer que les caractères de composition.
*'dictionary'* *'dict'*
'dictionary' 'dict' chaîne (défaut : "")
global ou local à un tampon |global-local|
{absent de Vi}
Liste de noms de fichiers, séparés par des virgules, qui sont utilisés
pour rechercher les mots servant au complètement de mots-clés
|i_CTRL-X_CTRL-K|. Chaque fichier doit contenir une liste de mots. Il
peut y avoir un mot par ligne, ou plusieurs mots par ligne, séparés
par des caractères non-mots-clés (espaces blancs de préférence). Une
ligne ne peut dépasser 510 octets.
Pour inclure une virgule dans un nom de fichier, faites-la précéder
d'une contre-oblique. Les espaces sont ignorés après les virgules,
sinon ils sont inclus dans le nom de fichier. Voir |option-backslash|
sur l'utilisation des contre-obliques.
Où trouver des listes de mots ?
- sur FreeBSD, il y a le fichier "/usr/share/dict/words" ;
- sur l'archive Simtel, regardez dans le répertoire "msdos/linguist" ;
- dans la "GNU Collection", consultez "miscfiles".
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de répertoires dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
Les contre-apostrophes ne peuvent pas être utilisées dans cette
option, pour des raisons de sécurité.
*'diff'* *'nodiff'*
'diff' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+diff|}
Joint la fenêtre courante au groupe de fenêtres qui affichent des
différences entre fichiers. Voir |vimdiff|.
*'dex'* *'diffexpr'*
'diffexpr' 'dex' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+diff|}
Expression évaluée pour obtenir un fichier diff de style Ed à partir
de deux versions d'un fichier. Voir |diff-diffexpr|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'dip'* *'diffopt'*
'diffopt' 'dip' chaîne (défaut : "filler")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+diff|}
Paramètres pour le mode diff. C'est une liste d'items optionnels
séparés par des virgules :
filler Affiche des lignes de remplissage, pour conserver
la synchronisation avec une fenêtre qui contient
des lignes de texte à la même position. Surtout
utile lorsque les fenêtres sont côte à côte et que
'scrollbind' est activé.
context:{N} Utilise un contexte de {N} lignes entre un
changement et un repli qui contient des lignes
inchangées. Si omis, un contexte de six lignes est
utilisé. Voir |fold-diff|.
icase Ignore les changements de casse du texte. "a" et
"A" seront considérés comme identiques. Ajoute
l'option "-i" à la commande `diff` si 'diffexpr'
est vide.
iwhite Ignore les changements portant sur des espaces
blancs. Ajoute l'option "-b" à la commande `diff`
si 'diffexpr' est vide. Consultez la documentation
de la commande `diff` pour une description exacte.
Cela devrait ignorer les espaces blancs finaux,
mais pas ceux en début de ligne.
Exemples :
*'digraph'* *'dg'* *'nodigraph'* *'nodg'*
'digraph' 'dg' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+digraphs|}
Active la saisie de digrammes en mode Insertion avec
"{car1}<RetArr>{car2}". Voir |digraphs|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'directory'* *'dir'*
'directory' 'dir' chaîne (défaut : sur Amiga : ".,t:",
sur MS-DOS et Win32 : ".,c:\tmp,c:\temp"
sur Unix : ".,~/tmp,/var/tmp,/tmp")
global
Liste de noms de répertoires pour le fichier d'échange, séparés par
des virgules.
- Le fichier d'échange sera créé dans le premier répertoire où c'est
possible.
- Si vide, aucun fichier d'échange ne sera utilisé (le recouvrement
sera impossible !).
- Un répertoire "." indiquera de placer le fichier d'échange dans le
répertoire du fichier édité. Sur Unix, un point est préfixé au nom
de fichier, afin que celui-ci soit caché.
- Un répertoire débutant par "./" (ou ".\" pour MS-DOS et apparentés)
indique un chemin pour placer le fichier d'échange relatif à celui
du fichier édité. Le "." initial est remplacé par le nom du chemin
du fichier édité.
- Pour Unix et Win32, si un répertoire se termine par deux séparateurs
de chemin, le nom du fichier d'échange sera construit à partir du
chemin complet du fichier édité dans lequel les séparateurs de
chemin auront été remplacés par des signes pourcent '%'. Cela assure
de l'unicité des noms de fichiers d'échange dans le répertoire
concerné.
- Les espaces après une virgule sont ignorés, les autres espaces sont
considérés comme faisant partie du nom d'un répertoire. Pour inclure
un espace au début d'un nom de répertoire, faites-le précéder par
une contre-oblique.
- Pour inclure une virgule dans un nom de répertoire, faites-le
précéder par une contre-oblique.
- Un nom de répertoire peut se terminer par ':' ou '/'.
- Les variables d'environnement sont étendues |:set_env|.
- Attention avec les caractères '\' : tapez-en un avant un espace,
tapez-en deux pour en inclure un dans l'option (voir
|option-backslash|), par exemple : - Pour compatibilité avec Vim version 3.0, un '>' au début de l'option
sera supprimé.
Il est recommandé de placer "." en premier dans la liste. Cela
signifie qu'éditer deux fois un même fichier produira un
avertissement. L'utilisation de "/tmp" sous Unix est déconseillée : en
cas de plantage du système, vous perdrez le fichier d'échange.
"/var/tmp" n'est souvent pas nettoyé pendant le redémarrage, c'est
donc un meilleur choix que "/tmp". Mais il pourra contenir de nombreux
fichiers, et votre fichier d'échange sera noyé dedans. C'est pourquoi
un répertoire "tmp" dans votre répertoire personnel est essayé en
premier.
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de répertoires dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
{Vi : répertoire où placer un fichier temp, "/tmp" par défaut}
*'display'* *'dy'*
'display' 'dy' chaîne (défaut : "")
global
{absent de Vi}
Change la façon dont le texte est affiché. C'est une liste d'items
séparés par des virgules :
lastline Si inclus, montre le plus possible du texte de la
dernière ligne dans une fenêtre. Si non inclus, une
dernière ligne qui dépasse est remplacée par des
lignes affichant "@".
uhex Affiche la valeur hexadécimale des caractères
non-imprimables sous forme <xx> plutôt que d'utiliser
^C et ~C.
*'eadirection'* *'ead'*
'eadirection' 'ead' chaîne (défaut : "both")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
Spécifie quand l'option 'equalalways' s'applique :
ver verticalement, la largeur des fenêtres n'est pas
affectée
hor horizontalement, la hauteur des fenêtres n'est pas
affectée
both la largeur et la hauteur des fenêtres sont affectées
*'ed'* *'edcompatible'* *'noed'* *'noedcompatible'*
'edcompatible' 'ed' booléen (défaut : désactivé)
global
Inverse les drapeaux 'g' et 'c' de la commande ":substitute" à chaque
fois que le drapeau est donné. Voir |complex-change|. Voir aussi
l'option 'gdefault'.
Il est déconseillé d'activer cette option !
*'encoding'* *'enc'* *E543*
'encoding' 'enc' chaîne (défaut : "latin1" ou la valeur de $LANG)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Fixe l'encodage de caractères utilisé dans Vim. Cela s'applique au
texte des tampons, aux registres, aux chaînes dans les expressions, au
texte enregistré dans le fichier viminfo, etc. Cela définit le type de
caractères que Vim peut gérer. Voir |encoding-names| pour une liste
des valeurs possibles.
NOTE : La modification de cette option ne changera pas l'encodage du
texte existant dans Vim. Cela pourra rendre du texte multi-octets
invalide. L'option devrait normalement être laissée à sa valeur par
défaut, ou fixée au démarrage de Vim. Voir |multibyte|.
NOTE : Pour GTK+ 2, il est fortement recommandé de fixer 'encoding' à
"utf-8". Bien que beaucoup de soin ait été apporté pour autoriser
différentes valeurs de 'encoding', "utf-8" représente le choix naturel
pour l'environnement et évite des délais de conversion inutiles.
"utf-8" n'a pas été retenu comme valeur par défaut afin d'éviter un
comportement différent entre les versions IHM graphique et terminal,
et aussi pour éviter de modifier à votre insu l'encodage des fichiers
nouvellement créés (au cas où 'fileencodings' est vide).
L'encodage de caractères des fichiers peut être différent de
'encoding'. Il est donné par l'option 'fileencoding'. La conversion
est faite avec iconv() ou comme spécifiée par 'charconvert'.
Normalement, 'encoding' sera égal à votre région linguistique
courante. Ce sera la valeur par défaut si Vim reconnaît vos paramètres
d'environnement. Si 'encoding' n'est pas fixé à la région linguistique
courante, 'termencoding' doit être fixé pour convertir le texte tapé
et affiché. Voir |encoding-table|.
Lorsque vous fixez cette option, cela déclenche l'événement
d'autocommande |EncodingChanged| : vous pouvez par exemple changer de
police, si nécessaire.
Quand l'option est fixée, sa valeur est convertie en minuscules : vous
pouvez ainsi saisir des majuscules. Les caractères '_' sont remplacés
par '-'.
Si un nom d'encodage est reconnu, il est remplacé par le nom standard.
Par exemple "Latin-1" devient "latin1", "ISO_88592" devient
"iso-8859-2" et "utf8" devient "utf-8".
NOTE : "latin1" est également utilisé lorsque l'encodage ne peut pas
être détecté. Cela uniquement pour l'édition de fichiers dans le même
encodage ! Lorsque le jeu de caractères actuel n'est pas le Latin-1,
assurez-vous que 'fileencoding' et 'fileencodings' sont vides. Si une
conversion est nécessaire, utilisez "utf-8".
Si "unicode", "ucs-2" ou "ucs-4" est utilisé, Vim utilisera l'UTF-8 en
interne. Vous ne le remarquerez pas pendant l'édition, mais cela
pourra jouer pour le fichier viminfo |viminfo-file|. Et Vim s'attendra
aussi à ce que le terminal utilise l'UTF-8. Ainsi, fixer 'encoding' à
une de ces valeurs au lieu de "utf-8" n'a d'effet que sur l'encodage
utilisé par les fichiers si 'fileencoding' est vide.
Lorsque 'encoding' est fixé à un encodage Unicode et que
'fileencodings' n'a pas encore été fixé, la valeur par défaut pour
'fileencodings' est changée.
*'endofline'* *'eol'* *'noendofline'* *'noeol'*
'endofline' 'eol' booléen (défaut : activé)
local à un tampon
{absent de Vi}
Lors de l'écriture d'un fichier, si cette option est désactivée et que
l'option 'binary' est activée, aucun <EOL> ne sera écrit pour la
dernière ligne du fichier. Cette option est automatiquement activée au
début de l'édition d'un nouveau fichier, à moins que le fichier n'ait
pas de <EOL> pour sa dernière ligne, auquel cas elle sera désactivée.
Normalement, vous n'avez pas à activer ou à désactiver cette option.
Lorsque 'binary' est désactivé, cette option est ignorée ; lorsque
'binary' est activé, elle est utilisée pour mémoriser la présence d'un
<EOL> pour la dernière ligne du fichier, afin qu'à l'écriture de ce
fichier, la même situation qu'avec l'original soit conservée. Mais
vous pouvez changer cette option si vous le désirez.
*'equalalways'* *'ea'* *'noequalalways'* *'noea'*
'equalalways' 'ea' booléen (défaut : activé)
global
{absent de Vi}
Si activé, toutes les fenêtres sont automatiquement mises à la même
taille après un partage ou la fermeture d'une fenêtre. Si désactivé,
le partage d'une fenêtre réduira la taille de la fenêtre courante mais
laissera intacte les autres fenêtres ; quand une fenêtre est fermée,
les lignes supplémentaires seront données à la fenêtre suivante (selon
'splitbelow' et 'splitright').
En cas de mélange de fenêtres partagées verticalement et
horizontalement, une taille minimum est calculée et certaines fenêtres
pourront être plus grandes s'il y a de la place. L'option
'eadirection' détermine dans quelle direction la taille est affectée.
Le changement de la hauteur d'une fenêtre peut être évité en activant
'winfixheight'.
*'equalprg'* *'ep'*
'equalprg' 'ep' chaîne (défaut : "")
global ou local à un tampon |global-local|
{absent de Vi}
Programme externe à utiliser pour la commande "=". Quand cette option
est vide, les fonctions de mise en forme internes ('lisp', 'cindent'
ou 'indentexpr') sont utilisées.
Les variables d'environnement sont étendues |:set_env|. Voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'errorbells'* *'eb'* *'noerrorbells'* *'noeb'*
'errorbells' 'eb' booléen (défaut : désactivé)
global
Déclenche l'alarme (bip ou clignotement d'écran) pour les messages
d'erreurs. Cela ne vaut que pour les messages d'erreurs, l'alarme sera
toujours utilisée pour de nombreuses erreurs sans message (p. ex.,
pour la saisie de <Echap> en mode Normal).
Voir 'visualbell' pour fixer le comportement de l'alarme (bip,
clignotement ou aucun effet).
*'errorfile'* *'ef'*
'errorfile' 'ef' chaîne (défaut : sur Amiga : "AztecC.Err",
autres : "errors.err")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
Nom du fichier d'erreurs pour le mode mise-au-point (voir |:cf|).
Lorsque l'argument de commande "-q" est utilisé, 'errorfile' est fixé
à l'argument suivant. Voir |-q|.
Cette option n'est PAS utilisée pour la commande ":make". Voir
'makeef' pour cela.
Les variables d'environnement sont étendues |:set_env|. Voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'errorformat'* *'efm'*
'errorformat' 'efm' chaîne (la valeur par défaut est très longue)
global ou local à un tampon |global-local|
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
Description de style scanf du format des lignes dans le fichier
d'erreurs (voir |errorformat|).
*'esckeys'* *'ek'* *'noesckeys'* *'noek'*
'esckeys' 'ek' booléen (défaut Vim : désactivé, défaut Vi : activé)
global
{absent de Vi}
Les touches de fonction qui débutent par <Echap> sont reconnues en
mode Insertion. Lorsque cette option est désactivée, les touches
fléchées et de fonction ne peuvent pas être utilisées en mode
Insertion si elles débutent par un <Echap>. L'avantage est qu'alors un
<Echap> simple sera reconnu immédiatement, plutôt qu'après une
seconde. Au lieu de désactiver cette option, vous voudrez peut-être
essayer de changer les valeurs de 'timeoutlen' et 'ttimeoutlen'.
NOTE : Lorsque 'esckeys' est désactivé, vous pouvez toujours mapper
n'importe quelle touches, mais celles fléchées ne fonctionneront pas
par défaut.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'eventignore'* *'ei'*
'eventignore' 'ei' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+autocmd|}
Une liste de noms d'événements d'autocommande qui sont ignorés.
Si fixé à "all", tous les événements sont ignorés, les autocommandes
ne seront pas exécutées.
Sinon, c'est une liste de noms d'événements séparés par des virgules.
Exemple :
*'expandtab'* *'et'* *'noexpandtab'* *'noet'*
'expandtab' 'et' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
En mode Insertion : utilise le nombre approprié d'espaces pour insérer
un <Tab>. Les espaces sont utilisés dans les indentations, avec les
commandes ">" et "<" et quand 'autoindent' est activé. Pour insérer
une vraie tabulation lorsque 'expandtab' est activé, utilisez
"CTRL-V <Tab>".
Voir aussi |:retab| et |ins-expandtab|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'exrc'* *'ex'* *'noexrc'* *'noex'*
'exrc' 'ex' booléen (défaut : désactivé)
global
{absent de Vi}
Active la lecture des fichiers vimrc, exrc et gvimrc situés dans le
répertoire courant. Si vous activez cette option, vous aurez aussi
intérêt à activer l'option 'secure' (voir |initialization|).
L'utilisation d'un fichier exrc, vimrc ou gvimrc local représente une
faille de sécurité potentielle, soyez donc prudent !
Voir aussi |.vimrc| et |gui-init|.
Cette option ne peut pas être activée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'fileencoding'* *'fenc'* *E213*
'fileencoding' 'fenc' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Fixe l'encodage de caractères pour le fichier du tampon courant.
Lorsque 'fileencoding' est différent de 'encoding', la conversion sera
faite à la lecture et à l'écriture du fichier.
Lorsque 'fileencoding' est vide, la même valeur que 'encoding' sera
utilisée (pas de conversion à la lecture ou à l'écriture d'un
fichier).
ATTENTION : Les conversions peuvent entraîner des pertes
d'informations ! Si 'encoding' vaut "utf-8" (ou une de ses
variantes Unicode), la conversion se déroule souvent de
manière réversible. Mais si 'encoding' ne vaut pas "utf-8",
des caractères spéciaux pourront être perdus !
Voir 'encoding' pour les valeurs possibles. En outre, des valeurs qui
sont supportées par le convertisseur peuvent être utilisées, voir
|mbyte-conversion|.
Lors de la lecture d'un fichier, 'fileencoding' sera fixé à partir de
'fileencodings'. Pour lire un fichier dans un certain encodage, fixer
'fileencoding' sera inopérant, utilisez plutôt l'argument |++enc|.
Préfixer "8bit-" et "2byte-" n'a pas de signification ici, ils sont
ignorés.
Quand l'option est fixée, sa valeur est convertie en minuscules : vous
pouvez ainsi saisir des majuscules. Les caractères '_' sont remplacés
par '-'. Si un nom est reconnu parmi les valeurs possibles pour
'encoding', il est remplacé par le nom standard. Par exemple,
"ISO8859-2" devient "iso-8859-2".
Quand cette option est fixée après le début de l'édition d'un fichier,
l'option 'modified' est activée, car le fichier sera différent lors de
l'écriture.
Pour cette raison, si vous fixez cette option dans une ligne de mode
|modeline|, vous aurez probablement intérêt à y fixer également
'nomodified'.
Cette option ne peut pas être changée si 'modifiable' est désactivé.
*'fe'*
NOTE : Avant la version 6.0, cette option spécifiait l'encodage de
caractères utilisé dans tout Vim, ce qui était une erreur. Maintenant,
'encoding' est utilisé à la place. L'ancienne forme courte était 'fe',
qui n'est désormais plus utilisée.
*'fileencodings'* *'fencs'*
'fileencodings' 'fencs' chaîne (défaut : "ucs-bom", "ucs-bom,utf-8,latin1"
si 'encoding' est fixé à une valeur Unicode)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Liste d'encodages de caractères pris en compte au début de l'édition
d'un fichier. Quand un fichier est lu, Vim essaie d'utiliser le
premier encodage mentionné. Si une erreur est détectée, le deuxième de
la liste est essayé, etc. Lorsqu'un encodage de caractères convient,
'fileencoding' est fixé à cette valeur. Si tous échouent,
'fileencoding' est fixé à une chaîne vide, ce qui signifie que la
valeur de 'encoding' sera utilisée.
ATTENTION : Les conversions peuvent entraîner des pertes
d'informations ! Si 'encoding' vaut "utf-8" (ou une de
ses variantes Unicode), la conversion se déroule souvent de
manière réversible. Mais si 'encoding' ne vaut pas "utf-8",
des caractères spéciaux pourront être perdus !
Dans le cas d'un fichier vide ou d'un fichier ne contenant que des
caractères ASCII, la plupart des encodages fonctionneront et le
premier élément de 'fileencodings' sera utilisé. Si vous en préférez
un autre, utilisez l'événement d'autocommande BufReadPost afin de
déterminer s'il convient d'utiliser votre encodage préféré. Exemple : Ceci fixe 'fileencoding' à "iso-2022-jp" si le fichier ne contient
aucun caractère non-blanc.
La valeur spéciale "ucs-bom" peut être utilisée pour rechercher une
marque d'encodage Unicode [ou BOM : "Byte Order Mark"] au début du
fichier. Il ne doit pas être précédé par "utf-8" ou n'importe quel
autre encodage Unicode pour fonctionner correctement.
Une entrée éventuelle pour un encodage 8-bits (p. ex. "latin1")
devrait être placée en dernier lieu, car Vim ne peut pas y détecter
d'erreur : elle sera donc toujours acceptée.
VALEURS ERRONÉES NATURE DE L'ERREUR
latin1,utf-8 "latin1" sera toujours utilisé
utf-8,ucs-bom,latin1 la marque d'encodage (BOM) ne sera pas
reconnue dans un fichier en UTF-8
cp1250,latin1 "cp1252" sera toujours utilisé XXX bram
Si 'fileencodings' est vide, 'fileencoding' n'est pas changé.
Voir 'fileencoding' pour les valeurs possibles.
La modification de cette option est sans effet jusqu'à la prochaine
fois qu'un fichier est lu.
*'fileformat'* *'ff'*
'fileformat' 'ff' chaîne (défaut sur MS-DOS/Windows et OS/2 : "dos",
sur Unix : "unix",
sur Macintosh : "mac")
local à un tampon
{absent de Vi}
Donne le format de fin-de-ligne (<EOL>) du tampon courant, qui est
utilisé pour lire/écrire ce tampon depuis/dans un fichier :
dos <CR><NL>
unix <NL>
mac <CR>
Si "dos" est utilisé, CTRL-Z à la fin d'un fichier est ignoré.
Voir |file-formats| et |file-read|.
Sur l'encodage de caractères d'un fichier, voir 'fileencoding'.
Lorsque 'binary' est activé, la valeur de 'fileformat' est ignorée,
les E/S de fichier fonctionnent comme si elle valait "unix".
Cette option est fixée automatiquement quand on débute l'édition d'un
fichier, que 'fileformats' n'est pas vide et que 'binary' est
désactivé.
Quand cette option est fixée après le début de l'édition d'un fichier,
l'option 'modified' est activée, car le fichier sera différent lors de
l'écriture.
Cette option ne peut pas être changée si 'modifiable' est désactivé.
Pour compatibilité ascendante : lorsque cette option est fixée à
"dos", 'textmode' est activé, sinon 'textmode' est désactivé.
*'fileformats'* *'ffs'*
'fileformats' 'ffs' chaîne (défaut :
Vim & Vi MS-DOS/Windows, OS/2 : "dos,unix",
Vim Unix : "unix,dos",
Vim Mac : "mac,unix,dos",
Vi Cygwin : "unix,dos",
Vi autres : "")
global
{absent de Vi}
Donne les formats de fins-de-lignes (<EOL>) qui seront essayés. C'est
utilisé quand on commence à éditer un nouveau tampon et quand on lit
un fichier dans un tampon existant :
- Si vide, le format défini par 'fileformat' sera toujours utilisé. Il
n'est pas fixé automatiquement.
- Si fixé à un nom, ce format sera utilisé à chaque fois qu'un nouveau
tampon est ouvert. 'fileformat' sera fixé en conséquence pour ce
tampon. Le nom de 'fileformats' sera utilisé quand un fichier est lu
dans un tampon existant, indépendamment de la valeur de 'fileformat'
pour ce tampon.
- Si fixé à plusieurs noms séparés par des virgules, une détection
automatique des <EOL> sera effectuée à la lecture d'un fichier.
Quand débute l'édition d'un fichier, un test est fait sur les <EOL> :
1. Si toutes les lignes se terminent par <CR><NL> et que
'fileformats' inclut "dos", 'fileformat' est fixé à "dos".
2. Si un <NL> est trouvé et que 'fileformats' inclut "unix",
'fileformat' est fixé à "unix". NOTE : Quand un <NL> est trouvé
sans <CR> précédent, "unix" est préféré à "dos".
3. Si 'fileformats' inclut "mac", 'fileformat' est fixé à "mac".
Cela signifie que "mac" est choisi uniquement lorsque "unix"
n'est pas présent, ou qu'aucun <NL> n'est trouvé dans le fichier,
et lorsque "dos" n'est pas présent, ou qu'aucun <CR><NL> n'est
présent dans le fichier.
Quand "unix" a été choisi en premier choix, mais que le premier
<CR> devance le premier <NL> et qu'il semble y avoir plus de <CR>
que de <NL> dans le fichier, 'fileformat' est également fixé à
"mac".
4. Si 'fileformat' n'est pas encore fixé, le premier nom de
'fileformats' est utilisé.
Quand vous lisez un fichier dans un tampon existant, la même chose
est faite, mais cela se passe comme si 'fileformat' avait été fixé
correctement pour ce fichier seulement, l'option n'est pas changée.
Lorsque 'binary' est activé, la valeur de 'fileformats' est ignorée.
Sur des systèmes avec des <EOL> de style "dos" (<CR><NL>), lors de la
lecture des fichiers sourcés et pour les fichiers vimrc, la détection
automatique des <EOL> sera effectuée comme suit :
- Quand 'fileformats' est vide, il n'y a pas de détection automatique.
Le format "dos" sera utilisé.
- Quand 'fileformats' est fixé à un ou plusieurs noms, la détection
automatique est effectuée. Elle est basée sur le premier <NL> dans
le fichier : s'il y a un <CR> devant, le format "dos" est utilisé,
sinon, c'est le format "unix".
Voir aussi |file-formats|.
Pour compatibilité ascendante : lorsque cette option est vide ou fixée
à une seule valeur (sans virgules incluses), 'textauto' est désactivé,
sinon 'textauto' est activé.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'filetype'* *'ft'*
'filetype' 'ft' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+autocmd|}
Si fixé, l'événement d'autocommande FileType est déclenché. Toutes les
autocommandes qui correspondent à la valeur de cette option seront
exécutées. Ainsi, la valeur de 'filetype' est utilisée à la place du
nom de fichier.
Sinon, cette option ne reflète pas toujours le type de fichier
courant. Elle est normalement fixée quand le type de fichier est
détecté. Pour activer cette détection, utilisez la commande
":filetype on". |:filetype|
Fixer cette option à une valeur différente est surtout utile dans une
ligne de mode, pour un fichier dont le type n'est pas automatiquement
reconnu.
Exemple, pour un fichier IDL : Voir aussi |FileType| et |filetypes|.
Ne confondez pas cette option avec 'osfiletype', qui concerne le type
de fichier qui est enregistré avec le fichier.
Cette option n'est pas copiée dans un autre tampon, indépendamment du
drapeau 's' ou 'S' dans 'cpoptions'.
*'fillchars'* *'fcs'*
'fillchars' 'fcs' chaîne (défaut : "vert:|,fold:-")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+windows| et |+folding|}
Caractères utilisés pour remplir les lignes d'état et les séparations
verticales. C'est une liste d'items séparés par des virgules :
ITEM DÉFAUT UTILISÉ POUR...
stl:c ' ' ou '^' ligne d'état de la fenêtre courante
stlnc:c ' ' ou '-' ligne d'état des fenêtres non courantes
vert:c '|' séparations verticales |:vsplit|
fold:c '-' remplissage de 'foldtext'
diff:c '-' lignes supprimées avec l'option 'diff'
N'importe quel item omis prendra sa valeur par défaut. Pour "stl" et
"stlnc", l'espace sera utilisé quand la ligne d'état est en
surbrillance, et '^' ou '-' sinon.
Exemple : C'est identique à la valeur par défaut, sauf que ces caractères seront
également utilisés quand il y a surbrillance.
Surbrillance utilisée pour ces items :
ITEM GROUPE DE SURBRILLANCE
stl:c StatusLine |hl-StatusLine|
stlnc:c StatusLineNC |hl-StatusLineNC|
vert:c VertSplit |hl-VertSplit|
fold:c Folded |hl-Folded|
diff:c DiffDelete |hl-DiffDelete|
*'fkmap'* *'fk'* *'nofkmap'* *'nofk'* *E198*
'fkmap' 'fk' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Si activé, le codage clavier farsi est utilisé.
Normalement, vous voudrez activer 'allowrevins' et utiliser CTRL-_ en
mode Insertion pour inverser cette option |i_CTRL-_|.
Voir |farsi.txt|.
*'foldclose'* *'fcl'*
'foldclose' 'fcl' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Si fixé à "all", un repli est fermé quand le curseur n'est plus dedans
et que son niveau est supérieur à 'foldlevel'. Utile si vous souhaitez
que les replis se ferment automatiquement quand vous en sortez.
*'foldcolumn'* *'fdc'*
'foldcolumn' 'fdc' nombre (défaut : 0)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Si non-nul, une colonne de la largeur spécifiée sera affichée sur le
côté de la fenêtre pour indiquer les replis ouvert et fermés. La
valeur maximum vaut 12.
Voir |folding|.
*'foldenable'* *'fen'* *'nofoldenable'* *'nofen'*
'foldenable' 'fen' booléen (défaut : activé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Si désactivé, tous les replis sont ouverts. Cette option peut être
utilisée pour basculer rapidement entre une vue affichant le texte
dans son intégralité et une autre avec les replis (y compris les
replis ouverts et fermés à la main). On peut en inverser la valeur
avec la commande |zi|. La colonne 'foldcolumn' restera vide si
'foldenable' est désactivé.
Cette option est activée par les commandes qui créent un nouveau repli
ou qui ferment un repli.
Voir |folding|.
*'foldexpr'* *'fde'*
'foldexpr' 'fde' chaîne (défaut : "0")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+folding| et |+eval|}
L'expression à utiliser lorsque 'foldmethod' vaut "expr". Elle est
évaluée pour chaque ligne afin d'obtenir son niveau de repli. Voir
|fold-expr|. Voir aussi |eval-sandbox|.
*'foldignore'* *'fdi'*
'foldignore' 'fdi' chaîne (défaut : "#")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Utilisé uniquement quand 'foldmethod' vaut "indent". Les lignes
débutant par des caractères de 'foldignore' chercheront leur niveau de
repli parmi les lignes qui les entourent. Les espaces blancs sont
sautés lors de la recherche de ce caractère.
La valeur par défaut est "#", ce qui fonctionne bien pour les
programmes C. Voir |fold-indent|.
*'foldlevel'* *'fdl'*
'foldlevel' 'fdl' nombre (défaut : 0)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Fixe le niveau de repli : les replis de niveau supérieur seront
fermés. Fixez cette option à 0 pour fermer tous les replis. Plus les
valeurs seront élevées, moins il y aura de replis fermés.
Cette option est fixée par des commandes comme |zm|, |zM| et |zR|.
Voir |fold-foldlevel|.
*'foldlevelstart'* *'fdls'*
'foldlevelstart' 'fdls' nombre (défaut : -1)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Fixe 'foldlevel' au commencement de l'édition d'un autre tampon dans
une fenêtre. Utile pour toujours débuter l'édition avec tous les
replis fermés (valeur 0), quelques replis ouverts (1) ou tous les
replis ouverts (99).
Cela est effectué avant la lecture des lignes de mode, ainsi un
nouveau paramétrage dans une ligne de mode recouvrira cette option.
Lancer l'édition d'un fichier en mode |diff| ignore également cette
option et ferme tous les replis.
C'est également le cas avant les autocommandes BufReadPre, pour
permettre à une autocommande de recouvrir la valeur de 'foldlevel'
pour des fichiers spécifiques.
Quand la valeur est négative, cette option n'est pas utilisée.
*'foldmarker'* *'fmr'* *E536*
'foldmarker' 'fmr' chaîne (défaut : "{{{,}}}")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Les balises de début et de fin utilisées lorsque 'foldmethod' vaut
"marker". Un virgule doit séparer la balise de début de celle de fin.
La balise est une chaîne littérale (une expression rationnelle sera
trop lente). Voir |fold-marker|.
*'foldmethod'* *'fdm'*
'foldmethod' 'fdm' chaîne (défaut : "manual")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
La méthode de repliage utilisée pour la fenêtre courante. Les valeurs
possibles sont :
|fold-manual| manual les replis sont créés manuellement
|fold-indent| indent les lignes de même indentation forment un
repli
|fold-expr| expr 'foldexpr' donne le niveau de repli de
chaque ligne
|fold-marker| marker des balises sont utilisées pour délimiter
les replis
|fold-syntax| syntax des éléments de la coloration syntaxique
délimitent les replis
|fold-diff| diff replie le texte qui n'est pas modifié
*'foldminlines'* *'fml'*
'foldminlines' 'fml' nombre (défaut : 1)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Fixe le nombre minimum de lignes d'écran pour qu'un repli soit affiché
comme étant fermé. Cette option s'applique également aux replis fermés
manuellement.
NOTE : Cela n'affecte que ce qui est affiché. Après l'utilisation de
"zc" pour fermer un repli, si celui-ci reste affiché comme ouvert car
il contient moins de lignes que 'foldminlines', un "zc" suivant pourra
fermer le repli parent.
*'foldnestmax'* *'fdn'*
'foldnestmax' 'fdn' nombre (défaut : 20)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Fixe la profondeur d'imbrication maximale des replis pour les méthodes
"indent" et "syntax". Cela évite que trop de replis ne soient créés.
Une valeur supérieure à 20 ne marchera pas, la limite interne étant de
20.
*'foldopen'* *'fdo'*
'foldopen' 'fdo' chaîne (défaut : "block,hor,mark,percent,quickfix,
search,tag,undo")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Spécifie pour quel type de commandes les replis seront ouverts, si la
commande amène le curseur sur un repli fermé. C'est une liste d'items
séparés par des virgules :
ITEM COMMANDES
all toutes
block "(", "{", "[[", "[{", etc.
hor mouvements horizontaux : "l", "w", "fx", etc.
insert n'importe quelle commande en mode Insertion
jump sauts éloignés : "G", "gg", etc.
mark sauts vers une marque : "'m", CTRL-O, etc.
percent "%"
quickfix ":cn", ":crew", ":make", etc.
search recherches de motif : "/", "n", "*", "gd", etc.
(pas pour les commandes ":")
tag sauts vers un marqueur : ":ta", CTRL-T, etc.
undo annulations/restaurations : "u" et CTRL-R
Quand la commande est fait partie d'un mappage, cette option n'est pas
utilisée. Ajoutez la commande |zv| au mappage pour obtenir le même
résultat.
Quand une commande de déplacement est utilisée après un opérateur
(p. ex., "dl" ou "y%"), cette option n'est pas utilisée. Cela signifie
que l'opérateur inclura le repli fermé en entier.
NOTE : Les mouvements verticaux ne sont pas ici pris en compte, car il
serait très difficile de se déplacer dans un repli fermé.
En mode Insertion, les replis contenant le curseur seront toujours
ouverts quand du texte est inséré.
Pour fermer les replis, vous pouvez réappliquer 'foldlevel' avec la
commande |zx| ou fixer l'option 'foldclose' à "all".
*'foldtext'* *'fdt'*
'foldtext' 'fdt' chaîne (défaut : "foldtext()")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+folding|}
Expression utilisée pour spécifier le texte affiché pour un repli
fermé. Voir |fold-foldtext|.
*'formatoptions'* *'fo'*
'formatoptions' 'fo' chaîne (défaut Vim : "tcq", défaut Vi : "vt")
local à un tampon
{absent de Vi}
Cette option est une liste de drapeaux. Elle permet de définir le
comportement de la mise en forme du texte. Voir |fo-table|. Lorsque
l'option 'paste' est activée, aucune mise en forme ne sera effectuée
(comme si 'formatoptions' était vide). Des virgules peuvent être
insérées pour la lisibilité.
Pour éviter des problèmes avec les drapeaux qui seront ajoutés dans
les versions ultérieures, utilisez les fonctionnalités "+=" et "-=" de
":set" |add-option-flags|.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'formatprg'* *'fp'*
'formatprg' 'fp' chaîne (défaut : "")
global
{absent de Vi}
Nom d'un programme externe qui sera utilisé pour mettre en forme les
lignes sélectionnées avec la commande "gq". Le programme doit prendre
stdin en entrée et produire sa sortie sur stdout. Vous pouvez par
exemple utiliser le programme Unix `fmt`. Si cette option est une
chaîne vide, la fonction de mise en forme interne sera utilisée
|C-indenting|.
Les variables d'environnement sont étendues |:set_env|. Voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
'gdefault' 'gd' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, le drapeau 'g' de ":substitute" est positionné par défaut.
Cela signifie que toutes les correspondances dans une ligne seront
substituées, au lieu d'une seule. Quand un drapeau 'g' est donné à une
commande ":substitute", cela inversera la substitution d'une ou de
toutes les correspondances. Voir |complex-change|.
COMMANDE 'gdefault' 'nogdefault'
:s/// subst. tout subst. un
:s///g subst. un subst. tout
:s///gg subst. tout subst. un
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'grepformat'* *'gfm'*
'grepformat' 'gfm' chaîne (défaut : "%f:%l%m,%f %l%m")
global
{absent de Vi}
Format utilisé pour reconnaître la sortie de la commande ":grep".
C'est une chaîne de style scanf qui utilise le même format que
l'option 'errorformat' : voir |errorformat|.
*'grepprg'* *'gp'*
'grepprg' 'gp' chaîne (défaut : "grep -n ",
sur Unix : "grep -n $* /dev/null",
sur Win32 : "findstr /n" ou "grep -n",
sur VMS : "SEARCH/NUMBERS ")
global ou local à un tampon |global-local|
{absent de Vi}
Programme à utiliser pour la commande ":grep". Cette option peut
contenir les caractères '%' et '#', qui sont étendus comme quand ils
sont utilisés sur la ligne de commande. L'expression spéciale "$*"
peut être donnée pour spécifier où les arguments seront inclus. Les
variables d'environnement sont étendues |:set_env|. Voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques.
Si votre commande `grep` accepte l'argument "-H", utilisez ceci pour
que ":grep" marche aussi bien avec un seul fichier : Voir aussi la section |:make_makeprg|, car la plupart des commentaires
qui y sont inclus s'appliquent également à 'grepprg'.
Sur Win32, la valeur par défaut vaut "findstr /n" si `findstr.exe`
peut être trouvé, sinon il vaut "grep -n".
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
'guicursor' 'gcr' chaîne (défaut : "n-v-c:block-Cursor/lCursor,
ve:ver35-Cursor,
o:hor50-Cursor,
i-ci:ver25-Cursor/lCursor,
r-cr:hor20-Cursor/lCursor,
sm:block-Cursor
-blinkwait175-blinkoff150-blinkon175",
pour la console MS-DOS et Win32 :
"n-v-c:block,o:hor50,i-ci:hor15,
r-cr:hor30,sm:block")
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique et pour
les consoles MS-DOS et Win32}
Cette option indique à Vim l'apparence que doit avoir le curseur selon
les différents modes. Elle fonctionne pleinement dans l'IHM graphique.
Dans un console MS-DOS ou Win32, seule la hauteur du curseur peut être
changée. Cela peut être fait en spécifiant un curseur en bloc, ou un
pourcentage pour un curseur horizontal ou vertical.
C'est une liste de parties séparées par des virgules. Chaque partie
consiste en une liste de modes, suivie de ":", suivi d'une liste de
formes de curseur :
liste-modes:liste-formes,liste-modes:liste-formes,...
La liste-modes est une liste des modes suivants séparés par des
tirets :
n mode Normal
v mode Visuel
ve mode Visuel avec 'selection' valant "exclusive" (comme
'v', si non spécifié)
o mode Opérateur-en-cours
i mode Insertion
r mode Remplacement
c mode Lignecmd normal (ajout)
ci insertion en mode Lignecmd
cr remplacement en mode Lignecmd
sm appariements 'showmatch' en mode Insertion
a tous les modes ["All"]
La liste-formes est une liste des formes suivantes séparées par des
tirets :
hor{N} Barre horizontale, de {N} pourcents de la hauteur du
caractère.
ver{N} Barre verticale, de {N} pourcents de la largeur du
caractère.
block Curseur en bloc, occupe tout l'espace du caractère.
NOTE : Une seule des trois formes ci-dessus peut être
présente.
blinkwait{N} *cursor-blinking*
blinkon{N}
blinkoff{N}
Durées de clignotement pour le curseur : "blinkwait"
désigne le délai avant que le clignotement ne
commence, "blinkon" la durée pendant laquelle le
curseur reste allumé, et "blinkoff" la durée pendant
laquelle il reste éteint. Ces durées sont en ms. Quand
un des nombres vaut 0, il n'y a pas de clignotement.
La valeur par défaut est
"blinkwait700-blinkon400-blinkoff250".
Ces nombres sont utilisés quand une entrée est
manquante. Cela implique que le clignotement est
activé par défaut. Si vous ne le souhaitez pas, vous
pouvez spécifier "blinkon0". Le curseur ne clignote
que quand Vim est en attente d'une saisie, et non
pendant l'exécution d'une commande.
Pour faire clignoter le curseur dans un xterm, voir
|xterm-blink|.
{nomgroupe}
Un nom de groupe de surbrillance, qui fixe la couleur
et la police pour le curseur.
{nomgroupe}/{nomgroupe}
Deux noms de groupes de surbrillance : le premier est
utilisé quand il n'y a pas de mappages de langue, le
second quand il y en a. |language-mapping|
Exemples de parties : En mode Normal, Lignecmd et Visuel, utilise un curseur
en bloc avec la surbrillance du groupe "nCursor". En mode Insertion et pour l'insertion en mode
Lignecmd, utilise un curseur en barre verticale de 30
% de la largeur du caractère, avec la surbrillance du
groupe "iCursor". Clignote un peu plus vite.
Le mode 'a' est différent. Il fixera la liste-formes suivante pour
tous les modes. Il ne modifie pas les valeurs par défaut. Cela peut
être utilisé pour obtenir un paramétrage commun dans tous les modes.
Par exemple, pour désactiver le clignotement : "a:blinkon0".
Exemples de groupes de surbrillance pour le curseur :
*'guifont'* *'gfn'* *E235* *E596* *E610* *E611*
'guifont' 'gfn' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique}
C'est une liste de polices qui sera utilisée dans la version IHM
graphique de Vim. Dans sa forme la plus simple, cette option contient
juste un nom de police. Si la police ne peut pas être trouvée, vous
obtiendrez un message d'erreur. Pour essayer d'autres polices, une
liste de noms de polices séparés par des virgules peut être utilisée :
la première police valide sera alors utilisée.
Lorsque 'guifontset' n'est pas vide, 'guifont' n'est pas utilisé.
Les espaces après une virgule sont ignorés. Pour inclure une virgule
dans un nom de police, faites-la précéder d'une contre-oblique. Fixer
une option nécessite une contre-oblique supplémentaire avant un espace
et une contre-oblique. Voir aussi |option-backslash|. Par exemple fera d'abord essayer la police "Screen15" à Vim, puis si cela échoue,
"7x13", et enfin "police,avec,virgules" à la place.
Pour l'IHM graphique GTK+ 2, le nom de police a l'aspect suivant : C'est tout. Les valeurs XLFD ne sont désormais plus acceptées.
*E236*
NOTE : La chasse de la police doit être fixe (police à espacement
constant : tous les caractères occupent la même largeur).
Pour prévisualiser une police sous X11, vous pouvez utiliser le
programme `xfontsel`. Cet utilitaire donne la liste de toutes les
polices disponibles.
Pour Win32, GTK+ et Photon uniquement affichera un sélecteur de polices, où vous pourrez choisir celle qui
vous convient.
Si aucune des polices ne peut être chargée, Vim conservera les
paramètres courants. Si une liste de polices vide est donnée, Vim
essaiera d'utiliser d'autres paramètres de ressources (comme la
ressource "Vim.font" sous X), et essaiera finalement une valeur par
défaut interne qui devrait toujours être présente ("7x13" dans le cas
de X).
Les noms de polices donnés doivent être « normaux » : Vim essaiera de
trouver les polices grasses et italiques correspondantes.
Pour l'IHM graphique Win32 : *E244* *E245*
- Utilisez ces options dans le nom de police :
hXX : la hauteur vaut XX (points)
wXX : la largeur vaut XX (points) ["Width"]
(Les deux valeurs ci-dessus peuvent être en virgule
flottante.)
b : gras ["Bold"]
i : italique
u : souligné ["Underline"]
s : rayé ["Strikeout"]
cXX : jeu de caractères XX ; les noms valides sont : ANSI,
ARABIC, BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE,
GB2312, GREEK, HANGEUL, HEBREW, JOHAB, MAC, OEM,
RUSSIAN, SHIFTJIS, SYMBOL, THAI, TURKISH, VIETNAMESE
ANSI et BALTIC.
Utilisez un ':' pour séparer ces options.
- Un '_' peut être utilisé à la place d'un espace, vous n'avez donc
pas besoin d'utiliser des contre-oblique pour l'échappement des
espaces.
- Exemples :
Faites un tour sur "http://nova.bsuvc.bsu.edu/prn/monofont/" : vous y
trouverez des polices à espacement constant et des commentaires les
concernant.
Voir aussi |font-sizes|.
*'guifontset'* *'gfs'*
*E250* *E252* *E234* *E597* *E598*
'guifontset' 'gfs' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique et la
fonctionnalité |+xfontset|}
{absent de l'IHM graphique GTK+ 2}
Si non vide, spécifie deux polices (ou plus) à utiliser. La première
sert pour le latin normal, la seconde pour votre langue spéciale.
Voir |xfontset|.
Fixer cette option implique également que tous les noms de polices
seront gérés comme un nom de jeu de polices. Cela comprend les polices
utilisées dans l'argument "font" de la commande |:highlight|.
Les polices doivent s'accorder avec la région linguistique courante.
Si les polices pour les jeux de caractères que la région linguistique
courante utilise ne sont pas inclus, fixer 'guifontset' échouera.
NOTE sur les différences entre 'guifont' et 'guifontset' : Dans
'guifont', les noms séparés par des virgules sont des noms
d'alternatives, un seul d'entre eux est utilisé. Dans 'guifontset', la
chaîne entière est un nom de jeu de polices, virgules incluses. Il
n'est pas possible de spécifier des noms de jeux de polices
alternatifs.
Cet exemple marche sur de nombreux systèmes X11 :
*'guifontwide'* *'gfw'* *E231* *E533* *E534*
'guifontwide' 'gfw' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique}
Si non-vide, spécifie une liste de polices séparées par des virgules à
utiliser pour les caractères de largeur double. La première police qui
peut être chargée est utilisée.
NOTE : Ces polices doivent avoir exactement le double de largeur de
celle donnée par 'guifont', et la même hauteur.
- Pour toutes les versions IHM graphiques sauf GTK+ 2 :
'guifontwide' est utilisé uniquement si 'encoding' vaut "utf-8" et
si 'guifontset' est vide ou invalide.
Lorsque 'guifont' est fixé et qu'une police valide y est trouvée, si
'guifontwide' est vide, Vim essaiera de trouver la police
d'épaisseur double correspondante et de fixer 'guifontwide' à cette
valeur.
- Pour l'IHM graphique GTK+ 2 uniquement : *guifontwide_gtk2*
Si non-vide et valide, 'guifontwide' est toujours utilisé pour les
caractères de largeur double, même si 'encoding' n'est pas fixé à
"utf-8".
Vim de cherche pas automatiquement une valeur appropriée pour
'guifontwide'. Si 'guifontwide' est vide, Pango/Xft choisira la
police pour les caractères non disponibles dans 'guifont'. De ce
fait, vous n'avez pas besoin de fixer 'guifontwide', à moins que
vous ne désiriez recouvrir le choix automatique effectué par
Pango/Xft.
*'guiheadroom'* *'ghr'*
'guiheadroom' 'ghr' nombre (défaut : 50)
global
{absent de Vi}
{uniquement pour les IHM graphiques GTK+ et X11}
Le nombre de pixels soustraits de la hauteur de l'écran lorsque la
fenêtre IHM graphique vient le recouvrir. Fixez cette option avant le
lancement de l'IHM graphique, dans votre fichier |gvimrc| par exemple.
Si nul, c'est toute la hauteur de l'écran qui sera utilisée par la
fenêtre. Si positif, le nombre de lignes de pixels spécifié sera
laissé pour les décorations de la fenêtre et autres éléments visuels.
Fixez cette option à une valeur négative pour avoir des fenêtres plus
hautes que l'écran.
*'guioptions'* *'go'*
'guioptions' 'go' chaîne (défaut : MS-Windows : "gmrLtT",
GTK+, Motif et Athena :"agimrLtT")
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique}
Cette option n'a d'effet que dans la version IHM graphique de Vim.
C'est une liste de drapeaux qui décrit quels composants et options de
l'IHM graphique doivent être utilisés.
Pour éviter des problèmes avec les drapeaux qui seront ajoutés dans
les versions ultérieures, utilisez les fonctionnalités "+=" et "-="
de ":set" |add-option-flags|.
Les drapeaux valides sont les suivants :
*guioptions_a*
a Auto-sélection : si inclus, à chaque fois que le mode Visuel
est lancé ou que la zone Visuel est étendue, Vim essaie de
devenir le propriétaire de la sélection globale du système de
fenêtrage. Cela implique que la zone de texte en surbrillance
pourra être collée dans d'autres applications que Vim
lui-même. Quand le mode Visuel se termine -- généralement
après une opération sur le texte -- ou quand une application
veut coller la sélection, le texte en surbrillance est
automatiquement copié dans le registre de sélection "*. Ainsi,
la sélection pourra toujours être collée dans d'autres
applications après que la fin du mode Visuel.
Si non inclus, alors Vim ne deviendra pas le propriétaire de
la sélection globale du système de fenêtrage, à moins qu'il
n'y soit explicitement forcé par copie ou coupage dans le
registre "*.
Ceci s'applique également à la sélection amodale.
A Auto-sélection pour la sélection amodale. Comme 'a', mais
s'applique uniquement à la sélection amodale.
'guioptions' AUTO-SÉLECTION VISUEL AUTO-SÉLECTION AMODALE
"" - -
"a" oui oui
"A" - oui
"aA" oui oui
c Utilise les dialogues console au lieu des boîtes de dialogue
pour les choix simples.
f Premier plan ["Foreground"] : n'utilise pas fork() pour
détacher l'IHM graphique du shell qui l'a appelée. Utilisez
ceci pour les programmes qui attendent que l'éditeur se
finisse (p. ex., un programme de courriel). Vous pouvez
également utiliser `gvim -f` ou ":gui -f" pour lancer l'IHM
graphique au premier plan. |gui-fork|
NOTE : Fixez cette option dans le fichier vimrc. Le fourchage
peut avoir déjà eu lieu lorsque le fichier gvimrc est lu.
i Utilise une icône Vim. Pour GTK+ avec KDE, elle est sise dans
le coin en haut et à gauche de la fenêtre. Elle est en noir et
blanc pour les non-GTK+, à cause des limitations de X11. Pour
une icône colorée, voir |X11-icon|.
m La barre de menus est présente.
M Le menu système "$VIMRUNTIME/menu.vim" n'est pas sourcé.
NOTE : Ce drapeau doit être ajouté dans le fichier vimrc avant
l'activation de la syntaxe ou le typage des fichier (quand le
fichier gvimrc est sourcé, le menu système a déjà été chargé ;
les commandes ":syntax on" et ":filetype on" chargent
également le menu).
g Grise les éléments de menu : rend gris les éléments qui ne
sont pas disponibles. Si 'g' n'est pas inclus, les éléments de
menu inactifs ne sont pas affichés du tout. Exception : Athena
utilisera toujours des éléments de menu gris.
t Inclut une tirette dans les menus, pour les rendre
détachables. Actuellement, uniquement pour les IHM graphiques
Win32, GTK+ et Motif 1.2.
T Inclut la barre d'outils. Actuellement, uniquement pour les
IHM graphiques Win32, GTK+, Motif et Athena. ["Toolbar"]
r Un ascenseur à droite est toujours présent. ["Right"]
R Un ascenseur à droite est présent quand il y a une fenêtre
partagée verticalement.
l Un ascenseur à gauche est toujours présent. ["Left"]
L Un ascenseur à gauche est présent quand il y a une fenêtre
partagée verticalement.
b Un ascenseur horizontal est présent. ["Bottom"]
Et oui, vous pouvez avoir un ascenseur sur la gauche ET sur la droite
si c'est vraiment ce que vous voulez :-). Voir |gui-scrollbars| pour
plus d'informations.
v Utilise une disposition verticale pour les boutons dans les
dialogues. Si non inclus, une disposition horizontale est
préférée, mais quand elle ne rentre pas dans la fenêtre, une
disposition verticale est utilisée malgré tout.
p Utilise les fonctions de rappel "Pointer" XXX pour l'IHM graphique
X11. Cela est requis par certains gestionnaires de fenêtres.
Si le curseur n'est pas allumé ou éteint au bon moment,
essayez ce drapeau. Cela doit être fait avant le lancement de
l'IHM graphique. Fixez-le dans votre gvimrc. Son ajout ou sa
suppression après le lancement de l'IHM graphique est sans
effet.
F Ajoute une barre de messages. Uniquement pour Motif. Voir
|gui-footer|. ["Footer"]
*'guipty'* *'noguipty'*
'guipty' booléen (défaut : activé)
global
{absent de Vi}
{uniquement si compilé avec l'IHM graphique}
Uniquement dans l'IHM graphique : si activé, une tentative est
effectuée pour essayer d'ouvrir un pseudo-terminal pour
l'entrée/sortie depuis/vers les commandes shell. Voir |gui-pty|.
*'helpfile'* *'hf'*
'helpfile' 'hf' chaîne (défaut : MS-DOS : "$VIMRUNTIME\doc\help.txt",
autres : "$VIMRUNTIME/doc/help.txt")
global
{absent de Vi}
Nom du fichier d'aide principal. Tous les fichiers d'aide fournis avec
Vim devraient être situés ensemble dans un même répertoire. En plus,
tous les sous-répertoires "doc" des répertoires figurant dans
'runtimepath' seront utilisés.
Les variables d'environnement sont étendues |:set_env|. Par exemple :
"$VIMRUNTIME/doc/help.txt". Si $VIMRUNTIME n'est pas fixé, $VIM est
également essayé. Voir aussi |$VIMRUNTIME| et |option-backslash| sur
l'inclusion d'espaces et de contre-obliques.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'helpheight'* *'hh'*
'helpheight' 'hh' nombre (défaut : 20)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+windows|}
Hauteur initiale minimum de la fenêtre d'aide quand elle est ouverte
avec la commande ":help". La hauteur initiale de la fenêtre d'aide est
de la moitié de la fenêtre courante, ou (si l'option 'ea' est activée)
de la même taille que celle des autres fenêtres. Lorsque la hauteur
devient inférieure à 'helpheight', elle est ramenée à 'helpheight'.
Fixez cette option à 0 pour la désactiver.
*'hidden'* *'hid'* *'nohidden'* *'nohid'*
'hidden' 'hid' booléen (défaut : désactivé)
global
{absent de Vi}
Si désactivé, un tampon est déchargé quand il est |abandon|né ; si
activé, un tampon devient caché quand il est |abandon|né. Si le tampon
est toujours affiché dans une autre fenêtre, il ne devient pas caché,
bien sûr.
Les commandes qui permettent de se déplacer dans la liste des tampons
cachent parfois un tampon alors que 'hidden' est désactivé : quand le
tampon est modifié, que 'autowrite' est désactivé ou que l'écriture
est impossible, et que le drapeau [!] a été utilisé. Voir aussi
|windows.txt|.
Cette option peut être activée pour une commande avec ":hide
{commande}" |:hide|.
ATTENTION : Il est facile d'oublier que vous avez des modifications
non enregistrées dans des tampons cachés. Réfléchissez-y à deux fois
avec de faire ":q!" ou ":qa!".
*'highlight'* *'hl'*
'highlight' 'hl' chaîne (défaut (saisi comme une chaîne unique) :
"8:SpecialKey,@:NonText,d:Directory,
e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
M:ModeMsg,n:LineNr,r:Question,
s:StatusLine,S:StatusLineNC,c:VertSplit,
t:Title,v:Visual,w:WarningMsg,W:WildMenu,
f:Folded,F:FoldColumn")
global
{absent de Vi}
Cette option peut être utilisée pour définir le mode de surbrillance
utilisé dans diverses occasions. C'est une liste de paires de
caractères séparées par des virgules. Le premier caractère de la paire
spécifie l'occasion, et le second le mode utilisé pour cette occasion.
Les occasions sont :
|hl-SpecialKey| 8 combinaisons Alt et touches spéciales listées
par ":map"
|hl-NonText| @ '~' et '@' à la fin d'une fenêtre et les
caractères de 'showbreak'
|hl-Directory| d répertoires listés par CTRL-D et autres éléments
spéciaux dans les listages
|hl-ErrorMsg| e messages d'erreurs
h (obsolète, ignoré)
|hl-IncSearch| i surbrillance pour 'incsearch'
|hl-Search| l surbrillance du dernier motif de recherche (voir
'hlsearch')
|hl-MoreMsg| m invites Plus |more-prompt|
|hl-ModeMsg| M mode courant (p. ex., "-- INSERT --")
|hl-LineNr| n numéro de ligne pour les cmd ":number" et ":#"
|hl-Question| r invites Appuyez-sur-entrée |hit-enter| et
questions oui/non
|hl-StatusLine| s ligne d'état de la fenêtre courante |status-line|
|hl-StatusLineNC| S lignes d'état des fenêtres non-courantes
|hl-Title| t titres des sorties de ":set all", ":au", etc.
|hl-VertSplit| c colonnes utilisées pour séparer un partage
vertical de fenêtre
|hl-Visual| v zone Visuel
|hl-VisualNOS| V zone Visuel lorsque Vim n'est pas propriétaire
de la sélection ; uniquement pour les IHM
graphiques X11 |gui-x11| et le presse-papiers
xterm |xterm-clipboard|
|hl-WarningMsg| w messages d'avertissements
|hl-WildMenu| W correspondance sélectionnée dans 'wildmenu'
|hl-Folded| f ligne utilisée pour les replis fermés
|hl-FoldColumn| F colonne de repli ('foldcolumn')
Les modes d'affichage sont :
r inverse (entrée termcap "mr" et "me") ["Reverse"]
i italique (entrée termcap "ZH" et "ZR")
b gras (entrée termcap "md" et "me") ["Bold"]
s surligné (entrée termcap "so" et "se") ["Standout"]
u souligné (entrée termcap "us" et "ue") ["Underline"]
n aucune surbrillance ["None"]
- aucune surbrillance
: utilise un groupe de surbrillance
La valeur par défaut est utilisée pour les occasions qui ne sont pas
incluses.
Si vous voulez modifier l'action des modes d'affichage, voir
|dos-colors| pour un exemple.
Si vous utilisez le mode ':', celui-ci doit être suivi par le nom d'un
groupe de surbrillance. Un groupe de surbrillance peut être utilisé
pour définir n'importe quel type de surbrillance, y compris
l'utilisation de couleurs. Voir |:highlight| pour en définir un. Par
défaut, un groupe différent est utilisé pour chaque occasion. Voir
|highlight-default| sur les groupes de surbrillance par défaut.
*'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
'hlsearch' 'hls' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+extra_search|}
Quand il y a un motif de recherche précédent, met toutes ses
correspondances en surbrillance.
Le mode de surbrillance utilisé peut être activé avec l'occasion 'l'
de l'option 'highlight'. Le groupe de surbrillance "Search" est
utilisé par défaut. NOTE : Seul le texte correspondant est mis en
surbrillance, les décalages sont ignorés.
Voir aussi 'incsearch' et |:match|.
Quand vous en avez assez de cette surbrillance, vous pouvez la
désactiver grâce à |:nohlsearch|. Mais dès que vous réutiliserez une
commande de recherche, la surbrillance sera réactivée.
Si le motif de recherche peut englober une fin-de-ligne, Vim essaiera
de mettre en surbrillance tout le texte correspondant. Cela dépendra
de toute façon de l'endroit où la recherche a été lancée. Cela sera la
première ligne dans la fenêtre ou la première ligne après un repli
fermé. Une correspondance dans une ligne précédente qui n'est pas
dessinée pourra ne pas continuer dans une ligne nouvellement dessinée.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'history'* *'hi'*
'history' 'hi' nombre (défaut Vim : 20, défaut Vi : 0)
global
{absent de Vi}
Un historique des commandes ":" et un historique des motifs de
recherche précédents sont mémorisés. Cette option décide le nombre
d'entrées qui doivent être enregistrées dans chacun de ces historiques
(voir |cmdline-editing|).
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'hkmap'* *'hk'* *'nohkmap'* *'nohk'*
'hkmap' 'hk' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Si activé, le codage clavier hébreu est utilisé.
Normalement, vous voudrez activer 'allowrevins' et utiliser CTRL-_ en
mode Insertion pour inverser cette option |i_CTRL-_|.
Voir |rileft.txt|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'hkmapp'* *'hkp'* *'nohkmapp'* *'nohkp'*
'hkmapp' 'hkp' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Si activé, le codage clavier hébreu phonétique est utilisé. 'hkmap'
doit être également activé.
Utile si vous possédez un clavier non-hébreu. Voir |rileft.txt|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'icon'* *'noicon'*
'icon' booléen (défaut : désactivé, activé si le titre peut
être restauré)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Si activé, le titre de l'icône de la fenêtre sera fixé à la valeur de
'iconstring' (si elle n'est pas vide), ou au nom du fichier en cours
d'édition. Seul le dernier segment du nom est utilisé (cela est
modifié par l'option 'iconstring').
Fonctionne uniquement si le terminal supporte la modification du titre
de l'icône de la fenêtre (actuellement, cela ne concerne l'IHM
graphique X11 et les terminaux avec une option 't_IS' non-vide -- ce
sont les xterm Unix et iris-ansi par défaut, où 't_IS' est pris depuis
le termcap interne).
Si Vim a été compilé avec HAVE_X11 défini, le titre original de
l'icône sera restauré si possible |X11|. Voir |X11-icon| pour modifier
l'icône elle-même sous X11.
*'iconstring'*
'iconstring' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Si non-vide, cette option sera utilisée pour le texte de l'icône de la
fenêtre. Cela ne survient que lorsque l'option 'icon' est activée.
Fonctionne uniquement si le terminal supporte la modification du titre
de l'icône de la fenêtre (actuellement, cela ne concerne l'IHM
graphique X11 et les terminaux avec une option 't_IS' non-vide). Ne
fonctionne pas sur MS-Windows.
Si Vim a été compilé avec HAVE_X11 défini, le titre original de
l'icône sera restauré si possible |X11|.
Lorsque cette option contient des éléments de style printf '%', ils
seront étendus suivant les règles en usage pour 'statusline'.
Voir 'titlestring' pour trouver des exemples.
{uniquement si compilé avec la fonctionnalité |+statusline|}
*'ignorecase'* *'ic'* *'noignorecase'* *'noic'*
'ignorecase' 'ic' booléen (défaut : désactivé)
global
Ignore la casse dans les motifs de recherche. Également utilisé pour
une recherche dans un fichier de marqueurs.
Voir aussi 'smartcase'.
L'utilisation de "\c" ou "\C" dans le motif recouvre cette option,
voir |/ignorecase|.
*'imactivatekey'* *'imak'*
'imactivatekey' 'imak' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalité |+xim|
et |+GUI_GTK|}
Spécifie la séquence clavier que votre méthode de saisie sous X Window
(XIM) utilise pour l'activation. Quand cette option est correctement
définie, Vim peut pleinement contrôler la méthode de saisie avec
'imcmdline', 'iminsert' et 'imsearch'.
Vous ne pouvez pas utiliser cette option pour changer la séquence
d'activation, elle ne sert qu'à sa définition.
Format :
[DRAPEAU_MODIFICATEUR-]CODE_TOUCHE
Les caractères suivant peuvent être utilisés pour DRAPEAU_MODIFICATEUR
(la casse est ignorée) :
S touche Maj
L touche Ver Maj
C touche Contrôle
1 touche Mod1
2 touche Mod2
3 touche Mod3
4 touche Mod4
5 touche Mod5
Les combinaisons sont autorisées, par exemple "S-C-space" ou
"SC-space" désignent tous deux Maj + Ctrl + Espace.
Voir <X11/keysymdef.h> et XStringToKeysym pour CODE_TOUCHE.
Exemple : "S-space" signifie Maj + Espace. C'est la séquence d'activation pour
kinput2 + canna (japonais), et ami (coréen).
*'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
'imcmdline' 'imc' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+xim|, |+multi_byte_ime| ou |global-ime|}
Si activé, la méthode de saisie (IM) est toujours activée quand on
débute l'édition de la ligne de commande, à moins qu'un motif de
recherche ne soit entré (voir 'imsearch' pour cela).
Avoir cette option activée est utile si votre méthode de saisie vous
permet d'entrer des caractères latins directement, p. ex., pour saisir
des caractères accentués avec des touches mortes.
*'imdisable'* *'imd'* *'nodisable'* *'noimd'*
'imdisable' 'imd' booléen (défaut : désactivé, activé sur certains
systèmes (SGI))
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+xim|, |+multi_byte_ime| ou |global-ime|}
Si activé, la méthode de saisie (IM) n'est jamais utilisée. C'est
utile pour la désactiver quand elle ne fonctionne pas correctement.
Actuellement, cette option est activée par défaut sur les machines
SGI/IRIX. Cela pourra changer dans les versions ultérieures.
*'iminsert'* *'imi'*
'iminsert' 'imi' nombre (défaut : 0, 2 si une méthode de saisie (IM)
est supportée)
local à un tampon
{absent de Vi}
Spécifie si ":lmap" ou une méthode de saisie (IM) doit être utilisée
en mode Insertion :
'iminsert' ":lmap" IM
0 non non
1 oui non
2 non oui
2 est disponible uniquement si compilé avec |+multi_byte_ime|, |+xim|
ou |global-ime|.
Pour que cette option soit toujours ramenée à 0 en quittant le mode
Insertion avec <Echap>, ceci peut être utilisé : Cela désactive automatiquement ":lmap" et la méthode de saisie en
quittant le mode Insertion.
NOTE : Cette option est modifiée si vous utilisez CTRL-^ en mode
Insertion. |i_CTRL-^|
Cette option est fixée à 1 lorsque 'keymap' est fixé à un codage
clavier valide. Elle est également utilisée pour l'argument de
commandes telles que "r" et "f".
La valeur 0 peut ne pas fonctionner correctement avec Athena et Motif
pour certaines méthodes XIM. Utilisez alors 'imdisable' pour
désactiver la méthode de saisie.
*'imsearch'* *'ims'*
'imsearch' 'ims' nombre (défaut : 0, 2 si une méthode de saisie (IM)
est supportée)
local à un tampon
{absent de Vi}
Spécifie si ":lmap" ou une méthode de saisie (IM) doit être utilisée
quand on entre un motif de recherche :
'iminseach' ":lmap" IM
0 non non
1 oui non
2 non oui
-1 la valeur de 'iminsert' est utilisée, ce qui
rend 'iminsert' également utilisée quand on
tape un motif de recherche XXX
NOTE : Cette option est modifiée si vous utilisez CTRL-^ en mode
Ligne-de-commande. |c_CTRL-^| XXX Bram
Cette option est fixée à 1 lorsque 'keymap' est fixé à un codage
clavier valide, sauf si elle vaut déjà -1.
La valeur 0 peut ne pas fonctionner correctement avec Athena et Motif
pour certaines méthodes XIM. Utilisez alors 'imdisable' pour
désactiver la méthode de saisie.
*'include'* *'inc'*
'include' 'inc' chaîne (défaut : "^#\s*include")
global ou local à un tampon |global-local|
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+find_in_path|}
Motif à utiliser pour trouver une commande de type "include". C'est un
motif de recherche, comme pour la commande "/" (voir |pattern|). La
valeur par défaut sert pour les programmes C. Cette option est
utilisée pour les commandes "[i", "]I", "[d", etc.
L'option 'isfname' est utilisée pour identifier le nom de fichier qui
suit ce motif de recherche. Voir |option-backslash| sur l'inclusion
d'espaces et de contre-obliques.
*'includeexpr'* *'inex'*
'includeexpr' 'inex' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+find_in_path| et |+eval|}
Expression à utiliser pour transformer la chaîne trouvée avec l'option
'include' en un nom de fichier. Surtout utile pour changer "." en "/"
pour Java : La variable "v:fname" sera fixée au nom de fichier qui a été trouvé.
Cette option est évaluée dans le bac à sable |sandbox|.
Également utilisé pour la commande |gf| si un nom de fichier tel quel
ne peut pas être trouvé. Autorise l'utilisation de "gf" sur le nom
suivant l'instruction de 'include'.
Également utilisé pour |<cfile>|.
*'incsearch'* *'is'* *'noincsearch'* *'nois'*
'incsearch' 'is' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+extra_search|}
Pendant que vous entrez un motif de recherche, la correspondance de ce
motif est montrée simultanément ; elle est mise en surbrillance. Si le
motif est erroné ou qu'il n'est pas trouvé, rien n'est montré.
L'écran sera souvent mis à jour. Cela n'est avantageux que sur les
terminaux rapides. NOTE : La correspondance sera montrée, mais le
curseur ne sera pas déplacé. Vous devrez terminer la commande de
recherche avec <CR> pour que le curseur soit déplacé. La surbrillance
est fixée avec le drapeau 'i' de l'option 'highlight'. Voir aussi
'hlsearch'.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'indentexpr'* *'inde'*
'indentexpr' 'inde' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+cindent| et |+eval|}
Expression qui est évaluée pour obtenir l'indentation propre d'une
ligne. Elle est utilisée quand une nouvelle ligne est ouverte, pour
l'opérateur |=| et en mode Insertion comme spécifié par l'option
'indentkeys'.
Si non-vide, cette option recouvre l'indentation de 'cindent' et de
'smartindent'.
Lorsque 'paste' est activé, cette option n'est pas utilisée pour
l'indentation.
L'expression est évaluée avec |v:lnum| fixé au numéro de la ligne pour
laquelle l'indentation doit être calculée.
L'expression doit retourner le nombre d'espaces blancs occupés par
l'indentation. Elle peut retourner "-1" pour conserver l'indentation
courante (cela signifie que 'autoindent' est utilisé pour
l'indentation).
Les fonctions utiles pour calculer l'indentation sont |indent()|,
|cindent()| et |lispindent()|.
L'évaluation de l'expression ne doit pas avoir d'effets de bord ! Elle
ne doit pas modifier le texte, sauter vers une autre fenêtre, etc. La
position du curseur est toujours restaurée par la suite, ainsi le
curseur peut être déplacé.
Normalement, cette option est utilisée pour appeler une fonction : Les messages d'erreurs seront supprimés, à moins que l'option 'debug'
ne contienne "msg".
Voir |indent-expression|. Voir aussi |eval-sandbox|.
NOTE : Cette option est fixée à "" lorsque 'compatible' est activé.
*'indentkeys'* *'indk'*
'indentkeys' 'indk' chaîne (défaut : "0{,0},:,0#,!^F,o,O,e")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cindent|}
Une liste de touches qui, quand elles sont saisies en mode Insertion,
provoquent la réindentation de la ligne courante. Survient uniquement
si 'indentexpr' est non-vide.
Le format est identique à 'cinkeys', voir |indentkeys-format|.
Voir |C-indenting| et |indent-expression|.
*'infercase'* *'inf'* *'noinfercase'* *'noinf'*
'infercase' 'inf' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
Lors d'un complètement de mot-clé en mode Insertion |ins-completion|,
si 'ignorecase' est activé, la casse de la correspondance est ajustée.
Si le texte tapé contient une lettre minuscule où la correspondance en
a une majuscule, la partie complétée est passée en minuscules. Si le
texte tapé ne contient pas de minuscules et que la correspondance
contienne une minuscule où le texte tapé a une majuscule, s'il y a une
lettre avant, la partie complétée est passée en majuscules.
*'insertmode'* *'im'* *'noinsertmode'* *'noim'*
'insertmode' 'im' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, le mode Insertion devient le mode par défaut. Utile si vous
souhaitez vous servir de Vim comme un éditeur classique (sans mode).
Utilisé pour |evim|.
Ces commandes du mode Insertion vous seront utiles :
- Utilisez les touches fléchées pour vous déplacer dans le texte.
- Utilisez CTRL-O pour exécuter une commande du mode Normal
|i_CTRL-O|. Si c'est un mappage, il sera exécuté comme si
'insertmode' était désactivé ; le mode normal restera actif jusqu'à
ce que mappage se termine.
*i_CTRL-L*
- Utilisez CTRL-L pour exécuter plusieurs commandes du mode Normal,
puis utilisez <Echap> pour revenir en mode Insertion.
Ces éléments sont modifiés lorsque 'insertmode' est activé :
- en débutant l'édition d'un fichier, Vim passe en mode Insertion ;
- <Echap> en mode Insertion ne fait rien et émet un bip ;
- <Echap> en mode Normal fait revenir en mode Insertion ;
- CTRL-L en mode Insertion est une commande et n'est pas inséré ;
- CTRL-Z en mode Insertion suspend Vim, voir |CTRL-Z|. *i_CTRL-Z*
De toute façon, quand <Echap> est utilisé dans un mappage, il se
comporte comme si 'insertmode' n'était pas activé. Cela permet
d'utiliser les même mappages, que 'insertmode' soit activé ou non.
Quand vous exécutez des commandes avec |:normal|, 'insertmode' n'est
pas utilisé.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'isfname'* *'isf'*
'isfname' 'isf' chaîne (défaut : sur MS-DOS, Win32 et OS/2 :
"@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=",
sur Amiga : "@,48-57,/,.,-,_,+,,,$,:",
sur VMS : "@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~",
sur OS/390 : "@,240-249,/,.,-,_,+,,,#,$,%,~,=",
autres : "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
global
{absent de Vi}
Les caractères définis par cette options peuvent être inclus dans des
noms de fichiers ou de chemins. Les noms de fichiers sont utilisés
dans des commandes comme "gf", "[i" et dans le fichier de marqueurs.
Ils sont également utilisés avec "\f" dans un motif |pattern|.
Les caractères multi-octets 256 et plus sont toujours inclus, seuls
les caractères jusqu'à 255 sont concernés par cette option.
Les caractères UTF-8 de 0xa0 à 0xff sont aussi inclus.
NOTE : Sur les systèmes qui utilisent une contre-oblique comme
séparateur de chemin, Vim essaie de faire fonctionner les choses au
mieux. C'est un peu compliqué, car Vi utilisait la contre-oblique à
l'origine pour l'échappement des caractères spéciaux. Sur ces
systèmes, Vim ne supprimera pas une contre-oblique devant un caractère
de nom de fichier normal, mais il le fera sur Unix et apparentés. Les
'&' et '^' ne sont pas inclus par défaut, car ils sont spéciaux pour
cmd.exe.
Le format de cette option est une liste de parties séparées par des
virgules. Chaque partie peut être une numéro de caractère simple ou
une plage. Une plage est formée par deux numéros de caractères séparés
par '-'. Un numéro de caractère peut être un numéro décimal compris
entre 0 et 255, ou le caractère ASCII lui-même (sauf pour les
chiffres). Exemple :
"_,-,128-140,#-43"
Inclut '_' et '-' ainsi que les plages de 128
à 140 et de '#' à 43.
Si une partie débute par '^', la plage ou le numéro de caractère
suivant sera exclu de cette option. L'option est interprétée de gauche
à droite. Placez le caractère à exclure après la plage où elle est
incluse. Pour inclure un '^', utilisez-le comme le dernier caractère
de l'option ou la fin d'une plage. Exemple :
"^a-z,#,^" Exclut de 'a' à 'z', inclut '#' et '^'.
Si le caractère est '@', tous les caractères pour lesquels isalpha()
retourne TRUE sont inclus. Il s'agit en principe des caractères de 'a'
à 'z' et de 'A' à 'Z', ainsi que des caractères accentués. Pour
inclure un '@', utilisez "@-@". Exemples :
"@,^a-z" Tous les caractères alphabétiques, sauf les
minuscules.
"a-z,A-Z,@-@" Toutes les lettres plus le caractère '@'.
Une virgule peut être incluse en la plaçant à un endroit où un numéro
de caractère est attendu. Exemple :
"48-57,,,_" Chiffres, virgule et souligné.
Une virgule peut être exclue en y préfixant '^'. Exemple :
" -~,^,,9" Tous les caractères d'espace à '~', sauf
virgule, plus <Tab>.
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
*'isident'* *'isi'*
'isident' 'isi' chaîne (défaut : sur MS-DOS, Win32 et OS/2 :
"@,48-57,_,128-167,224-235",
autres : "@,48-57,_,192-255")
global
{absent de Vi}
Les caractères définis par cette options peuvent être inclus dans des
identifiants. Les identifiants sont utilisés pour reconnaître les
variables d'environnement et après la correspondance de l'option
'define'. Ils sont également utilisés avec "\i" dans un motif
|pattern|. Voir 'isfname' pour une description du format de cette
option.
Attention : Si vous modifiez cette option, cela pourra interrompre
l'expansion des variables d'environnement. P. ex., si '/' est inclus
et que Vim essaie d'étendre "$HOME/.viminfo". Vous pouvez peut-être
modifier 'iskeyword' à la place.
*'iskeyword'* *'isk'*
'iskeyword' 'isk' chaîne (défaut Vim sur MS-DOS et Win32 :
"@,48-57,_,128-167,224-235",
autres : "@,48-57,_,192-255",
défaut Vi : "@,48-57,_")
local à un tampon
{absent de Vi}
Les caractères définis par cette options peuvent être inclus dans des
mots-clés. Les mots-clés sont utilisés dans de nombreuses commandes de
recherche : "w", "*", "[i", etc. Ils sont également utilisés avec "\k"
dans un motif |pattern|. Voir 'isfname' pour une description du format
de cette option. Pour les programmes C, vous pouvez utiliser :
"a-z,A-Z,48-57,_,.,-,>".
Dans un fichier d'aide, cette option est fixée à tous les caractères
non-blancs imprimables, sauf '*', '"' et '|' (afin que CTRL-] sur une
commande saute à la documentation de cette commande).
Si l'option 'lisp' est activée, le caractère '-' est toujours inclus.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'isprint'* *'isp'*
'isprint' 'isp' chaîne (défaut : sur MS-DOS, Win32, OS/2 et
Macintosh : "@,~-255", autres : "@,161-255")
global
{absent de Vi}
Les caractères définis par cette options peuvent être affichés
directement à l'écran. Ils sont également utilisés avec "\p" dans un
motif |pattern|. Les caractères entre l'espace (ASCII 32) et '~'
(ASCII 126) sont toujours affichés directement, même quand ils ne sont
pas inclus dans 'isprint', ou en sont exclus. Voir 'isfname' pour une
description du format de cette option.
Les caractères non-imprimables sont représentés par deux caractères :
0 - 31 "^@" - "^_"
32 - 126 toujours des caractères simples
127 "^?"
128 - 159 "~@" - "~_"
160 - 254 "| " - "|~"
255 "~?"
Si votre encodage (cf. 'encoding') est un Unicode, les octets illégaux
de 128 à 255 sont représentés par <xx>, avec la valeur hexadécimale de
l'octet. Si 'display' contient "uhex", tous les caractères
non-imprimables sont représentés par <xx>.
La surbrillance NonText sera utilisée pour les caractères
non-imprimables. |hl-NonText|
Les caractères multi-octets 256 et plus sont toujours inclus, seuls
les caractères jusqu'à 255 sont concernés par cette option. Si un
caractère est imprimable mais n'est pas disponible dans la police
courante, un caractère de remplacement sera affiché.
Les caractères Unicode non-imprimables ou de largeur nulle sont
représentés par <xxxx>. Il n'y a pas d'option pour définir ces
caractères.
*'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
'joinspaces' 'js' booléen (défaut : activé)
global
{absent de Vi}
Si activé, insère deux espaces après un '.', '?' et '!' avec une
commande de fusion de lignes. Lorsque 'cpoptions' contient le drapeau
'j', cela survient uniquement après un '.'. Sinon, un seul espace est
inséré.
NOTE : Cette option est activée lorsque 'compatible' est activé.
[N.D.T. : L'insertion d'un espace supplémentaire après une fin de
phrase est caractéristique de la typographie anglo-saxonne, mais n'est
pas de mise en typographie française. Pour respecter cette dernière,
on veillera donc à utiliser ":set nojs cpo-=J".] XXX
*'key'*
'key' chaîne (défaut : "")
local à un tampon
{absent de Vi}
La clé utilisée pour chiffrer et déchiffrer le tampon courant. Voir
|encryption|.
Attention : Ne fixez pas la valeur de cette option à la main, ou
quelqu'un pourrait en prendre connaissance. Utilisez la commande |:X|.
Mais vous pouvez rendre 'key' vide : Il n'est pas possible d'obtenir directement la valeur de cette option
avec ":set key" ou ":echo &key". Cela permet d'éviter que quelqu'un
puisse l'afficher alors qu'il ne devrait pas en avoir connaissance.
Cela implique aussi que vous ne pourrez pas l'afficher vous-même une
fois qu'elle sera fixée : gare aux fautes de frappe !
*'keymap'* *'kmp'* *E544*
'keymap' 'kmp' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+keymap|}
Nom d'un codage clavier. Voir |mbyte-keymap|.
Fixer cette option à un codage clavier valide aura comme effet de bord
de fixer 'iminsert' à 1, le codage devenant ainsi effectif.
'imsearch' est également fixé à 1, sauf s'il valait -1
*'keymodel'* *'km'*
'keymodel' 'km' chaîne (défaut : "")
global
{absent de Vi}
Cette option est une liste d'items séparés par des virgules, qui
active des actions particulières que certaines touches peuvent
effectuer :
startsel Utiliser une touche spéciale avec Maj débute une
sélection (en mode Sélection ou Visuel, selon que
"key" soit inclus dans 'selectmode').
stopsel Utiliser une touche spéciale sans Maj termine une
sélection.
Les touches spéciales dans ce contexte sont les touches fléchées,
<Fin>, <Debut>, <PagePrec> et <PageSuiv>.
L'option 'keymodel' est fixée par la commande |:behave|.
*'keywordprg'* *'kp'*
'keywordprg' 'kp' chaîne (défaut : "man" ou "man -s", MS-DOS : ":help",
OS/2 : "view /", VMS : "help")
global ou local à un tampon |global-local|
{absent de Vi}
Programme à utiliser pour la commande |K|. Les variables
d'environnement sont étendues |:set_env|. ":help" peut être utilisé
pour accéder à l'aide interne de Vim. (NOTE : Dans les versions
antérieures, l'aide interne pouvait également être appelée en fixant
l'option globale à une chaîne vide, ce qui est à présent déconseillé.)
Lorsque "man" est utilisé, Vim traduira automatiquement un
quantificateur pour "K" en numéro de section de manuel. Même chose
"man -s", auquel cas "-s" est supprimé quand il n'y a pas de
quantificateur.
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
Exemple : Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'langmap'* *'lmap'* *E357* *E358*
'langmap' 'lmap' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+langmap|}
Cette option vous permet de basculer votre clavier dans un mode de
langue particulier. Quand vous tapez du texte en mode Insertion, les
caractères sont insérés directement. En mode Normal, l'option
'langmap' traduit les caractères spéciaux dans la signification
originale de la touche. Cela signifie que vous n'avez pas à changer le
mode du clavier pour exécuter des commandes du mode Normal.
C'est l'opposé de l'option 'keymap', où les caractères sont mappés en
mode Insertion.
Cela fonctionne uniquement pour les caractères 8-bits. La valeur de
'langmap' peut être spécifiée avec des caractères multi-octets
(p. ex., UTF-8), mais seuls les 8 bits inférieurs de chaque caractère
seront utilisés.
Exemple (pour du grec) : *greek* Exemple (échange la signification de z et y pour les commandes) :
L'option 'langmap' est une liste de parties séparées par des virgules.
Chaque partie peut être de deux formes :
1. Une liste de paires. Chaque paire est formée d'un caractère
« original » immédiatement suivi d'un caractère « résultat ».
Exemples : "aA", "aAbBcC".
2. Une liste de caractères « originaux », un point-virgule et une
liste de caractères « résultats ». Exemple : "abc;ABC".
Exemple général : "aA,fgh;FGH,cCdDeE"
Les caractères spéciaux doivent être précédés par une contre-oblique :
ce sont ";", ',' et '\' lui-même.
Cette option vous permet de saisir des commandes dans Vim sans avoir à
basculer entre les langues. Les caractères de votre langue spéciale
seront compris comme des caractères latins normaux par Vim (selon les
mappages 'langmap') dans les cas suivants :
- Mode Normal/Visuel : commandes, noms de tampons/registres, mappages
utilisateur ;
- Mode Insertion/Remplacement : noms de registres après CTRL-R ;
- Mode Insertion/Remplacement : mappages.
Les caractères saisis en mode Ligne-de-commande ne seront PAS affectés
par cette option.
NOTE : Cette option peut être changée à n'importe quel moment,
permettant de basculer entre des mappages pour différents
encodages/langues. Utilisez un mappage pour éviter d'avoir à la taper
à chaque fois !
*'langmenu'* *'lm'*
'langmenu' 'lm' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+menu| et |+multi_lang|}
Langue à utiliser pour la traduction des menus. Détermine quel fichier
est chargé dans le répertoire "lang" de 'runtimepath' (sans les espaces). Par exemple, pour toujours utiliser les menus en
français, indépendamment de la valeur de $LANG : Si 'langmenu' est vide, |v:lang| est utilisé.
Si votre variable $LANG est fixée à une langue non anglaise mais que
vous souhaitiez avoir les menus en anglais : Cette option doit être fixée avant le chargement des menus, le typage
de fichiers ou la coloration syntaxique. Une fois que les menus sont
définis, cette option est sans effet. Mais vous pouvez faire ceci : Attention : Cela supprimera tous les menus que vous avez créés
vous-même !
*'laststatus'* *'ls'*
'laststatus' 'ls' nombre (défaut : 1)
global
{absent de Vi}
La valeur de cette option détermine quand la dernière fenêtre dispose
d'une ligne d'état :
0 jamais
1 uniquement s'il y a au moins deux fenêtres
2 toujours
L'écran est plus clair avec une ligne d'état si vous avez plusieurs
fenêtres, mais cela prend une ligne d'écran supplémentaire.
|status-line|
*'lazyredraw'* *'lz'* *'nolazyredraw'* *'nolz'*
'lazyredraw' 'lz' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, l'écran ne sera rafraîchi lors de l'exécution de macros,
registres et autres commandes qui n'ont pas été tapés. Pour forcer la
mise à jour, utilisez |:redraw|.
*'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
'linebreak' 'lbr' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+linebreak|}
Si activé, Vim enroulera les lignes longues à un caractère de
'breakat' plutôt qu'au dernier caractère qui rentre dans l'écran.
Contrairement à 'wrapmargin' et 'textwidth', cela n'insère pas de
<EOL> dans le fichier mais affecte seulement la manière dont celui-ci
est affiché, pas son contenu. La valeur de 'showbreak' est utilisée
pour être placée au début des lignes enroulées.
Cette option n'est pas utilisée si l'option 'wrap' est désactivée ou
'list' activée.
NOTE : Les caractères <Tab> après une coupure de ligne ne sont souvent
pas affichés avec le nombre correct d'espaces blancs.
*'lines'* *E593*
'lines' nombre (défaut : 24 ou la hauteur du terminal)
global
Nombre de lignes de l'affichage. Normalement, vous n'avez pas besoin
de fixer cette option : cela est fait automatiquement par le code
d'initialisation du terminal.
Si Vim est lancé dans l'IHM graphique ou dans une fenêtre
redimensionnable, fixer cette option modifiera la taille de la
fenêtre. Si vous ne souhaitez fixer cette option que pour l'IHM
graphique, placez la commande correspondante dans votre fichier
|gvimrc|.
Quand vous fixez cette option et que Vim est incapable de changer le
nombre de lignes physiques de l'affichage, celui-ci pourra être sali.
*'linespace'* *'lsp'*
'linespace' 'lsp' nombre (défaut : 0, 1 pour l'IHM graphique Win32)
global
{absent de Vi}
{uniquement dans l'IHM graphique}
Nombre de lignes de pixels insérées entre les caractères. Utile si la
police utilise en entier la hauteur de la cellule du caractère,
faisant se toucher les lignes.
Si non-nul, il y a de la place pour le soulignement.
*'lisp'* *'nolisp'*
'lisp' booléen (défaut : désactivé)
local à un tampon
{uniquement si compilé avec la fonctionnalité
|+lispindent|}
Mode Lisp : quand <Entree> est tapé en mode Insertion, fixe
l'indentation pour la ligne suivante selon les standards Lisp (ou au
plus près). Fonctionne également avec "cc" ou "S". 'autoindent' doit
être activé pour que cela marche.
Le drapeau 'p' de 'cpoptions' change la méthode d'indentation :
compatible Vi ou meilleure. Voir aussi 'lispwords'.
Le caractère '-' est inclus dans les caractères de mot-clé.
Redéfinit l'opérateur "=" pour utiliser ce même algorithme
d'indentation plutôt que d'appeler un programme externe si 'equalprg'
est vide.
Cette option n'est pas utilisée si 'paste' est activé.
{Vi : fonctionne d'une façon légèrement différente}
*'lispwords'* *'lw'*
'lispwords' 'lw' chaîne (la valeur par défaut est très longue)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+lispindent|}
Liste de mots-clés séparés par des virgules qui influencent
l'indentation Lisp. |'lisp'|
*'list'* *'nolist'*
'list' booléen (défaut : désactivé)
local à une fenêtre
Mode 'list' : affiche les tabulations comme des CTRL-I, indique les
fins-de-lignes par $. Utile pour faire la différence entre des
tabulations et des espaces, et pour repérer des blancs surnuméraires.
NOTE : Cela affectera également la mise en forme (fixé par 'textwidth'
ou 'wrapmargin') lorsque 'cpoptions' inclut 'L'. Voir 'listchars' pour
changer la façon dont les tabulations sont affichées.
*'listchars'* *'lcs'*
'listchars' 'lcs' chaîne (défaut : "eol:$")
global
{absent de Vi}
Définit les chaînes à utiliser en mode 'list'. C'est une liste de
chaînes séparées par des virgules :
eol:c Caractère à utiliser à la fin de chaque ligne. Si
omis, il n'y a pas de caractère supplémentaire à la
fin d'une ligne.
tab:xy Deux caractères à utiliser pour une tabulation. Le
premier car est utilisé une fois. Le second est répété
pour remplir l'espace normalement occupé par la
tabulation. "tab:>-" rendra une tabulation qui prend
quatre espaces avec ">---". Si omis, <Tab> est rendu
par ^I.
trail:c Caractère à utiliser pour un espace en fin de ligne.
Si omis, les espaces finaux sont blancs.
extends:c Caractère à utiliser dans la dernière colonne, lorsque
'wrap' est désactivé et que la ligne déroulée dépasse
à droite de l'écran.
precedes:c Caractère à utiliser dans la première colonne, lorsque
'wrap' est désactivé et qu'il y a du texte précédant
le caractère visible dans la première colonne.
Les caractères ':' et ',' ne devraient pas être utilisés. Les
caractères UTF-8 peuvent être utilisés lorsque 'encoding' vaut
"utf-8", autrement seuls les caractères imprimables sont autorisés.
Exemples :
Le groupe de surbrillance "NonText" sera utilisé pour "eol", "extends"
et "precedes" ; "SpecialKey" le sera pour "tab" et "trail".
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
'loadplugins' 'lpl' booléen (défaut : activé)
global
{absent de Vi}
Si activé, les scripts de greffons sont chargés au démarrage
|load-plugins|. Cette option peut être désactivée dans votre fichier
|vimrc| si vous ne souhaitez pas utiliser les greffons.
NOTE : L'utilisation des arguments de commande "-u NONE" et
"--noplugin" désactivent cette option. |-u| |--noplugin|
*'magic'* *'nomagic'*
'magic' booléen (défaut : activé)
global
Modifie les caractères spéciaux qui peuvent être utilisés dans les
motifs de recherche. Voir |pattern|.
NOTE : Pour éviter des problèmes de portabilité liés à l'utilisation
des motifs, laissez toujours cette option activée par défaut. Ne la
désactivez que pour travailler avec de vieux scripts Vi. Dans toutes
les autres situations, écrivez vos motifs pour qu'ils fonctionnent
lorsque 'magic' est activé.
*'makeef'* *'mef'*
'makeef' 'mef' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
Nom du fichier d'erreurs pour la commande |:make| (voir
|:make_makeprg|) et la commande |:grep|. Si vide, un fichier
temporaire interne sera utilisé.
Lorsque "##" est inclus, il est remplacé par un nombre pour rendre le
nom unique. Cela permet d'éviter que la commande ":make" n'écrase un
fichier existant.
Cette option n'est PAS utilisée pour la commande ":cf". Voir
'errorfile' pour cela.
Les variables d'environnement sont étendues |:set_env|.
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'makeprg'* *'mp'*
'makeprg' 'mp' chaîne (défaut : "make", VMS : "MMS")
global ou local à un tampon |global-local|
{absent de Vi}
Programme à utiliser pour la commande ":make". Voir |:make_makeprg|.
Cette option peut contenir des caractères '%' et '#', qui seront
étendus comme si utilisés dans la ligne de commande.
Les variables d'environnement sont étendues |:set_env|.
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
NOTE : Un '|' doit être protégé deux fois : une fois pour ":set"
et une fois pour l'interprétation d'une commande. Quand vous utilisez
un filtre nommé "monfiltre", procédez ainsi : L'expression spéciale "$*" peut être donnée (même plusieurs fois) pour
spécifier où les arguments doivent être inclus, par exemple : Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'matchpairs'* *'mps'*
'matchpairs' 'mps' chaîne (défaut : "(:),{:},[:]")
local à un tampon
{absent de Vi}
Caractères qui forment des paires. La commande |%| saute de l'un à
l'autre. Actuellement, seuls les caractères simples sont autorisés
pour les paires, et ils doivent être différents. Les caractères
doivent être séparés par un deux-points et les paires par une virgule.
Par exemple, pour inclure '<' et '>' (pour du HTML) :
Un exemple plus exotique, pour sauter de '=' à ';' dans une
affectation de variable (pour des langages comme le C ou Java) :
Pour utiliser "%" d'une manière avancée, voir le greffon matchit.vim
dans le répertoire "$VIMRUNTIME/macros". |add-local-help|
*'matchtime'* *'mat'*
'matchtime' 'mat' nombre (défaut : 5)
global
{absent de Vi, mais présent dans Nvi}
Nombre de dixièmes de seconde à montrer le délimiteur apparié, lorsque
'showmatch' est activé.
NOTE : Cela n'est pas en millisecondes, comme les autres options qui
fixent des durées. Mais cela permet d'être compatible Nvi.
*'maxfuncdepth'* *'mfd'*
'maxfuncdepth' 'mfd' nombre (défaut : 100)
global
{absent de Vi}
Profondeur maximum des appels de fonctions dans les fonctions
utilisateur. Cela repère normalement les boucles sans fin. Si vous
utilisez une fonction récursive de plus grande profondeur, fixez
'maxfuncdepth' à un nombre supérieur. Mais cela utilisera plus de
mémoire, avec le danger de débordement que cela comporte.
Voir aussi |:function|.
*'maxmapdepth'* *'mmd'* *E223*
'maxmapdepth' 'mmd' nombre (défaut : 1000)
global
{absent de Vi}
Nombre maximum de fois qu'un mappage est effectué sans utiliser un
seul caractère. Cela repère normalement les mappages sans fin du style
":map x y" avec ":map y x". Mais les mappages tels que ":map g wg" ne
sont pas encore détectés, car le 'w' est utilisé avant que le mappage
suivant ne soit effectué. Voir aussi |key-mapping|.
*'maxmem'* *'mm'*
'maxmem' 'mm' nombre (défaut : entre 256 et 5120 (selon les
systèmes), ou la moitié du total de mémoire
disponible)
global
{absent de Vi}
Quantité maximum de mémoire (en ko) allouée pour un tampon. Quand
cette limite est atteinte, l'utilisation de ressources supplémentaires
entraînera la libération d'autre mémoire. La valeur maximale est
2000000 (utilisez-la pour travailler sans contrainte de mémoire). Voir
aussi 'maxmemtot'.
*'maxmemtot'* *'mmt'*
'maxmemtot' 'mmt' nombre (défaut : entre 2048 et 10240 (selon les
systèmes), ou la moitié du total de mémoire
disponible)
global
{absent de Vi}
Quantité maximum de mémoire (en ko) allouée pour tous les tampons
réunis. La valeur maximale est 2000000 (utilisez-la pour travailler
sans contrainte de mémoire). Voir aussi 'maxmem'.
*'menuitems'* *'mis'*
'menuitems' 'mis' nombre (défaut : 25)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+menu|}
Nombre maximum d'éléments à utiliser dans un menu. Utilisé pour les
menus qui sont générés à partir d'une liste d'éléments, p. ex., le
menu Tampons. La modification de cette option n'opère pas directement,
le menu doit d'abord être rafraîchi.
*'modeline'* *'ml'* *'nomodeline'* *'noml'*
'modeline' 'ml' booléen (défaut Vim : activé, défaut Vi : désactivé)
local à un tampon
*'modelines'* *'mls'*
'modelines' 'mls' nombre (défaut : 5)
global
{absent de Vi}
Si 'modeline' est activé, 'modelines' donne le nombre de lignes
balayées à la recherche d'une ligne de mode. Si 'modeline' est
désactivé ou que 'modelines' vaut 0, aucune ligne n'est balayée. Voir
|modeline|.
NOTE : 'modeline' est fixé à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'modifiable'* *'ma'* *'nomodifiable'* *'noma'* *E21*
'modifiable' 'ma' booléen (défaut : activé)
local à un tampon
{absent de Vi}
Si désactivé, le contenu du tampon ne peut pas être modifié. Les
options 'fileformat' et 'fileencoding' ne peuvent pas être changées
non plus.
Cette option peut être désactivée avec l'argument de commande |-M|.
*'modified'* *'mod'* *'nomodified'* *'nomod'*
'modified' 'mod' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
Si activé, le tampon est considéré comme modifié. Cette option est
activée quand :
1. Un changement a été apporté au texte depuis sa dernière écriture.
L'utilisation d'une commande d'annulation |undo| pour revenir au
texte original désactivera cette option. Mais l'annulation de
changements qui ont été effectués avant l'écriture du tampon
réactiveront cette option à nouveau, car le texte est différent de
sa dernière écriture.
2. 'fileformat' ou 'fileencoding' est différent de sa valeur
originale. La valeur originale est fixée quand le tampon est lu ou
écrit. Une commande ":set nomodified" ramène également les valeurs
originales aux valeurs courantes et désactive l'option 'modified'.
Lorsque 'buftype' vaut "nowrite" ou "nofile", cette option peut être
activée, mais sera ignorée.
*'more'* *'nomore'*
'more' booléen (défaut Vim : activé, défaut Vi : désactivé)
global
{absent de Vi}
Si activé, les listages marqueront une pause lorsque l'écran entier
sera rempli. Vous obtiendrez alors une invite Plus |more-prompt|.
Si désactivé, il n'y aura pas de pause et les listages continueront
jusqu'à ce qu'ils soient terminés.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'mouse'* *E538*
'mouse' chaîne (défaut : "", "a" pour l'IHM graphique, sur
MS-DOS et Win32)
global
{absent de Vi}
Active le support de la souris. Fonctionne uniquement dans certains
terminaux (xterm, MS-DOS, Win32 |win32-mouse|, pterm QNX et consoles
Linux avec gpm). Pour utiliser la souris dans l'IHM graphique, voir
|gui-mouse|.
La souris peut être activée pour différents modes :
n mode Normal
v mode Visuel
i mode Insertion
c mode Lignecmd
h tous les modes précédents lors de l'édition d'un
fichier d'aide ["Help"]
a tous les modes précédents ["All"]
r pour les invites Appuyez-sur-entrée |hit-enter|
et Plus |more-prompt| ["Return"]
A auto-sélection en mode Visuel
Normalement, vous voudrez activer la souris dans les quatre modes
principaux avec : Si la souris n'est pas activée, l'IHM graphique continuera pourtant de
l'utiliser pour une sélection amodale. Cela ne déplace pas le curseur
dans le texte.
Voir |mouse-using|. Voir aussi |'clipboard'|.
NOTE : Quand la souris est activée dans un terminal, le copier/coller
utilisera le registre "* s'il est possible d'accéder au serveur X. Le
support xterm des boutons de souris pourra continuer d'être utilisé en
maintenant la touche Maj enfoncée. Voir aussi l'option 'clipboard'.
*'mousefocus'* *'mousef'* *'nomousefocus'* *'nomousef'*
'mousefocus' 'mousef' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement dans l'IHM graphique}
La fenêtre dans laquelle est le pointeur de la souris est
automatiquement activée. Quand vous changez la disposition des
fenêtres ou le focus de fenêtre d'une autre façon, le pointeur de la
souris est déplacé dans la fenêtre qui a le focus.
Cette option est désactivée par défaut car en cas d'utilisation de la
barre de menus, le focus de fenêtre se trouve souvent modifié non
intentionnellement.
*'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
'mousehide' 'mh' booléen (défaut : activé)
global
{absent de Vi}
{uniquement dans l'IHM graphique}
Si activé, le pointeur de la souris est masqué lorsque des caractères
sont saisis. Le pointeur de la souris sera restauré si la souris est
déplacée.
*'mousemodel'* *'mousem'*
'mousemodel' 'mousem' chaîne (défaut : "extend", "popup" sur MS-DOS et
Win32)
global
{absent de Vi}
Définit le modèle à utiliser pour la souris. Ce nom spécifie surtout
le rôle du bouton droit de la souris :
extend Le bouton droit de la souris étend la sélection. Cela
fonctionne comme dans un xterm.
popup Le bouton droit de la souris déroule un menu. La
combinaison <S-ClicGauche> est utilisée pour étendre
la sélection. Cela fonctionne comme sous MS-Windows.
popup_setpos Comme "popup", mais le curseur sera placé à la
position du clic de la souris. Ainsi, l'opération
sélectionnée agira sur l'objet cliqué. Si vous cliquez
à l'intérieur d'un sélection, l'opération agira sur
celle-ci (le curseur ne sera pas déplacé). Cela
implique bien sûr qu'un clic droit en dehors de la
sélection terminera le mode Visuel.
Résumé du comportement de la souris dans chaque modèle :
ACTION SOURIS "extend" "popup(_setpos)"
clic gauche place le curseur place le curseur
glissement gauche débute une sélection débute une sélection
maj-gauche cherche un mot étend une sélection
clic droit étend une sélection déroule un menu (et
place le curseur)
glissement droit étend une sélection -
clic milieu colle colle
Dans le modèle "popup", le bouton droit de la souris fait apparaître
un menu déroulant. Celui-ci doit d'abord être défini, voir
|popup-menu|.
NOTE : Vous pouvez redéfinir ultérieurement le comportement des
boutons de la souris par des mappages. Voir |gui-mouse-mapping|. Mais
les mappages ne sont PAS utilisés pour la sélection amodale (car
elle est mise en oeuvre directement avec le code de l'IHM graphique).
L'option 'mousemodel' est fixée par la commande |:behave|.
*'mouseshape'* *'mouses'* *E547*
'mouseshape' 'mouses' chaîne (défaut : "i:beam,r:beam,s:updown,sd:cross,
m:no,ml:up-arrow,v:rightup-arrow")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+mouseshape|}
Cette option définit les apparences du pointeur de la souris dans
différents contextes. C'est une liste de parties séparées par des
virgules, un peu comme dans l'option 'guicursor'. Chaque partie
consiste en une liste de contextes, suivie de ":", suivi d'un nom de
forme de pointeur :
liste-contxt:forme,liste-contxt:forme,...
La liste-contxt est une liste des contextes suivants séparés par des
tirets :
VALEUR DANS UNE FENÊTRE NORMALE
n mode Normal
v mode Visuel
ve mode Visuel avec 'selection' valant "exclusive" (comme
'v', si non spécifié)
o mode Opérateur-en-cours
i mode Insertion
r mode Remplacement
AUTRES CONTEXTES
c ajout à la ligne de commande
ci insertion dans la ligne de commande
cr remplacement dans la ligne de commande
m aux invites Appuyez-sur-entrée ou Plus ["More"]
ml idem, mais curseur sur la dernière ligne ["More-Last"]
e n'importe quel mode, le pointeur sous la dernière
fenêtre
s n'importe quel mode, le pointeur sur la ligne d'état
["Status"]
sd n'importe quel mode, en tirant la ligne d'état
["Status Drag"]
vs n'importe quel mode, le pointeur sur une ligne de
séparation verticale
vd n'importe quel mode, en tirant une ligne de séparation
verticale ["Vertical Drag"]
a n'importe où ["Anywhere"]
La forme peut prendre un des noms suivants :
DISPO NOM APPARENCE
w x arrow pointeur souris normal
w x blank aucun pointeur (à utiliser avec précaution !)
w x beam pointeur fin en forme de I
w x updown flèches de dimensionnement haut-bas
w x leftright flèches de dimensionnement gauche-droite
w x busy pointeur de charge habituel du système
w x no pointeur d'action nulle habituel du système
x udsizing indique un redimensionnement haut-bas
x lrsizing indique un redimensionnement gauche-droite
x crosshair pointeur fin en forme de grand '+'
x hand1 main noire
x hand2 main blanche
x pencil crayon
x question grand '?'
x rightup-arrow flèche pointant vers le haut à droite
w x up-arrow flèche pointant vers le haut
x <numero> n'importe quel numéro de pointeur X11 (voir
"X11/cursorfont.h")
La colonne « DISPO » contient "w" si la forme est disponible pour
Win32, et "x" pour X11.
Pour les modes non définis ou les formes non disponibles, c'est le
pointeur souris normal qui est utilisé.
Par exemple changera le pointeur de la souris en flèches de redimensionnement sur
la ligne d'état et indiquera une action nulle lorsqu'une invite
Appuyez-sur-entrée est affichée (puisqu'un clic de souris est sans
effet dans cet état).
*'mousetime'* *'mouset'*
'mousetime' 'mouset' nombre (défaut : 500)
global
{absent de Vi}
{uniquement pour l'IHM graphique, MS-DOS, Win32 et
Unix avec xterm}
Définit le délai maximum (en millisecondes) entre deux clics de souris
pour que le second clic soit reconnu comme un double clic.
*'nrformats'* *'nf'*
'nrformats' 'nf' chaîne (défaut : "octal,hex")
local à un tampon
{absent de Vi}
Définit la base dans laquelle Vim considère les nombres utilisés par
les commandes CTRL-A et CTRL-X, pour y ajouter ou en soustraire une
quantité respectivement (voir |CTRL-A| pour plus d'informations sur
ces commandes).
alpha Si inclus, les caractères alphabétiques simples seront
incrémentés ou décrémentés. Utile dans une énumération
indexée par des lettres : a), b), etc.
octal Si inclus, les nombres débutant par un zéro seront
considérés comme des octaux. Exemple : utiliser CTRL-A sur
"007" donnera "010".
hex Si inclus, les nombres débutant par "0x" ou "0X" seront
considérés comme des hexadécimaux. Exemple : utiliser
CTRL-X sur "0x100" donnera "0x0ff".
Les nombres qui débutent simplement par un chiffre de 1 à 9 sont
considérés comme des décimaux. C'est également le cas des nombres qui
ne sont pas reconnus comme octaux ou hexadécimaux.
*'number'* *'nu'* *'nonumber'* *'nonu'*
'number' 'nu' booléen (défaut : désactivé)
local à une fenêtre
Affiche le numéro de ligne devant chaque ligne. Si le drapeau 'n' est
exclu de 'cpoptions', une ligne enroulée n'utilisera pas la colonne
des numéros de lignes (c'est le cas par défaut lorsque 'compatible'
n'est pas activé).
Quand une longue ligne enroulée ne débute pas au premier caractère
visible à l'écran, des caractères '-' sont placés devant le numéro.
Voir |hl-LineNr| pour la surbrillance utilisée pour les numéros.
*'osfiletype'* *'oft'* *E366*
'osfiletype' 'oft' chaîne (défaut : sur RISC OS : "Text",
autres : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+osfiletype|}
Certains systèmes d'exploitation enregistrent des informations
supplémentaires sur les fichiers en plus de leur nom, horodatage et
permissions. Cette option contient l'information supplémentaire, dont
la nature varie suivant les systèmes.
La valeur de cette option est généralement fixée lorsque le fichier
est chargé, et utilisée pour fixer le type du fichier lorsqu'il est
écrit.
Cette option peut affecter les motifs de correspondance des
autocommandes. |autocmd-osfiletypes|
*'paragraphs'* *'para'*
'paragraphs' 'para' chaîne (défaut : "IPLPPPQPP LIpplpipbp")
global
Spécifie les macros nroff utilisées pour séparer des paragraphes. Ce
sont des paires de deux lettres (voir |object-motions|).
*'paste'* *'nopaste'*
'paste' booléen (défaut : désactivé)
global
{absent de Vi}
Entre en mode collage : c'est utile si vous voulez couper ou copier du
texte depuis une fenêtre et le coller dans Vim. Cela évite d'avoir de
mauvaises surprises.
Avoir cette option activée est pratique si vous utilisez Vim dans un
terminal, où il ne peut pas distinguer entre le texte saisi et le
texte collé. Dans l'IHM graphique, Vim reconnaîtra un collage et le
gérera probablement bien sans que 'paste' ait besoin d'être activé.
La même chose vaut également pour un terminal où Vim gère les clics de
la souris lui-même.
Lorsque l'option 'paste' est activée :
- les mappages en mode Insertion et Lignecmd sont annulés ;
- les abréviations sont annulées ;
- 'textwidth' est fixé à 0 ;
- 'wrapmargin' est fixé à 0 ;
- 'autoindent' est désactivé ;
- 'smartindent' est désactivé ;
- 'softtabstop' est fixé à 0 ;
- 'revins' est désactivé ;
- 'ruler' est désactivé ;
- 'showmatch' est désactivé ;
- 'formatoptions' est utilisé comme s'il était vide.
Ces options conservent leur valeur, mais leur effet est annulé :
- 'lisp' ;
- 'indentexpr' ;
- 'cindent'.
NOTE : Si vous commencez l'édition d'un autre fichier et que l'option
'paste' est activée, les spécifications de la ligne de mode ou des
autocommandes peuvent modifier les paramètres un nouvelle fois, posant
des problèmes lors d'un collage de texte. Vous pourrez alors vouloir
activer l'option à nouveau.
Lorsque l'option 'paste' est désactivée, les options sus-mentionnées
sont restaurées à la valeur qu'elles avaient avant que 'paste' ne soit
activé. Désactiver 'paste' avant même de l'avoir activé n'aura aucun
effet. Comme les mappages sont inopérants en mode collage, vous devrez
utiliser l'option 'pastetoggle' pour inverser la valeur de l'option
'paste' avec une séquence clavier.
*'pastetoggle'* *'pt'*
'pastetoggle' 'pt' chaîne (défaut : "")
global
{absent de Vi}
Si non-vide, définit la séquence de touches qui inverse la valeur de
l'option 'paste'. C'est comme l'utilisation d'un mappage où {touches} serait la valeur de 'pastetoggle'.
La différence est que cela fonctionnera même quand 'paste' est activé.
'pastetoggle' fonctionne en mode Insertion et Normal, mais pas en mode
Ligne-de-commande.
Les mappages sont détectés en premier, ils recouvriront donc
'pastetoggle' le cas échéant. De toute façon, si 'paste' est activé,
les mappages sont ignorés en mode Insertion et vous pouvez faire
ceci : <F10> entrera alors en mode collage et <F11> arrêtera ce mode.
NOTE : La saisie de <F10> en mode collage insérera "<F10>", car en
mode collage tout est inséré littéralement, à l'exception de la
séquence clavier 'pastetoggle'.
*'pex'* *'patchexpr'*
'patchexpr' 'pex' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité |+diff|}
Expression évaluée pour appliquer une rustine à un fichier et générer
la nouvelle version résultante du fichier. Voir |diff-patchexpr|.
*'patchmode'* *'pm'* *E206*
'patchmode' 'pm' chaîne (défaut : "")
global
{absent de Vi}
Si non-vide, la plus ancienne version d'un fichier est sauvegardée.
Utile pour conserver la version originale d'un fichier alors que vous
modifiez des fichiers dans la source d'une distribution. La copie du
fichier original sera effectuée uniquement à la première écriture du
fichier. Le nom de la copie est le nom de l'original avec la chaîne
donnée par l'option 'patchmode' suffixée. Cette option doit débuter
par un point. Utilisez une valeur telle que ".org" XXX. 'backupdir' ne
doit pas être vide pour que cela marche. (Détail : le fichier de
sauvegarde est renommé en fichier patchmode après que le nouveau
fichier eut été écrit avec succès, c'est pourquoi il doit être
possible d'écrire un fichier de sauvegarde.) S'il n'y avait pas de
fichier à sauvegarder, un fichier vide est créé.
Si les motifs de 'backupskip' correspondent, aucun fichier patchmode
n'est créé. L'utilisation de 'patchmode' pour les fichiers compactés
suffixe l'extension à la fin (p. ex., "fichier.gz.orig"), et le nom
résultant n'est pas toujours reconnu comme un fichier compacté.
*'path'* *'pa'* *E343* *E345* *E347*
'path' 'pa' chaîne (défaut : sur Unix : ".,/usr/include,,"
sur OS/2 : ".,/emx/include,,"
autres systèmes : ".,,")
global ou local à un tampon |global-local|
{absent de Vi}
Liste de répertoires utilisés lors d'une recherche avec |gf|, "[f",
"]f", "CTRL-W f", |:find| et autres commandes, lorsque le fichier
recherché a un chemin relatif (ne débutant pas par "/"). Les
répertoires dans l'option 'path' peuvent être relatifs ou absolus.
- Les virgules servent à séparer les noms de répertoires : - Les espaces peuvent également être utilisés pour séparer les noms de
répertoires (pour compatibilité avec les versions 3.0 ou
antérieures). Pour inclure un espace dans un nom de répertoire,
faites-le précéder par une contre-oblique supplémentaire, et
protégez l'espace : - Pour inclure une virgule dans un nom de répertoire, faites-la
précéder par une contre-oblique supplémentaire : - Pour que la recherche soit relative au répertoire du fichier
courant, utilisez : - Pour rechercher dans le répertoire courant, utilisez une chaîne vide
entre deux virgules : - Un nom de répertoire peut se terminer par un ':' ou '/'.
- Les variables d'environnement sont étendues |:set_env|.
- Si vous utilisez |netrw.vim|, des URL peuvent être inclus. Par
exemple, si vous ajoutez "http://www.vim.org/", la commande
":find index.html" fonctionnera.
- La recherche ascendante ou descendante permet d'englober une
arborescence de répertoires :
1. "*" correspond à une séquence de caractères, p. ex. englobe tous les sous-répertoires de "/usr/include" (mais pas
"/usr/include" lui-même). englobe "/usr/doc" et "/usr/src".
2. "**" correspond à un sous-arbre, de jusqu'à 100 répertoires de
profondeur. Par exemple englobe tout les sous-répertoires de "/home/babar/src".
3. Si le répertoire se termine par ';', ce chemin sert de point de
départ pour une recherche ascendante.
Voir |file-searching| pour plus d'informations et la syntaxe exacte.
{uniquement si compilé avec la fonctionnalité |+path_extra|}
- Attention aux caractères '\', tapez-en deux pour en obtenir un dans
l'option : Ou utilisez juste '/' à la place : N'oubliez pas d'inclure ".", ou les fichiers dans le même répertoire
que le fichier courant ne seront pas trouvés !
La longueur maximum de cette option est limitée. La limite varie selon
le système, valant généralement quelque chose comme 256 ou 1024
caractères.
Vous pouvez tester si tous les fichiers inclus sont trouvés, en
utilisant la valeur de 'path', voir |:checkpath|.
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de répertoires dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente. Pour supprimer le répertoire courant, utilisez : Pour ajouter le répertoire courant, utilisez : Pour utiliser une variable d'environnement, vous devrez probablement
en changer le séparateur. Voici un exemple pour rajouter $INCL, dans
lequel les noms de répertoires sont séparés par des points-virgules : Remplacez le ';' par un ':', ou par le séparateur utilisé. NOTE : Cela
ne fonctionne pas si $INCL contient une virgule ou un espace blanc.
*'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
'preserveindent' 'pi' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
Lors de la modification de l'indentation de la ligne courante,
préserve la structure de l'indentation autant que possible.
Normalement, la nouvelle indentation est constituée d'une série de
tabulations suivie par autant d'espaces que nécessaire (à moins que
|'expandtab'| soit activé, auquel cas seuls des espaces sont
utilisés). L'activation de cette option signifie que l'indentation
préservera autant de caractères existants que possible et n'ajoutera
des tabulations ou des espaces supplémentaires que si nécessaire.
NOTE : Après plusieurs utilisations de ">>", l'indentation produite
est un mélange de tabulations et d'espaces. Ce n'est peut-être pas ce
que souhaitez.
NOTE : 'preserveindent' est désactivé lorsque 'compatible' est fixé.
Voir aussi 'copyindent'.
Utilisez |:retab| pour vous débarrasser du maximum d'espaces.
*'previewheight'* *'pvh'*
'previewheight' 'pvh' nombre (défaut : 12)
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+windows| et |+quickfix|}
Hauteur par défaut de la fenêtre d'aperçu. Utilisé pour les commandes
|:ptag| et associées. Utilisé pour |CTRL-W_}| si aucun quantificateur
n'est donné.
*'previewwindow'* *'nopreviewwindow'*
*'pvw'* *'nopvw'* *E590*
'previewwindow' 'pvw' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+windows| et |+quickfix|}
Identifie la fenêtre d'aperçu. Une seule fenêtre peut avoir cette
option activée. Normalement, elle n'est pas activée directement, mais
en utilisant une des commandes |:ptag|, |:pedit|, etc.
*'printdevice'* *'pdev'*
'printdevice' 'pdev' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+printer|}
Nom de l'imprimante à utiliser lorsque la commande |:hardcopy| est
appelée avec [!] afin de passer outre le dialogue de sélection de
l'imprimante. Sur Win32, cela devrait correspondre au nom de
l'imprimante exactement tel qu'il apparaît dans le dialogue
d'impression standard.
Si cette option est vide, alors Vim utilisera l'imprimante par défaut
du système pour ":hardcopy!".
*'printencoding'* *'penc'* *E620*
'printencoding' 'penc' chaîne (défaut : "", sauf pour :
Windows, OS/2 : "cp1252",
Macintosh : "mac-roman",
VMS : "dec-mcs",
HPUX : "hp-roman8",
EBCDIC : "ebcdic-uk")
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+printer| et |+postscript|}
Spécifie l'encodage de caractères utilisé pour l'impression. Cette
option indique à Vim le fichier d'encodage de caractères d'impression
à utiliser dans le répertoire "print" de 'runtimepath'.
Cette option accepte n'importe quelle valeur de |encoding-names|. Tous
les noms reconnus sont convertis en noms Vim standards -- voir
'encoding' pour plus de détails. Les noms qui ne sont pas reconnus par
Vim seront juste convertis en minuscules et les soulignés '_' seront
remplacés par des tirets '-'.
Si 'printencoding' est vide ou que Vim ne peut pas trouver le fichier,
il utilisera alors 'encoding' (si Vim est compilé avec |+multi_byte|
et utilise un encodage 8-bits) pour trouver le fichier d'encodage de
caractères d'impression. Si Vim est incapable de trouver le fichier
d'encodage correspondant, il utilisera alors le fichier "latin1".
Si 'encoding' est fixé à un encodage multi-octets, Vim essaiera de
convertir les caractères selon la valeur de 'printencoding' lors de
l'impression (si 'printencoding' est vide, la conversion s'effectuera
alors en Latin-1). Pour une conversion dans un encodage d'impression
autre que le Latin-1, Vim devra être compilé avec la fonctionnalité
|+iconv|. Si aucune conversion n'est possible, alors l'impression
échouera. Les caractères qui ne pourront pas être convertis seront
remplacés par des points d'interrogation inversés.
Quatre fichiers d'encodages de caractères d'impression sont fournis
pour supporter les encodages de caractères Mac, VMS, HPUX et EBCDIC
par défaut, et sont utilisés par défaut sur ces plates-formes.
L'encodage de caractères d'impression pour page de codes 1252 est
utilisé par défaut sur les plates-formes Windows et OS/2.
*'printexpr'* *'pexpr'*
'printexpr' 'pexpr' chaîne (défaut : voir ci-dessous)
global
{absent de Vi}
{uniquement si compilé avec les fonctionnalités
|+printer| et |+postscript|}
Expression évaluée pour imprimer le PostScript produit avec
":hardcopy".
Le nom du fichier à imprimer est dans |v:fname_in|. Les arguments de
la commande ":hardcopy" sont dans |v:cmdarg|.
L'expression doit veiller à supprimer le fichier après l'avoir
imprimé. Lorsqu'il y a une erreur, l'expression doit retourner un
nombre non-nul ; lorsqu'il n'y en a pas, elle doit retourner zéro ou
une chaîne vide.
L'action par défaut pour les systèmes non-MS-Windows/VMS est
d'utiliser tout simplement `lpr` pour imprimer le fichier :
Sur les machines MS-Windows, l'action par défaut est de copier le
fichier vers le périphérique d'impression courant :
Sur les machines VMS, l'action par défaut est d'envoyer le fichier
vers le périphérique d'impression soit par défaut soit courant :
L'utilisation d'une fonction vous facilitera une modification
ultérieure de l'option. Exemple :
Soyez prudents, car certains programmes d'impression effectuent des
contrôles avant de lire le fichier. Si vous supprimez le fichier trop
précocement, il ne sera pas imprimé. Ces programmes offrent en
général une option pour supprimer le fichier après son impression.
*E365*
Si l'évaluation de l'expression échoue ou qu'elle renvoie un nombre
non-nul, vous obtenez un message d'erreur. Dans ce cas, Vim supprimera
le fichier. Dans la valeur par défaut des systèmes non-MS-Windows/VMS,
un truc est utilisé : l'ajout de "v:shell_error" produira un nombre
non-nul si l'appel system() échoue.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'printfont'* *'pfn'* *E613*
'printfont' 'pfn' chaîne (défaut : "courier")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+printer|}
Nom de la police utilisée pour la sortie de la commande |:hardcopy|.
Cette option a le même format que l'option 'guifont', sauf qu'une
seule police peut être donnée et que la syntaxe spéciale "guifont=*"
n'est pas disponible.
Dans l'IHM graphique Win32, spécifie un nom de police avec ses
attributs particuliers, comme avec 'guifont'.
Sur les autres systèmes, seul ":h11" est reconnu, où "11" désigne la
taille de la police en points. Si omis, cette taille vaut 10.
*'printheader'* *'pheader'*
'printheader' 'pheader' chaîne (défaut : "%<%f%h%m%=Page %N")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+printer|}
Format de l'en-tête produit par la sortie de |:hardcopy|.
Cette option est définie de la même façon que l'option 'statusline'.
Si Vim n'a pas été compilé avec la fonctionnalité |+statusline|, cette
option est sans effet et un en-tête simple est utilisé par défaut, qui
donne le numéro de page.
*'printoptions'* *'popt'*
'printoptions' 'popt' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+printer|}
Cette option est une liste d'items séparés par des virgules, qui
contrôle le format de sortie de |:hardcopy| :
left:{spec} Marge de gauche (défaut : 10pc).
right:{spec} Marge de droite (défaut : 5pc).
top:{spec} Marge supérieure (défaut : 5pc).
bottom:{spec} Marge inférieure (défaut : 5pc).
{spec} désigne un nombre suivi par "in" pour
des pouces ["INches"], "pt" pour des points
(1 point vaut 1/72e de pouce), "mm" pour des
millimètres ou "pc" pour un pourcentage de la
taille du support.
Illustration bizarre : Si l'unité n'est pas reconnue, il n'y a pas
d'erreur et la valeur par défaut est utilisé.
header:{nb} Nombre de lignes réservées à l'en-tête. Seule
la première ligne est effectivement remplie,
ainsi lorsque {nb} vaut 2 il y a une ligne
vide. Le format de l'en-tête est donné par
'printheader'.
header:0 N'affiche pas d'en-tête.
header:2 (défaut) Utilise deux lignes pour l'en-tête.
syntax:n N'utilise pas la coloration syntaxique. C'est
plus rapide, et donc utile pour l'impression
de documents importants.
syntax:y Active la coloration syntaxique.
syntax:a (défaut) N'utilise la coloration syntaxique que si
l'imprimante semble capable d'imprimer des
couleurs ou des nuances de gris.
number:y Inclut les numéros de lignes dans la sortie
d'impression.
number:n (défaut) Pas de numéros de lignes.
wrap:y (défaut) Les lignes longues sont enroulées.
wrap:n Les lignes longues sont tronquées.
duplex:off N'imprime que d'un côté.
duplex:long (défaut) Imprime en recto-verso (quand c'est possible),
en reliant les pages par le grand côté.
duplex:short Imprime en recto-verso (quand c'est possible),
en reliant les pages par le petit côté.
collate:y (défaut) Collationnure des pages : 1 2 3, 1 2 3, 1 2 3.
collate:n Pas de collationnure : 1 1 1, 2 2 2, 3 3 3.
jobsplit:n (défaut) Effectue toutes les copies en un seul travail
d'impression.
jobsplit:y Effectue chaque copie comme un travail séparé.
Utile en cas de post-traitement avec `psnup`.
portrait:y (défaut) Orientation en portrait.
portrait:n Orientation en paysage.
*a4* *letter*
paper:A4 (défaut) Taille du papier : A4.
paper:{nom} Nom de la taille du papier dans ce tableau :
{nom} TAILLE EN CM TAILLE EN POUCE
10x14 25,4 × 35,57 10 × 14
A3 29,7 × 42 11,69 × 16,54
A4 21 × 29,7 8,27 × 11,69
A5 14,8 × 21 5,83 × 8,27
B4 25 × 35,3 10,12 × 14,33
B5 17,6 × 25 7,17 × 10,12
executive 18,42 × 26,67 7,25 × 10,5
folio 21 × 33 8,27 × 13
ledger 43,13 × 27,96 17 × 11
legal 21,59 × 35,57 8,5 × 14
letter 21,59 × 27,96 8,5 × 11
quarto 21,59 × 27,5 8,5 × 10,83
statement 13,97 × 21,59 5,5 × 8,5
tabloid 27,96 × 43,13 11 × 17
formfeed:n (défaut) Traite le caractère saut-de-page (0x0c) comme
un caractère d'impression normal.
formfeed:y Si un caractère saut-de-page est rencontré,
continue l'impression de la ligne courante au
début de la première ligne d'une nouvelle
page.
L'item signalé par « (défaut) » est utilisé si ce type d'item n'est
pas spécifié. Toutes les valeurs ne sont pas toujours données,
spécialement lors de l'utilisation d'un dialogue pour sélectionner
l'imprimante et les options.
Exemple :
*'readonly'* *'ro'* *'noreadonly'* *'noro'*
'readonly' 'ro' booléen (défaut : désactivé)
local à un tampon
Si activé, l'écriture échoue sauf si elle est forcée par '!'. Cela
vous protège contre l'écrasement accidentel d'un fichier. L'option est
activée par défaut si Vim est lancé en mode lecture seule (`vim -R`)
ou si l'exécutable est nommé "view".
{absent de Vi : lors de l'utilisation de la commande ":view", l'option
'readonly' est activée pour le fichier nouvellement édité ; quand
":w!" est utilisé, 'readonly' est désactivé pour le tampon courant}
*'remap'* *'noremap'*
'remap' booléen (défaut : activé)
global
Autorise les mappages à fonctionner récursivement. Si vous ne désirez
pas ce comportement pour une seule entrée, utilisez la commande
":noremap[!]".
*'report'*
'report' nombre (défaut : 2)
global
Seuil au-delà duquel est rapporté le nombre de lignes modifiées. Quand
le nombre de lignes modifiées est supérieur à la valeur de 'report',
un message sera émis pour la plupart des commandes ":". Si vous
souhaitez que cela soit toujours le cas, fixez 'report' à 0.
Pour la commande ":substitute", le nombre de substitutions est utilisé
au lieu du nombre de lignes.
*'restorescreen'* *'rs'* *'norestorescreen'* *'nors'*
'restorescreen' 'rs' booléen (défaut : activé)
global
{absent de Vi}
{uniquement pour les consoles Win32}
Si activé, le contenu de l'écran est restauré à la sortie de Vim. Cela
survient également lors de l'exécution de commandes externes.
Non-Windows : vous pouvez fixer ou remettre à blanc les options 't_ti'
et 't_te' dans votre fichier vimrc. Pour désactiver la restauration : Pour activer la restauration (dans un xterm) où ^[ désigne <Echap>, tapez "CTRL-V <Echap>" pour l'insérer.
*'revins'* *'ri'* *'norevins'* *'nori'*
'revins' 'ri' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
L'insertion de caractères en mode Insertion fonctionnera de façon
inversée. Voir |ins-reverse|. Cette option peut être inversée avec la
commande CTRL-_ en mode Insertion, lorsque 'allowrevins' est activé.
NOTE : Cette option est désactivée lorsque 'compatible' ou 'paste' est
activé.
*'rightleft'* *'rl'* *'norightleft'* *'norl'*
'rightleft' 'rl' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Si activé, l'orientation de l'affichage devient de droite-à-gauche,
c.-à-d. que les caractères qui sont enregistrés dans le fichier
apparaissent de la droite à la gauche.
L'utilisation de cette option rend possible l'édition de fichiers dans
des langues qui sont écrites de droite à gauche, comme l'arabe ou
l'hébreu.
Cette option est locale à une fenêtre, donc il est possible d'éditer
simultanément des fichiers mixtes, ou de visualiser un même fichier
de deux façons différentes (c'est utile notamment lorsque vous
disposez d'un fichier texte mixte contenant à la fois des chaînes
écrites de droite à gauche et de gauche à droite, afin que chaque
disposition apparaisse convenablement dans une fenêtre différente).
Voir aussi |rileft.txt|.
*'rightleftcmd'* *'rlc'* *'norightleftcmd'* *'norlc'*
'rightleftcmd' 'rlc' chaîne (défaut : "search")
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+rightleft|}
Cette option est une liste d'items. Chaque item permet d'activer le
mode droite-à-gauche lors de l'édition de la ligne de commande pour un
type de commandes particulier :
search commandes de recherche "/" et "?"
C'est utile pour des langues comme l'hébreu, l'arabe et le farsi.
L'option 'rightleft' doit être activée pour que 'rightleftcmd' prenne
effet.
*'ruler'* *'ru'* *'noruler'* *'noru'*
'ruler' 'ru' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cmdline_info|}
Affiche la règle, contenant les numéros de ligne et de colonne de la
position du curseur, séparés par une virgule. Lorsqu'il y a de la
place, la position relative du texte affiché dans le fichier est
donnée tout à droite :
Top la première ligne est visible
Bot la dernière ligne est visible
All la première et la dernière lignes sont visibles
45% position relative dans le fichier
Si 'rulerformat' est fixé, il déterminera le contenu de la règle.
Chaque fenêtre a sa propre règle. Si une fenêtre dispose d'une ligne
d'état, la règle y sera affichée. Sinon, elle sera affichée sur la
dernière ligne de l'écran. Si la ligne d'état est donnée par
'statusline' (c.-à-d. non-vide), cette option prévaudra sur 'ruler' et
'rulerformat'.
Si le nombre de caractères affiché est différent du nombre d'octets
dans le texte (p. ex., à cause d'un <Tab> ou d'un caractère
multi-octets), à la fois la colonne de texte (numéro de l'octet) et la
colonne d'écran sont données, séparés par un tiret.
Pour une ligne vide, "0-1" est affiché.
Pour un tampon vide, le numéro de ligne sera également nul : "0,0-1".
Cette option est désactivée lorsque l'option 'paste' est activée.
Si vous ne souhaitez pas voir la règle en permanence, mais que vous
désirez connaître votre position, utilisez "g CTRL-G" |g_CTRL-G|.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'rulerformat'* *'ruf'*
'rulerformat' 'ruf' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+statusline|}
Lorsque cette option n'est pas vide, elle détermine le contenu de la
règle, telle qu'elle sera affichée par l'option 'ruler'.
Le format de cette option est identique à celui utilisé pour
'statusline'.
La largeur de la règle par défaut est de 17 caractères. Pour la rendre
large de 15 caractères, placez "%15(" au début et "%)" à la fin.
Exemple :
*'runtimepath'* *'rtp'* *vimfiles*
'runtimepath' 'rtp' chaîne (défaut : Unix : "$HOME/.vim,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
$HOME/.vim/after"
Amiga : "home:vimfiles,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
home:vimfiles/after"
PC, OS/2 : "$HOME/vimfiles, XXX PC ?
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
$HOME/vimfiles/after"
Macintosh : "$VIM:vimfiles,
$VIMRUNTIME,
$VIM:vimfiles:after"
RISC OS : "Choices:vimfiles,
$VIMRUNTIME,
Choices:vimfiles/after"
VMS : "sys$login:vimfiles,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
sys$login:vimfiles/after"
global
{absent de Vi}
C'est une liste de répertoires dans lesquels seront recherchés les
fichiers de support :
filetype.vim typage de fichiers par noms |new-filetype|
scripts.vim typage de fichiers par contenus |new-filetype-scripts|
colors/ fichiers de jeux de couleurs |:colorscheme|
compiler/ greffons de compilateurs |:compiler|
doc/ documentation |write-local-help|
ftplugin/ greffons de types de fichiers |write-filetype-plugin|
indent/ scritps d'indentation |indent-expression|
keymap/ fichiers de codages clavier |mbyte-keymap|
lang/ traductions des menus |:menutrans|
menu.vim menus de l'IHM graphique |menu.vim|
plugin/ scripts de greffons |write-plugin| XXX print/ ? bram
syntax/ fichiers de syntaxe |mysyntaxfile|
tutor/ fichiers pour `vimtutor` |tutor|
Y sera également recherché tout fichier donné avec la commande
|:runtime|.
Sur la plupart des systèmes, la valeur par défaut est fixée pour
rechercher à cinq endroits :
1° Dans votre répertoire personnel, pour obtenir vos préférences.
2° Dans le répertoire système de Vim, pour les préférences émanant de
l'administrateur système.
3° Dans $VIMRUNTIME, pour les fichiers distribués avec Vim.
*after-directory*
4° Dans le répertoire "after" situé dans le répertoire système de Vim.
Cela sert à l'administrateur système, pour modifier ou ajouter aux
valeurs par défaut des fichiers distribués (rarement nécessaire).
5° Dans le répertoire "after" situé dans votre répertoire personnel.
Cela vous sert à modifier ou ajouter vos préférences aux valeurs
par défaut des fichiers distribués ou de ceux du répertoire système
(rarement nécessaire).
NOTE : Contrairement à 'path', les jokers comme "**" sont interdits.
Les jokers normaux sont autorisés, mais peuvent ralentir la recherche
des fichiers de support de manière significative. Pour l'accélérer,
utilisez le moins d'éléments possibles et évitez les jokers.
Voir |:runtime|.
Exemple : Ici, le répertoire "~/vimruntime" sera utilisé en premier (il contient
vos fichiers de support personnels), puis "/mongroupe/vim" (fichiers
partagés par un groupe d'utilisateurs) et finalement "$VIMRUNTIME"
(les fichiers de support distribués).
Vous voudrez probablement toujours inclure $VIMRUNTIME, afin de
pouvoir utiliser les fichiers de support distribués. Vous pouvez
placer un répertoire avant $VIMRUNTIME, pour spécifier des fichiers
devant remplacer ceux distribués. Vous pouvez placer un répertoire
après $VIMRUNTIME, pour spécifier des fichiers devant s'ajouter à ceux
distribués.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'scroll'* *'scr'*
'scroll' 'scr' nombre (défaut : moitié de la hauteur de la fenêtre)
local à une fenêtre
Nombre de lignes à faire défiler avec les commandes CTRL-U et CTRL-D.
Sera fixé à la moitié du nombre de lignes de la fenêtre, lorsque la
taille de la fenêtre change.
Si un [quant] est précisé avant CTRL-U ou CTRL-D, il sera utilisé
comme nouvelle valeur pour 'scroll'. Pour revenir à une valeur d'une
demi-fenêtre, saisissez ":set scroll=0".
{Vi est légèrement différent : 'scroll' donne le nombre de lignes
d'écran au lieu du nombre de lignes de fichier, ce qui fait une
différence lorsque les lignes sont enroulées}
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
'scrollbind' 'scb' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+scrollbind|}
Voir aussi |scroll-binding|. Si activé, la fenêtre courante défile en
même temps que les autres fenêtres 'scrollbind' (c.-à-d. où cette
option est activée). Utile pour visualiser les différences entre deux
versions d'un fichier, voir 'diff'.
Voir |'scrollopt'| pour paramétrer le comportement de cette option.
Cette option est généralement désactivée lorsqu'une fenêtre est
partagée pour éditer un nouveau fichier. Cela signifie que
":split | edit fichier" donnera deux fenêtres à défilement lié, mais
pas ":split fichier".
*'scrolljump'* *'sj'*
'scrolljump' 'sj' nombre (défaut : 1)
global
{absent de Vi}
Nombre minimum de lignes à faire défiler lorsque le curseur atteint la
limite de l'écran (p. ex., avec "j"). Cette option n'est pas utilisée
pour les commandes de défilement (p. ex., CTRL-E, CTRL-D). Utile si le
défilement est très lent sur votre terminal.
NOTE : Cette option est fixée à 1 lorsque 'compatible' est activé.
*'scrolloff'* *'so'*
'scrolloff' 'so' nombre (défaut : 0)
global
{absent de Vi}
Nombre minimum de lignes d'écran à garder au-dessus et en dessous du
curseur. Cela vous permet d'avoir toujours un peu de contexte visible
autour de la position courante. Si vous fixez cette option à une
valeur très grande (999), le curseur restera toujours sur la ligne du
milieu de la fenêtre (sauf à la fin ou au début du fichier, ou lorsque
des lignes longues sont enroulées). Sur le défilement horizontal, voir
'sidescrolloff'.
NOTE : Cette option est fixée à 0 lorsque 'compatible' est activé.
*'scrollopt'* *'sbo'*
'scrollopt' 'sbo' chaîne (défaut : "ver,jump")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+scrollbind|}
Cette option est une liste d'items séparés par des virgules, qui
détermine le comportement des fenêtres 'scrollbind' :
ver Lie le défilement vertical des fenêtres 'scrollbind'.
hor Lie le défilement horizontal des fenêtres 'scrollbind'.
jump S'applique au décalage entre deux fenêtres pour le
défilement vertical. Ce décalage est la différence
entre les premières lignes affichées dans les fenêtres
liées. Quand vous vous déplacez dans une fenêtre, une
autre fenêtre 'scrollbind' pourra atteindre une
position située avant le début ou après la fin du
tampon. Le décalage reste cependant le même et cette
fenêtre 'scrollbind' essaiera toujours de défiler vers
la position souhaitée si possible.
Si maintenant cette fenêtre devient la fenêtre
courante, deux comportements sont possibles pour le
décalage relatif :
1. Si "jump" n'est pas inclus, le décalage relatif est
ajusté à la position du défilement dans la nouvelle
fenêtre courante. Lorsque vous revenez à une autre
fenêtre, le nouveau décalage relatif sera utilisé.
2. Si "jump" est inclus, les autres fenêtres défilent
pour conserver le même décalage relatif. Lorsque
vous revenez à une autre fenêtre, elle utilisera
toujours le même décalage relatif.
Voir aussi |scroll-binding|.
*'sections'* *'sect'*
'sections' 'sect' chaîne (défaut : "SHNHH HUnhsh")
global
Spécifie les macros nroff utilisées pour séparer des sections. Ce sont
des paires de deux lettres (voir |object-motions|). La valeur par
défaut fait débuter une section aux macros nroff : ".SH", ".NH", ".H",
".HU", ".nh" et ".sh".
*'secure'* *'nosecure'* *E523*
'secure' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, les commandes ":autocmd", de shell et d'écriture sont
interdites dans les fichiers vimrc et exrc du répertoire courant, et
les commandes de mappages sont affichées.
Ne désactivez cette option que si vous êtes sûr de ne pas rencontrer
de problèmes, ou si 'exrc' est désactivé. Sous Unix, cette option est
utilisée uniquement si vous n'êtes pas le propriétaire du fichier
vimrc ou exrc. Cela peut être dangereux si le système autorise les
utilisateurs à faire un `chown`. Vous avez alors intérêt à activer
'secure' à la fin de votre "~/.vimrc".
Cette option ne peut pas être activée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'selection'* *'sel'*
'selection' 'sel' chaîne (défaut : "inclusive")
global
{absent de Vi}
Cette option définit le comportement de la sélection. Elle est
uniquement utilisée en mode Visuel et en mode Sélection.
Valeurs possibles :
VALEUR APRÈS LA LIGNE INCLUSIVE
old non oui
inclusive oui oui
exclusive oui non
« APRÈS LA LIGNE » signifie que le curseur peut se placer un caractère
après la fin de la ligne.
« INCLUSIVE » signifie que le dernier caractère de la sélection est
inclus dans une opération. Par exemple, lorsque "x" est utilisée pour
couper la sélection.
L'option 'selection' est fixée par la commande |:behave|.
*'selectmode'* *'slm'*
'selectmode' 'slm' chaîne (défaut : "")
global
{absent de Vi}
Cette option est une liste d'items séparés par des virgules, qui
détermine quand lancer le mode Sélection à la place du mode Visuel,
lorsque vous commencez une sélection :
mouse quand la souris est utilisée
key quand une touche spéciale est utilisée avec Maj
cmd quand "v", "V" ou CTRL-V est utilisé
Voir |Select-mode|.
L'option 'selectmode' est fixée par la commande |:behave|.
*'sessionoptions'* *'ssop'*
'sessionoptions' 'ssop' chaîne (défaut : "blank,buffers,curdir,folds,
help,options,winsize")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+mksession|}
Modifie l'effet de la commande |:mksession|. C'est une liste d'items
séparés par des virgules. Chaque item active l'enregistrement et la
restauration d'éléments particuliers :
ITEM ENREGISTRE ET RESTAURE...
blank les fenêtres vides
buffers les tampons cachés et déchargés, pas seulement ceux
dans les fenêtres
curdir le répertoire courant
folds les replis créés à la main, les replis ouverts/fermés
et les options locales de replis
globals les variables globales qui débutent par une
majuscule et contiennent au moins une minuscule
help la fenêtre d'aide
localoptions les options et mappages locaux à une fenêtre ou un
tampon (mais pas les valeurs globales des options
locales)
options tous les mappages et options (également les valeurs
globales des options locales)
resize la taille de la fenêtre Vim : 'lines' et 'columns'
sesdir avec le répertoire dans lequel le fichier de session
est situé comme répertoire courant (utile pour
des projets accessibles par réseau depuis
différents systèmes)
slash avec les contre-obliques dans les noms de fichiers
remplacées par des obliques simples
unix avec le format de fin-de-ligne Unix (<NL> simple),
même sur Windows ou DOS
winpos la position de la fenêtre Vim
winsize les tailles des fenêtres
N'incluez pas à la fois "curdir" et "sesdir".
Si ni "curdir" ni "sesdir" n'est inclus, les noms de fichiers sont
enregistrés avec leurs chemins absolus.
"slash" et "unix" sont utiles sous Windows pour partager des fichiers
de vues avec Unix. La version Unix de Vim ne peut pas sourcer des
scripts au format dos, mais la version Windows peut sourcer des
scripts au format Unix.
*'shell'* *'sh'* *E91*
'shell' 'sh' chaîne (défaut : $SHELL ou "sh",
MS-DOS et Win32 : "command.com" ou "cmd.exe",
OS/2 : "cmd")
global
Nom du shell à utiliser pour les commandes "!" et ":!". Lorsque cette
valeur est modifiée, veuillez vérifier ces options : 'shelltype',
'shellpipe', 'shellslash' 'shellredir', 'shellquote', 'shellxquote' et
'shellcmdflag'.
Il est permis de donner un argument à la commande, p. ex. "csh -f".
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques.
Les variables d'environnement sont étendues |:set_env|.
Si le nom du shell contient un espace, vous devrez l'encadrer entre
doubles-apostrophes. Exemple : Notez la contre-oblique avant chaque double-apostrophe (pour éviter de
débuter un commentaire) et chaque espace (pour éviter de terminer la
valeur de l'option). Notez également que le "-f" n'est pas à
l'intérieur des doubles-apostrophes, car il ne fait pas partie du nom
de la commande. Vim reconnaît automagiquement les contre-obliques qui
sont des séparateurs de chemin.
Sous DOS 32 bits (DJGPP), vous pouvez fixer la variable
d'environnement $DJSYSFLAGS pour changer la façon dont les commandes
externes sont exécutées. Voir le fichier "libc.inf" de DJGPP.
Sous MS-Windows, quand l'exécutable se termine par ".com", ceci doit
être inclut. Ainsi, "command.com" ou "4dos.com" marcheront, mais
"4dos" ne marchera pas pour toutes les commandes (commandes de
filtrage, par exemple).
Pour une raison inconnue, lorsque vous utilisez "4dos.com", le
répertoire courant est changé à "C:\". Pour éviter ceci, fixez 'shell'
ainsi : Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shellcmdflag'* *'shcf'*
'shellcmdflag' 'shcf' chaîne (défaut : "-c", MS-DOS et Win32 si 'shell'
n'inclut pas "sh" : "/c")
global
{absent de Vi}
Commutateur passé au shell pour exécuter les commandes "!" et ":!" ;
par exemple, `bash.exe -c ls` ou `command.com /c dir`. Pour les
systèmes MS-DOS et apparentés, la valeur par défaut est fixée en
fonction de la valeur de 'shell', afin d'éviter à l'utilisateur
d'avoir à le faire à la main. Cette option n'est pas utilisée pour
OS/2 (EMX règle cela lui-même).
Voir |option-backslash| sur l'inclusion d'espaces et de
contre-obliques. Voir aussi |dos-shell|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shellpipe'* *'sp'*
'shellpipe' 'sp' chaîne (défaut : ">", "| tee", "|& tee" ou
"2>&1| tee")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+quickfix|}
Chaîne à utiliser pour diriger la sortie de la commande ":make" dans
le fichier d'erreurs. Voir aussi |:make_makeprg|. Voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques.
Le nom du fichier temporaire peut être représenté par "%s" si
nécessaire (le nom de fichier est ajouté automatiquement si aucun "%s"
n'apparaît dans le valeur de cette option).
Pour Amiga et MS-DOS, la valeur par défaut est ">". La sortie est
directement enregistrée dans un fichier et n'apparaît pas à l'écran.
Pour Unix, la valeur par défaut est "| tee". La sortie standard du
compilateur est enregistrée dans un fichier et affichée à l'écran. Si
l'option 'shell' vaut "csh" ou "tcsh" après les initialisations, la
valeur par défaut devient "|& tee". Si l'option 'shell' vaut "sh",
"ksh", "zsh" ou "bash", la valeur par défaut devient "2>&1| tee". Cela
signifie que stderr sera également inclus.
L'initialisation de cette option est effectuée après la lecture du
fichier vimrc et des autres initialisations, de telle sorte que
lorsque l'option 'shell' y est fixée, l'option 'shellpipe' change
automatiquement, à moins qu'elle n'ait été explicitement fixée
auparavant.
Lorsque 'shellpipe' est fixé à une chaîne vide, aucune redirection de
la sortie de ":make" ne sera faite. C'est utile si vous utilisez un
'makeprg' qui écrit dans 'makeef' par lui-même. Si vous ne désirez pas
utiliser de tubes, mais que vous voulez inclure 'makeef', fixez
'shellpipe' à un espace simple.
N'oubliez pas de faire précéder l'espace par une contre-oblique :
":set sp=\ ".
Dans les versions ultérieures, des tubes pourront être utilisés pour
le filtrage, et cette option deviendra obsolète (au moins pour Unix).
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shellquote'* *'shq'*
'shellquote' 'shq' chaîne (défaut : "", MS-DOS et Win32 si 'shell'
inclut "sh" : "\"")
global
{absent de Vi}
Caractère(s) de protection utilisé(s) pour encadrer la commande passée
au shell, pour les commandes "!" et ":!". La redirection est laissée
en dehors des apostrophes. Voir 'shellxquote' pour inclure la
redirection. Il n'est probablement pas utile de fixer les deux options
ensemble.
Cette option est vide par défaut. Elle n'est utile qu'avec certains
shells sur MS-DOS et apparentés, comme le MKS Korn Shell ou bash, pour
lesquels "\"" devrait être utilisé. La valeur par défaut est ajustée
en fonction de la valeur de 'shell', afin d'éviter à l'utilisateur
d'avoir à le faire à la main. Voir |dos-shell|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shellredir'* *'srr'*
'shellredir' 'srr' chaîne (défaut : ">", ">&" ou ">%s 2>&1")
global
{absent de Vi}
Chaîne à utiliser pour diriger la sortie d'une commande de filtre dans
un fichier temporaire. Voir aussi |:!|. Voir |option-backslash| sur
l'inclusion d'espaces et de contre-obliques.
Le nom du fichier temporaire peut être représenté par "%s" si
nécessaire (le nom de fichier est ajouté automatiquement si aucun "%s"
n'apparaît dans le valeur de cette option).
La valeur par défaut est ">". Pour Unix, si l'option 'shell' vaut
"csh", "tcsh" ou "zsh" après les initialisations, la valeur par défaut
devient ">&". Si l'option 'shell' vaut "sh", "ksh" ou "bash", la
valeur par défaut devient ">%s 2>&1". Cela signifie que stderr est
également inclus.
Pour Win32, en plus des tests Unix, "cmd" est recherché, qui donne
comme valeur par défaut ">%s 2>&1". En outre, les mêmes noms avec les
suffixes ".exe" sont recherchés.
L'initialisation de cette option est effectuée après la lecture de
".vimrc" et des autres initialisations, de telle sorte que lorsque
l'option 'shell' y est fixée, l'option 'shellredir' change
automatiquement, à moins qu'elle n'ait été explicitement fixée avant.
Dans les versions ultérieures, des tubes pourront être utilisés pour
le filtrage, et cette option deviendra obsolète (au moins pour Unix).
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
'shellslash' 'ssl' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement sur MS-DOS, MS-Windows et OS/2}
Si activé, une oblique simple est utilisée lors de l'expansion de noms
de fichiers. C'est utile lorsqu'un shell Unix ou apparenté est utilisé
à la place de command.com ou cmd.exe. Les contre-obliques peuvent
toujours être saisies, mais elles seront remplacées en obliques
simples par Vim.
NOTE : Activer ou désactiver cette option n'a pas d'effet sur les noms
de fichiers existants, ainsi il vaut mieux l'activer avant l'ouverture
de tout fichier pour qu'elle soit efficace. Cela devrait changer dans
une version ultérieure.
'shellslash' ne fonctionne que sur les systèmes où une contre-oblique
peut être utilisée comme séparateur de chemin. Pour savoir si c'est le
cas, utilisez :
*'shelltype'* *'st'*
'shelltype' 'st' nombre (défaut : 0)
global
{absent de Vi}
{uniquement sur Amiga}
Sur Amiga, cette option influence la façon dont le commandes qui
utilisent un shell fonctionnent.
0 et 1 : Utilise toujours le shell.
2 et 3 : N'utilise le shell que pour les commandes de filtre.
4 et 5 : N'utilise le shell que pour la commande ":sh".
Quand le shell n'est pas utilisé, la commande est exécutée
directement.
0 et 2 : Utilise "'shell' 'shellcmdflag' {cmd}" pour lancer les
commandes externes.
1 et 3 : Utilise "'shell' {cmd}" pour lancer les commandes externes.
*'shellxquote'* *'sxq'*
'shellxquote' 'sxq' chaîne (défaut : "",
sur Win32 si 'shell' inclut "sh" : "\"",
sur Unix, si system() est utilisé : "\"")
global
{absent de Vi}
Caractère(s) de protection utilisé(s) pour encadrer la commande passée
au shell, pour les commandes "!" et ":!". Inclut la redirection. Voir
'shellquote' pour exclure la redirection. Il n'est probablement pas
utile de fixer les deux options ensemble.
Cette option est vide par défaut. Elle n'est utile qu'avec certains
shells sur Win32, comme le MKS Korn Shell ou bash, pour lesquels "\""
devrait être utilisé. La valeur par défaut est ajustée en fonction de
la valeur de 'shell', afin d'éviter à l'utilisateur d'avoir à le faire
à la main. Voir |dos-shell|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'shiftround'* *'sr'* *'noshiftround'* *'nosr'*
'shiftround' 'sr' booléen (défaut : désactivé)
global
{absent de Vi}
Arrondit l'indentation à un multiple de 'shiftwidth'. S'applique aux
commandes ">" et "<". CTRL-T et CTRL-D en mode Insertion arrondissent
toujours l'indentation à un multiple de 'shiftwidth' (ce comportement
est compatible Vi).
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'shiftwidth'* *'sw'*
'shiftwidth' 'sw' nombre (défaut : 8)
local à un tampon
Nombre d'espaces à utiliser pour chaque pas d'(auto-)indentation.
Utilisé pour |'cindent'|, |>>|, |<<|, etc.
*'shortmess'* *'shm'*
'shortmess' 'shm' chaîne (défaut Vim : "filnxtToO", défaut Vi : "")
global
{absent de Vi}
Cette option vous aide à éviter toutes les invites Appuyez-sur-entrée
|hit-enter| causées par des messages de fichier (par exemple avec
CTRL-G) et certains autres messages. C'est une liste de drapeaux :
DRAPEAU SIGNIFICATION
f utilise "(3 of 5)" au lieu de "(file 3 of 5)"
i utilise "[noeol]" au lieu de "[Incomplete last line]"
l utilise "999L, 888C" au lieu de "999 lines, 888 characters"
m utilise "[+]" au lieu de "[Modified]"
n utilise "[New]" au lieu de "[New File]"
r utilise "[RO]" au lieu de "[readonly]"
w utilise "[w]" au lieu de "written" pour le message d'écriture
et "[a]" au lieu de "appended" pour la cmd ":w >> fich"
x utilise "[dos]" au lieu de "[dos format]", "[unix]" au lieu
de "[unix format]" et "[mac]" au lieu de "[mac format]".
a toutes les abréviations précédentes ["All"]
o écrase un message d'écriture suivi par un message de lecture
(utile pour ":wn" ou lorsque 'autowrite' est activé)
["Overwrite"]
O un message de lecture écrasera tout message précédent ;
également pour un message mise-au-point (p. ex., ":cn")
s pas de message "search hit BOTTOM, continuing at TOP" ou
"search hit TOP, continuing at BOTTOM"
t tronque un message de fichier au début s'il est trop long
pour la ligne de commande ; "<" apparaîtra dans la
colonne la plus à gauche ; ignoré en mode Ex
T tronque les autres messages en leur milieu s'ils sont trop
longs pour la ligne de commande ; "..." apparaîtra au
milieu ; ignoré en mode Ex
W pas de message "written" ou "[w]" après l'enregistrement
d'un fichier
A pas de message "ATTENTION" qd un fichier d'échange est trouvé
I pas de message d'accueil au démarrage de Vim |:intro|
Cette option vous permet d'éviter qu'un changement de tampon ne
nécessite que vous frappiez <Entree>, mais tout en donnant du message
autant qu'il est possible dans l'espace disponible. Pour obtenir le
message complet tel que vous l'auriez eu avec 'shm' vide, utilisez
":file!".
Valeurs utiles :
shm= pas d'abréviation de message
shm=a abréviation, mais sans perte d'information
shm=at abréviation, et tronque le message si nécessaire
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'shortname'* *'sn'* *'noshortname'* *'nosn'*
'shortname' 'sn' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
{absent des versions MS-DOS}
Les noms de fichiers doivent comporter au maximum 8 caractères plus
une extension de 3 caractères. Les points multiples ne sont pas
autorisés. Lorsque cette option est activée, les points dans les noms
de fichiers sont remplacés par des soulignés '_' quand on rajoute une
extension (".~" ou ".swp").
Cette option n'est pas disponible sur MS-DOS, car elle doit y être
toujours activée. Utile si vous éditez des fichiers sur un système de
fichiers compatible MS-DOS, p. ex., messydos ou crossdos. Cette option
est activée par défaut quand vous lancez la version IHM graphique
Win32 sur Win32s.
*'showbreak'* *'sbr'* *E595*
'showbreak' 'sbr' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+linebreak|}
Chaîne à placer au début des lignes qui doivent être enroulées. "> "
ou "+++ " sont des valeurs intéressantes.
Seuls les caractères imprimables d'une seule cellule sont autorisés, à
l'exception de <Tab> et de la virgule (dans les versions ultérieures,
la virgule pourra servir à séparer ce qui doit être affiché au début
et à la fin de la ligne).
Les caractères sont mis en surbrillance selon le drapeau '@' de
'highlight'.
NOTE : Les tabulations après les caractères de 'showbreak' pourront
être affichées différemment.
Si vous souhaitez que 'showbreak' apparaisse entre les numéros de
lignes, ajoutez le drapeau 'n' à 'cpoptions'.
*'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
'showcmd' 'sc' booléen (défaut Vim : activé, désactivé sur Unix,
défaut Vi : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+cmdline_info|}
Affiche les commandes (partielles) sur la ligne de commande.
Désactivez cette option si votre terminal est lent.
En mode Visuel, la taille de la zone sélectionnée est affichée :
- Lors de la sélection de caractères à l'intérieur d'une ligne, elle
correspond au nombre de caractères.
- Lors de la sélection de plus d'une ligne, elle correspond au nombre
de lignes.
- Lors de la sélection d'un bloc, elle correspond à son nombre de
caractères d'écran : lignes × colonnes.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'showfulltag'* *'sft'* *'noshowfulltag'* *'nosft'*
'showfulltag' 'sft' booléen (défaut : désactivé)
global
{absent de Vi}
Pendant le complètement d'un mot en mode Insertion (voir
|ins-completion|) depuis le fichier de marqueurs, affiche à la fois le
nom du marqueur et une forme arrangée du motif de recherche (s'il y en
a un) comme correspondances possibles. Ainsi, si vous recherchez une
fonction C, vous pouvez voir un prototype donnant les arguments
nécessaires (admis par les règles de codage).
*'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
'showmatch' 'sm' booléen (défaut : désactivé)
global
Lorsqu'un délimiteur est inséré, saute brièvement à sa correspondance.
Le saut est effectué uniquement si la correspondance est visible à
l'écran. Le délai du saut peut être fixé avec 'matchtime'.
Un bip est émis quand il n'y a pas de correspondance (indépendamment
de sa visibilité ou non). Cette option est désactivée lorsque l'option
'paste' est activée. Si le drapeau 'm' n'est pas inclus dans
'cpoptions', la saisie d'un caractère ramènera immédiatement le
curseur à sa position originale.
Voir le champ "sm" de 'guicursor' pour fixer la forme et le
clignotement du curseur sur la correspondance.
NOTE : La forme courte de cette option ne peut être utilisée que
moyennant l'accompagnement par un adulte responsable.
*'showmode'* *'smd'* *'noshowmode'* *'nosmd'*
'showmode' 'smd' booléen (défaut Vim : activé, défaut Vi : désactivé)
global
En mode Insertion, Remplacement ou Visuel, affiche un message sur la
dernière ligne pour indiquer le mode courant. Utilisez le drapeau 'M'
de 'highlight' pour fixer le type de surbrillance pour ce message.
Lorsque |XIM| pourra être utilisé, le message inclura "XIM". Mais cela
ne signifie pas que XIM soit réellement actif, spécialement si
'imactivatekey' n'est pas fixé.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'sidescroll'* *'ss'*
'sidescroll' 'ss' nombre (défaut : 0)
global
{absent de Vi}
Le nombre minimum de colonnes qui défilent horizontalement. Utilisé
uniquement lorsque l'option 'wrap' est désactivée et que le curseur
est déplacé hors de l'écran.
Si fixé à 0, le curseur sera placé au milieu de l'écran. Si vous
utilisez un terminal lent, fixez cette option à un nombre élevé ou à
0. Si vous utilisez un terminal rapide, utilisez un petit nombre ou 1.
Cette option n'est pas utilisée pour les commandes "zh" et "zl".
*'sidescrolloff'* *'siso'*
'sidescrolloff' 'siso' nombre (défaut : 0)
global
{absent de Vi}
Nombre minimum de colonnes d'écran à garder à gauche et à droite du
curseur quand 'nowrap' est activé. Si cette option est fixée à une
valeur supérieure à 0, ainsi que |'sidescroll'|, vous aurez ainsi
toujours un peu de contexte visible dans la ligne où vous défilez
horizontalement (sauf au début et à la fin de la ligne).
Si vous fixez cette option à une valeur très grande (comme 999), le
curseur restera toujours sur la colonne du milieu de la fenêtre, tant
que vous ne vous approcherez pas trop du début ou de la fin de la
ligne.
NOTE : Cette option est fixée à 0 lorsque 'compatible' est activé.
Exemple : essayez ceci avec les valeurs de 'sidescroll' et 'listchars'
pour interdire au curseur de se déplacer sur les caractères
"extends" :
*'smartcase'* *'scs'* *'nosmartcase'* *'noscs'*
'smartcase' 'scs' booléen (défaut : désactivé)
global
{absent de Vi}
Ignore l'option 'ignorecase' si le motif de recherche contient des
majuscules. Uniquement utilisé lorsque le motif de recherche est tapé
et que l'option 'ignorecase' est activée. Utilisé avec les commandes
"/", "?", "n", "N", ":g" et ":s", mais pas avec "*", "#", "gd", les
recherches de marqueurs, etc.
Après "*" et "#", vous pouvez rendre 'smartcase' opérant en saisissant
la commande "/", rappelant le motif de recherche depuis l'historique
et tapant <Entree>.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'smartindent'* *'si'* *'nosmartindent'* *'nosi'*
'smartindent' 'si' booléen (défaut : désactivé)
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+smartindent|}
Utilise une auto-indentation intelligente à l'ouverture d'une nouvelle
ligne. Fonctionne pour les programmes C et apparentés, mais peut
également être utilisé pour d'autres langages.
'cindent' fonctionne d'une façon similaire et souvent meilleure la
plupart du temps, mais il est plus strict, voir |C-indenting|. Lorsque
'cindent' est activé, 'smartindent' est sans effet. 'indentexpr'
représente une alternative plus avancée.
Normalement, 'autoindent' devrait être activé si 'smartindent' l'est.
Une indentation est insérée automatiquement :
- après une ligne se terminant par '{' ;
- après une ligne débutant par un mot-clé inclus dans 'cinwords' ;
- avant une ligne débutant par '}' (uniquement avec la commande "O").
Lorsque '}' est entré comme premier caractère d'une nouvelle ligne,
cette ligne hérite de la même indentation que celle du '{'
correspondant.
Lorsque '#' est entré comme premier caractère d'une nouvelle ligne,
l'indentation de cette ligne est supprimée, le '#' est placé à la
première colonne. L'indentation sera restaurée à la ligne suivante. Si
vous ne souhaitez pas ce comportement, utilisez ce mappage
":inoremap # X^H#", où ^H est entré avec "CTRL-V CTRL-H". Lors de
l'utilisation de la commande ">>", les lignes débutant par '#' ne sont
pas décalées à droite.
NOTE : Cette option est désactivée lorsque 'compatible' est activé ;
elle n'est pas utilisée lorsque 'paste' est activé.
*'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
'smarttab' 'sta' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, un <Tab> au début d'une ligne insère des blancs selon la
valeur de 'shiftwidth'. 'tabstop' est utilisé dans les autres
endroits. Un <RetArr> en début de ligne supprime un nombre d'espaces
équivalant à la valeur de 'shiftwidth'.
Si désactivé, un <Tab> insère toujours des blancs selon la valeur de
'tabstop'. 'shiftwidth' n'est utilisé que lors du décalage de texte à
gauche ou à droite. |shift-left-right|.
Ce qui est inséré (une tabulation ou des espaces) dépend de l'option
'expandtab'. Voir |ins-expandtab|. Si 'expandtab' n'est pas activé, le
nombre d'espaces est minimisé en utilisant des tabulations.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'softtabstop'* *'sts'*
'softtabstop' 'sts' nombre (défaut : 0)
local à un tampon
{absent de Vi}
Nombre d'espaces qu'un <Tab> représentera lors d'opérations d'édition
comme l'insertion d'un <Tab> ou l'utilisation de <RetArr>. L'insertion
de tabulations est « simulée », c.-à-d. qu'un mélange d'espaces et de
tabulations est utilisé. C'est utile si l'on veut laisser 'ts' à sa
valeur standard de 8, tout en étant capable d'éditer comme s'il était
fixé à 'sts'. De toute façon, les commandes comme "x" fonctionnent
toujours sur les caractères effectivement présents.
Si 'sts' vaut 0, cette fonctionnalité est désactivée.
'softtabstop' est fixé à 0 lorsque l'option 'paste' est activée.
Voir aussi |ins-expandtab|. Si 'expandtab' n'est pas activé, le nombre
d'espaces est minimisé en utilisant des tabulations.
NOTE : Cette option est fixée à 0 lorsque 'compatible' est activé.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+windows|}
Si activé, le partage d'une fenêtre placera la nouvelle fenêtre sous
l'ancienne. |:split|
*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
'splitright' 'spr' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
Si activé, le partage d'une fenêtre placera la nouvelle fenêtre à
droite de l'ancienne. |:split|
*'startofline'* *'sol'* *'nostartofline'* *'nosol'*
'startofline' 'sol' booléen (défaut : activé)
global
{absent de Vi}
Si activé, les commandes listées ci-après déplaceront le curseur sur
le premier blanc de la ligne. Si désactivé, le curseur est laissé dans
la même colonne (si possible).
Cela s'applique aux commandes : CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G",
"H", "M", "L", aux commandes "d", "<<" et ">>" avec un opérateur par
lignes, à "%" avec un [quant] et aux commandes de changement de tampon
(CTRL-^, :bnext, :bNext, etc.). Également aux commandes Ex constituées
uniquement d'une adresse de ligne, p. ex., ":25" ou ":+".
Dans le cas des commandes de changement de tampon, le curseur est
placé sur la colonne où il était la dernière fois que le tampon a été
édité.
NOTE : Cette option est activée lorsque 'compatible' est activé.
*'statusline'* *'stl'* *E540* *E541* *E542*
'statusline' 'stl' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+statusline|}
Si non-vide, cette option détermine le contenu de la ligne d'état.
Voir aussi |status-line|.
L'option consiste en une suite d'éléments de style printf '%'
mélangés avec du texte normal. Chaque élément de la ligne d'état est
de la forme :
%-0[largmin].[largmax]{item}
Tous les champs sont optionnels, sauf {item}. Un symbole pourcent
simple peut être donné par "%%".
NOTE : Le seul effet de 'ruler' lorsque cette option est activée (et
que 'laststatus' vaut 2) est de contrôler la sortie de |CTRL-G|.
CHAMP SIGNIFICATION
- Justifie l'item à gauche. Par défaut, il est justifié à
droite lorsque largmin est plus plus grand que la longueur
de l'item.
0 Zéros initiaux pour les items numériques. Ignoré si '-'
est précisé.
largmin Largeur minimum de l'item ; le remplissage est déterminé
par '-' et '0'. La valeur doit être inférieure ou égale à
50.
largmax Largeur maximum de l'item. La troncation est indiquée par
un '<' à gauche pour les items de texte. Les items
numériques seront réduits à largmax - 2 chiffres, suivis
par '>'nombre, où nombre désigne le nombre de chiffres
manquants, un peu comme une notation exponentielle.
item Un des caractères simples décrits ci-dessous.
Le tableau suivant contient la description des items possibles pour la
ligne d'état. Le second caractère dans « ITEM » est son type :
N pour un nombre
C pour une chaîne
D pour un drapeau comme décrit ci-dessous
- pas applicable
ITEM SIGNIFICATION
f C Chemin du fichier dans le tampon, relatif au répertoire courant.
F C Chemin absolu du fichier dans le tampon.
t C Nom du fichier dans le tampon. ["Tail"]
m D Drapeau « modifié », le texte vaut " [+]" ou " [-]" si
'modifiable' est désactivé.
M D Drapeau « modifié », le texte vaut ",+" ou ",-".
r D Drapeau « lecture seule », le texte vaut " [RO]". ["Read-Only"]
R D Drapeau « lecture seule », le texte vaut ",RO".
h D Drapeau « tampon d'aide », le texte vaut " [help]".
H D Drapeau « tampon d'aide », le texte vaut ",HLP".
w D Drapeau « fenêtre d'aperçu », le texte vaut " [Preview]".
["Window"]
W D Drapeau « fenêtre d'aperçu », le texte vaut ",PRV".
y D Type du fichier dans le tampon, p. ex., " [vim]". Cf. 'filetype'.
Y D Type du fichier dans le tampon, p. ex., ",VIM". Cf. 'filetype'.
{uniquement si compilé avec la fonctionnalité |+autocmd|}
k C Valeur de "b:keymap_name" ou 'keymap' lorsque les mappages
|:lmap| ont été utilisés.
n N Numéro du tampon.
b N Valeur de l'octet sous le curseur. ["Byte"]
B N Idem, en hexadécimal.
o N Numéro dans le fichier de l'octet sous le curseur, le premier
octet valant 1. ["Offset from start"]
{uniquement si compilé avec la fonctionnalité |+byte_offset|}
O N Idem, en hexadécimal.
N N Numéro de page imprimante. (Fonctionne uniquement dans l'option
'printheader'.)
l N Numéro de ligne.
L N Nombre de lignes dans le tampon.
c N Numéro de colonne.
v N Numéro de colonne virtuelle.
V N Numéro de colonne virtuelle donné sous forme "-{no}". Non
affiché si égal à 'c'.
p N Pourcentage du fichier en lignes comme dans |CTRL-G|.
P C Pourcentage du fichier de la fenêtre affichée. C'est comme le
pourcentage décrit pour 'ruler'. Toujours long de 3 caractères.
a C Position dans la liste des arguments comme dans le titre par
défaut ("{courant} of {max}"). Vide si le nombre d'arguments de
fichiers vaut 0 ou 1.
{ ND Évalue l'expression entre '{' et '}' et substitue le résultat.
( - Début d'un groupe d'items. Peut être utilisé pour fixer la
largeur et l'alignement d'une section. Doit être suivi par un %)
quelque part.
) - Fin d'un groupe d'items. Aucun champ de largeur autorisé.
< - Endroit où tronquer une ligne trop longue. Par défaut, c'est au
début. Aucun champ de largeur autorisé.
= - Point de séparation entre les items alignés à gauche ou à
droite. Aucun champ de largeur autorisé.
* - Utilise le groupe de surbrillance User{N}, où {N} est pris dans
le champ largmin (p. ex., %1* pour User1). Restaure la
surbrillance normale avec %* ou %0*. La différence entre User{N}
et StatusLine sera appliquée au groupe StatusLineNC pour la
ligne d'état des fenêtres non-courantes.
Le nombre N doit être compris entre 1 et 9. Voir |hl-User1..9|.
L'affichage des drapeaux est contrôlé par les règles suivantes :
Si le texte d'un drapeau débute par une virgule, on considère qu'il
est à séparer de tout sauf du texte normal qui précède ; s'il débute
par un espace, on considère qu'il est à séparer de tout sauf des
autres drapeaux. C'est-à-dire : une virgule initiale est supprimée si
le caractère précédent provient du texte normal ; un espace initial
est supprimé si le caractère précédent provient d'un autre drapeau.
Cela produira un affichage agréable lorsque les drapeaux sont utilisés
comme dans les exemples ci-dessous.
Lorsque tous les items dans un groupe deviennent une chaîne vide
(c.-à-d. que le texte des drapeaux est vide) et que largmin n'est pas
fixé pour le groupe, le groupe entier deviendra vide. Cela entraîne la
disparition d'un groupe comme le suivant lorsque tous ses drapeaux
sont vides.
Remarquez bien qu'une expression est évaluée à chaque réaffichage de
la ligne d'état. Le tampon courant et la fenêtre courante seront fixés
temporairement au tampon (et à la fenêtre) dont la ligne d'état est en
cours de rafraîchissement. L'expression sera évaluée dans ce contexte.
La variable "actual_curbuf" est fixée au numéro "bufnr()" du véritable
tampon courant. L'expression est évaluée dans le bac à sable
|sandbox|.
Si la ligne d'état n'est pas mise à jour quand vous le voulez (p. ex.,
après avoir fixé une variable utilisée dans une expression), vous
pouvez forcer cette mise à jour en fixant une option sans changer sa
valeur. Exemple :
Un résultat composé d'une suite de chiffres est considéré comme un
nombre pour les besoins de l'affichage. Sinon, un résultat est pris
comme texte d'un drapeau et les règles données ci-dessus s'y
appliquent.
Attention aux erreurs dans les expressions. Elles peuvent rendre Vim
inutilisable ! Si vous êtes bloqué, maintenez ':' ou 'Q' enfoncés pour
obtenir une invite, puis quittez et éditez votre fichier vimrc ou
autre avec `vim -u NONE` pour pouvoir travailler.
Exemples : Imite la ligne d'état standard avec 'ruler' activé. Idem, mais ajoute la valeur ASCII du caractère sous le
curseur (comme "ga"). Affiche la valeur de l'octet courant et son numéro, ainsi
que le drapeau « modifié » en rouge. Affiche un drapeau ",GZ" si un fichier compacté est
chargé. Vous devrez également placer et dans les |:autocmd| appropriées, et définir cette
fonction :
*'suffixes'* *'su'*
'suffixes' 'su' chaîne (défaut : ".bak,~,.o,.h,.info,.swp,.obj")
global
{absent de Vi}
Les fichiers avec ces suffixes ont une priorité plus faible en cas de
correspondances multiples dans un motif d'englobement. Voir
|suffixes|. Des virgules peuvent être utilisées pour séparer les
suffixes. Les espaces après les virgules sont ignorés. Un point est
également considéré comme le début d'un suffixe. Pour éviter qu'un
point ou une virgule ne soit reconnu comme un séparateur, faites-le
précéder par une contre-oblique (voir |option-backslash| sur
l'inclusion d'espaces et de contre-obliques).
Voir 'wildignore' pour ignorer complètement des fichiers.
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de suffixes dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
*'suffixesadd'* *'sua'*
'suffixesadd' 'sua' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+file_in_path|}
Liste de suffixes séparés par des virgules, qui sont utilisés lors de
la recherche de fichiers avec les commandes "gf", "[I", etc.
Exemple :
*'swapfile'* *'swf'* *'noswapfile'* *'noswf'*
'swapfile' 'swf' booléen (défaut : activé)
local à un tampon
{absent de Vi}
Utilise un fichier d'échange pour le tampon. Cette option peut être
désactivée si un fichier d'échange n'est pas voulu pour un tampon. Par
exemple, pour des informations confidentielles auxquelles même root ne
doit pas avoir accès.
Attention : Tout le texte sera en mémoire, aussi :
- n'utilisez pas ceci pour des fichiers trop gros ;
- le recouvrement sera impossible !
Un fichier d'échange sera présent uniquement si |'updatecount'| est
non-nul et si 'swapfile' est activé.
Lorsque 'swapfile' est désactivé, le fichier d'échange pour le tampon
courant est immédiatement supprimé. Lorsque 'swapfile' est activé, et
que 'updatecount' est non-nul, un fichier d'échange est immédiatement
créé.
Voir aussi |swap-file| et |'swapsync'|.
Cette option est utilisée en conjonction avec 'bufhidden' et 'buftype'
pour spécifier des types de tampons spéciaux. Voir |special-buffers|.
*'swapsync'* *'sws'*
'swapsync' 'sws' chaîne (défaut : "fsync")
global
{absent de Vi}
Lorsque cette option n'est pas vide, un fichier d'échange est
synchronisé sur le disque après qu'on y a écrit. Cela prend du temps,
en particulier sur les systèmes Unix chargés. Quand cette option est
vide, des parties du fichier d'échange pourront rester en mémoire et
ne pas être écrites sur le disque. Si le système plante, vous risquez
de perdre votre travail.
Sur Unix, le système effectue régulièrement des synchronisations sans
que Vim ait à le demander, ainsi le désavantage de la désactivation de
cette option est faible. Sur certains systèmes, le fichier d'échange
ne sera pas du tout écrit. Pour un système Unix, une valeur de "sync"
utilisera l'appel sync() au lieu du défaut fsync(), qui peut
fonctionner mieux sur certains systèmes.
*'switchbuf'* *'swb'*
'switchbuf' 'swb' chaîne (défaut : "")
global
{absent de Vi}
Cette option contrôle le comportement lors du passage d'un tampon à un
autre. C'est une liste d'items séparés par des virgules :
useopen Si inclus, saute à la première fenêtre ouverte qui
contient le tampon spécifié (s'il y en a une).
Sinon : n'examine pas les autres fenêtres.
Cet item est utilisé avec les commandes mise-au-point
|quickfix|, pour sauter vers les erreurs (":cc",
":cn", "cp", etc.). Il est également utilisé avec
toutes les commandes de partage concernant des
tampons, par exemple ":sbuffer", ":sbnext", ou
":sbrewind".
split Si inclus, partage la fenêtre courante avant le
chargement d'un tampon.
Sinon : ne partage pas, utilise la fenêtre courante.
Supporté dans les commandes mise-au-point |quickfix|
qui affichent les erreurs.
*'syntax'* *'syn'*
'syntax' 'syn' chaîne (défaut : "")
local à un tampon
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+syntax|}
Si fixé, la syntaxe portant ce nom est chargée, à moins que la
coloration syntaxique n'ait été désactivée avec ":syntax off". Sinon,
cette option ne reflète pas toujours la syntaxe courante (pour cela,
voir la variable "b:current_syntax").
Cette option est surtout utile dans une ligne de mode, pour un fichier
qui n'est pas automatiquement reconnu. Par exemple, pour un fichier
IDL :
/* vim: set syntax=idl : */
Pour désactiver la coloration syntaxique pour le fichier courant,
utilisez : Pour activer la coloration syntaxique selon la valeur courante de
l'option 'filetype' : En fait, quand vous fixez l'option 'syntax', l'événement
d'autocommande Syntax est déclenché avec la valeur comme argument.
Cette option n'est pas copiée dans un autre tampon, indépendamment du
drapeau 's' ou 'S' dans 'cpoptions'.
*'tabstop'* *'ts'*
'tabstop' 'ts' nombre (défaut : 8)
local à un tampon
Nombre d'espaces que vaut une tabulation dans un fichier. Voir aussi
la commande |:retab| et l'option 'softtabstop'.
NOTE : Si vous fixez 'tabstop' à une valeur autre que 8, votre fichier
risque de mal ressortir à de nombreux endroits (p. ex., lors de
l'impression).
Il y a quatre façons principales d'utiliser les tabulations dans Vim :
1. Toujours laisser 'tabstop' à 8, fixer 'softtabstop' et 'shiftwidth'
à 4 (ou 3 ou ce que vous préférez) et utiliser 'noexpandtab'. Dans
ce cas, Vim utilisera un mélange de tabulations et d'espaces, mais
la saisie de <Tab> ou de <RetArr> fera comme si une tabulation
apparaissait tous les 4 (ou 3) caractères.
2. Fixer 'tabstop' et 'shiftwidth' à votre valeur préférée, et
utiliser 'expandtab'. De cette façon, vous n'insérerez que des
espaces. La mise en forme du texte ne sera pas affectée si
'tabstop' est changé.
3. Fixer 'tabstop' et 'shiftwidth' à votre valeur préférée, et
utiliser une ligne de mode |modeline| pour retrouver ces valeurs
lors de la prochaine édition du fichier. Fonctionne uniquement
lorsque Vim est utilisé pour éditer le fichier.
4. Toujours laisser 'tabstop' et 'shiftwidth' à la même valeur, et
utiliser 'noexpandtab'. Cela devrait être compatible (pour
l'indentation initiale seulement) avec n'importe quel paramétrage
de tabulation que les gens utilisent. Si vous utilisez ceci, il
vous sera sans doute agréable que les tabulations après le premier
non-blanc soient insérés en tant qu'espaces. Sinon, les
commentaires alignés apparaîtront mal si 'tabstop' est changé.
*'tagbsearch'* *'tbs'* *'notagbsearch'* *'notbs'*
'tagbsearch' 'tbs' booléen (défaut : activé)
global
{absent de Vi}
Lors de la recherche d'un marqueur (p. ex., avec la commande |:tag|),
Vim peut utiliser soit une recherche binaire, soit une recherche
linéaire dans un fichier de marqueurs. La recherche binaire permet de
trouver un marqueur BEAUCOUP plus rapidement, mais une recherche
linéaire trouvera plus de marqueurs si le fichier de marqueurs n'a pas
été trié correctement.
Vim suppose que vos fichiers de marqueurs sont triés par défaut, ou
mentionnent qu'ils ne le sont pas. Ce n'est que dans le cas contraire
que l'option 'tagbsearch' doit être désactivée.
Si 'tagbsearch' est activé, la recherche binaire est utilisée en
premier dans les fichiers de marqueurs. Dans certaines situations, Vim
effectuera une recherche linéaire pour certains fichiers, ou relancera
une recherche linéaire dans tous les fichiers.
Si 'tagbsearch' est désactivé, seule une recherche linéaire sera
effectuée.
Une recherche linéaire est faite de toute façon, pour un fichier,
lorsque Vim trouve une ligne au début du fichier indiquant qu'il n'est
pas trié : (L'espace blanc avant et après le '0' doit être une <Tab>ulation
simple.)
Quand une recherche binaire a été effectuée et qu'aucune
correspondance dans aucun fichier listé dans 'tags' n'a été trouvée,
et que 'ignorecase' est activé ou qu'un motif est utilisé au lieu d'un
nom de marqueur normal, la recherche est relancée mais en mode
linéaire. Les marqueurs dans les fichiers non triés et les
correspondances de casse différente ne seront trouvés qu'avec ce
nouvel essai.
Si un fichier de marqueurs mentionne qu'il a été trié de façon
insensible à la casse, la deuxième recherche (linéaire) peut être
évitée lorsque 'ignorecase' est activé. Utilisez pour cela la valeur
'2' dans la ligne "!_TAG_FILE_SORTED". Il est possible d'effectuer un
tri insensible à la casse en passant le commutateur "-f" à `sort` dans
la plupart des Unix, comme dans la commande : `sort -f -o tags tags`.
Pour "Exuberant ctags" version 5.3 ou supérieure, le commutateur "-f"
ou --fold-case-sort peut aussi être utilisé pour cela. NOTE : Le tri
doit placer les minuscules avant leurs homologues majuscules pour que
cela fonctionne correctement.
Lorsque 'tagbsearch' est désactivé, la recherche de marqueurs est plus
lente quand une correspondance entière existe, mais plus rapide quand
il n'y en a pas. Les marqueurs dans des fichiers de marqueurs non
triés ne peuvent être trouvés que si 'tagbsearch' est désactivé.
Lorsque le fichier de marqueurs n'est pas trié, ou mal trié (pas selon
la valeur d'octet ASCII), 'tagbsearch' devrait être désactivé, ou bien
la ligne donnée ci-dessus incluse dans le fichier de marqueurs.
Cette option n'affecte pas les commandes qui recherchent tous les
marqueurs correspondants (p. ex., le complètement de la ligne de
commande et ":help").
{Vi : la recherche binaire est toujours utilisée dans certaines
versions}
*'taglength'* *'tl'*
'taglength' 'tl' nombre (défaut : 0)
global
Si non-nul, les marqueurs sont pris en compte jusqu'à ce nombre de
caractères.
*'tagrelative'* *'tr'* *'notagrelative'* *'notr'*
'tagrelative' 'tr' booléen (défaut Vim : activé, défaut Vi : désactivé)
global
{absent de Vi}
Si activé et que vous utilisez un fichier de marqueurs dans un autre
répertoire, les noms de fichiers dans ce fichier de marqueurs seront
relatifs au répertoire où il est situé.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'tags'* *'tag'* *E433*
'tags' 'tag' chaîne (défaut : "./tags,tags", si compilé avec
|+emacs_tags| : "./tags,./TAGS,tags,TAGS")
global ou local à un tampon |global-local|
Noms de fichiers pour la commande ":tag", séparés par des espaces ou
des virgules. Pour inclure un espace ou une virgule dans un nom de
fichier, faites-le précéder par une contre-oblique (voir
|option-backslash| sur l'inclusion d'espaces et de contre-obliques).
Quand un nom de fichier débute par "./", le '.' est remplacé par le
répertoire du fichier courant. Mais uniquement si le drapeau 'd' n'est
pas présent dans 'cpoptions'. Les variables d'environnement sont
étendues |:set_env|. Voir aussi |tags-option|.
"*", "**" et les autres jokers peuvent être utilisés pour rechercher
des fichiers de marqueurs dans une arborescence de répertoires. Voir
|file-searching|. {uniquement si compilé avec la fonctionnalité
|+path_extra|}
Si Vim a été compilé avec la fonctionnalité |+emacs_tags|, les
fichiers de marqueurs de style Emacs sont également supportés. Ils
sont automatiquement reconnus. La valeur par défaut devient
"./tags,./TAGS,tags,TAGS", à moins que les différences de casse ne
soient ignorées (MS-Windows). |emacs-tags|
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de noms de fichiers dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
{Vi : la valeur par défaut est "tags /usr/lib/tags"}
*'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
'tagstack' 'tgst' booléen (défaut : activé)
global
{uniquement dans certaines versions de Vi}
Si activé, la pile de marqueurs |tagstack| est utilisée normalement.
Si désactivé, une commande ":tag" ou ":tselect" avec un argument
n'empilera pas le marqueur. Un ":tag" suivant sans argument, un ":pop"
ou n'importe quelle autre commande qui utilise la pile de marqueurs
utilisera une pile inchangée, mais placera le pointeur sur l'entrée
active.
Désactiver cette option est utile lors de l'utilisation de la commande
":tag" dans un mappage qui ne doit pas modifier la pile de marqueurs.
*'term'* *E529* *E530* *E531*
'term' chaîne (défaut : $TERM, ou si cela échoue :
dans l'IHM graphique : "builtin_gui"
sur Amiga : "amiga"
sur BeOS : "beos-ansi"
sur Mac : "mac-ansi"
sur MiNT : "vt52"
sur MS-DOS : "pcterm"
sur OS/2 : "os2ansi"
sur Unix : "ansi"
sur VMS : "ansi"
sur Win32 : "win32")
global
Nom du terminal. Utilisé pour déterminer les caractères de contrôle du
terminal. Les variables d'environnement sont étendues |:set_env|.
Par exemple : Voir |termcap|.
*'termbidi'* *'tbidi'* *'notermbidi'* *'notbidi'*
'termbidi' 'tbidi' booléen (défaut : désactivé, activé pour "mlterm")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+arabic|}
The terminal is in charge of Bi-directionality of text (as specified
by Unicode). The terminal is also expected to do the required shaping
that some languages (such as Arabic) require. XXX
L'activation de cette option implique que 'rightleft' ne sera pas
activé lorsque 'arabic' est activé, et que la valeur de 'arabicshape'
sera ignorée.
NOTE : L'activation de 'termbidi' a comme effet immédiat de faire
ignorer 'arabicshape', mais 'rightleft' n'est pas modifié
automatiquement.
Cette option est réinitialisée lorsque l'IHM graphique est lancée.
Pour plus de détails, voir |arabic.txt|.
*'termencoding'* *'tenc'*
'termencoding' 'tenc' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+multi_byte|}
Encodage utilisé pour le terminal. Cela définit quel encodage de
caractères le clavier produit et l'affichage rend. Pour l'IHM
graphique, cela s'applique uniquement au clavier ('encoding' est
utilisé pour l'affichage).
*E617*
NOTE : Cette option ne s'applique pas à l'IHM graphique GTK+ 2. Une
fois celle-ci initialisée avec succès, 'termencoding' est fixé
d'office à "utf-8". Toute tentative pour utiliser une valeur
différente sera refusée et provoquera l'affichage d'un message
d'erreur.
Si vide, le même encodage est utilisé que pour l'option 'encoding'.
C'est la valeur normale.
Toutes les combinaisons pour 'termencoding' et 'encoding' ne sont pas
valides. Voir |encoding-table|.
La valeur de cette option doit être supportée par iconv(). Si iconv()
ne peut pas prendre cette valeur, aucune conversion ne sera faite et
vous connaîtrez probablement des problèmes avec les caractères
non-ASCII.
Exemple : vous travaillez avec la région linguistique fixée à euc-jp
(japonais) et vous souhaitez éditer un fichier UTF-8 : Vous devez faire cela lorsque votre système n'a pas de support pour
une région linguistique UTF-8.
*'terse'* *'noterse'*
'terse' booléen (défaut : désactivé)
global
Si activé : ajoute le drapeau 's' à l'option 'shortmess' (cela occulte
l'affichage du message pour une recherche qui a atteint le début ou la
fin du fichier).
Si désactivé : supprime le drapeau 's' de l'option 'shortmess'.
{Vi : raccourcit de nombreux messages}
*'textauto'* *'ta'* *'notextauto'* *'nota'*
'textauto' 'ta' booléen (défaut Vim : activé, défaut Vi : désactivé)
global
{absent de Vi}
Cette option est obsolète. Utilisez 'fileformats'.
Pour des raisons de compatibilité ascendante, lorsque 'textauto' est
activé, 'fileformats' est fixé à la valeur par défaut pour le système
courant. Lorsque 'textauto' est désactivé, 'fileformats' est rendu
vide.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'textmode'* *'tx'* *'notextmode'* *'notx'*
'textmode' 'tx' booléen (défaut : sur MS-DOS, Win32 et OS/2 : activé,
autres : désactivé)
local à un tampon
{absent de Vi}
Cette option est obsolète. Utilisez 'fileformat'.
Pour des raisons de compatibilité ascendante, lorsque 'textmode' est
activé, 'fileformat' est fixé à "dos". Lorsque 'textmode' est
désactivé, 'fileformat' est fixé à "unix".
*'textwidth'* *'tw'*
'textwidth' 'tw' nombre (défaut : 0)
local à un tampon
{absent de Vi}
Largeur maximum du texte en cours d'insertion. Une ligne plus longue
est coupée après un espace blanc pour obtenir cette largeur. Une
valeur de zéro annule cela. 'textwidth' est fixé à 0 lorsque l'option
'paste' est activée.
Si 'textwidth' vaut 0, 'wrapmargin' peut être utilisé. Voir aussi
'formatoptions' et |ins-textwidth|.
NOTE : Cette option est fixée à 0 lorsque 'compatible' est activé.
*'thesaurus'* *'tsr'*
'thesaurus' 'tsr' chaîne (défaut : "")
global ou local à un tampon |global-local|
{absent de Vi}
Liste de noms de fichiers, séparés par des virgules, qui sont utilisés
pour rechercher des mots avec des commandes de complètement thésaurus
|i_CTRL-X_CTRL-T|. Chaque ligne dans un fichier doit contenir des mots
synonymes ou regroupés par familles, et séparés par des caractères
non-mots-clés (espaces blancs de préférence). Une ligne ne peut
dépasser 510 octets.
Pour obtenir un fichier utilisable ici, consultez la FAQ sur
"http://www.hyphenologist.co.uk/".
Pour inclure une virgule dans un nom de fichier, faites-la précéder
d'une contre-oblique. Les espaces sont ignorés après les virgules,
sinon ils sont inclus dans le nom de fichier. Voir |option-backslash|
sur l'utilisation des contre-obliques.
L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression de répertoires dans cette liste. Cela évitera des
problèmes si une version ultérieure utilise une valeur par défaut
différente.
Les contre-apostrophes ne peuvent pas être utilisées dans cette
option, pour des raisons de sécurité.
*'tildeop'* *'top'* *'notildeop'* *'notop'*
'tildeop' 'top' booléen (défaut : désactivé)
global
{absent de Vi}
Si activé, la commande tilde "~" se comporte comme un opérateur.
NOTE : Cette option est désactivée lorsque 'compatible' est activé.
*'timeout'* *'to'* *'notimeout'* *'noto'*
'timeout' 'to' booléen (défaut : activé)
global
*'ttimeout'* *'nottimeout'*
'ttimeout' booléen (défaut : désactivé)
global
{absent de Vi}
Ces options déterminent toutes deux le comportement à adopter
lorsqu'une partie d'une séquence mappée ou d'un code clavier est
reçue :
'timeout' 'ttimeout' ACTION
désactivé désactivé n'active pas de délai
activé activé ou non délai pour les mappages et codes clavier
désactivé activé délai pour les codes clavier
Si ces deux options sont désactivées, Vim attendra soit jusqu'à ce que
le mappage ou la séquence clavier complète aient été reçus, soit
jusqu'à ce qu'il soit avéré qu'il n'y a plus de mappage ou code
clavier correspondant aux caractères reçus. Exemple : si vous avez
mappé "vl" et que Vim reçoive 'v', le caractère suivant est nécessaire
pour déterminer si 'v' est suivi par 'l'.
Si une de ces options est activée, Vim attendra environ 1 seconde que
le caractère suivant arrive. Ensuite, les caractères déjà reçus seront
interprétés comme des caractères simples. Ce délai d'expiration peut
être modifié avec l'option 'timeoutlen'.
Sur les terminaux lents ou les systèmes très chargés, l'utilisation
d'un délai peut entraîner un dysfonctionnement des touches fléchées.
Si les deux options sont désactivées, Vim attendra après que <Echap>
aura été saisi si des codes clavier débutent par <Echap>. Vous devrez
alors saisir <Echap> deux fois. Si vous n'avez pas de problème avec
les codes de touches, mais que vous ne souhaitez pas qu'une séquence
de mappage expire après 1 seconde, activez 'ttimeout' et désactivez
'timeout'.
NOTE : 'ttimeout' est désactivé lorsque 'compatible' est activé.
*'timeoutlen'* *'tm'*
'timeoutlen' 'tm' nombre (défaut : 1000)
global
{uniquement dans certaines versions de Vi}
*'ttimeoutlen'* *'ttm'*
'ttimeoutlen' 'ttm' nombre (défaut : -1)
global
{absent de Vi}
Délai (en millisecondes) avant l'expiration d'un code clavier ou d'une
séquence mappée. Normalement, seul 'timeoutlen' est utilisé,
'ttimeoutlen' vaut -1. Mais si une valeur d'expiration différente est
souhaitée pour un code clavier, fixez 'ttimeoutlen' à une valeur
non-négative.
'ttimeoutlen' DÉLAI MAPPAGES DÉLAI SÉQUENCES CLAVIER
< 0 'timeoutlen' 'timeoutlen'
>= 0 'timeoutlen' 'ttimeoutlen'
Le délai n'est pris en compte que si les options 'timeout' et
'ttimeout' l'autorisent. Voici un paramétrage judicieux : (Le délai est de 3 secondes pour un mappage et d'un dixième de seconde
pour un code clavier.)
*'title'* *'notitle'*
'title' booléen (défaut : désactivé, activé si le titre peut
être restauré)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Si activé, le titre de la fenêtre sera fixé à la valeur de
'titlestring' (s'il n'est pas vide), ou à :
nomfich [+=-] (chemin) - VIM
Où :
nomfich désigne le nom du fichier en cours d'édition
- indique que le fichier ne peut pas être
modifié ('ma' désactivé)
+ indique que le fichier a été modifié
= indique que le fichier est en lecture seule
=+ indique que le fichier est en lecture seule et
a été modifié
(chemin) désigne le chemin du fichier en cours d'édition
- VIM le nom du serveur |v:servername| ou "VIM"
Fonctionne uniquement si le terminal supporte le paramétrage du titre
de la fenêtre (c'est le cas actuellement pour les consoles Amiga, les
consoles Win32 et toutes les versions IHM graphiques, ainsi que les
terminaux avec une option 't_ts' non-vide -- cela concerne les xterm
Unix et iris-ansi par défaut, où 't_ts' est pris depuis le termcap
interne).
*X11*
Si Vim a été compilé avec HAVE_X11 défini, le titre original sera
restauré si possible. La sortie de ":version" inclura "+X11" si
HAVE_X11 a été défini, sinon il y aura "-X11". Cela fonctionne aussi
pour le titre de l'icône |'icon'|.
Mais : lorsque Vim a été lancé avec l'argument |-X|, la restauration
du titre ne marchera pas (sauf dans l'IHM graphique).
Si le titre ne peut pas être restauré, il est fixé à la valeur de
'titleold'. Vous voudrez alors peut-être le restaurer en dehors de
Vim par la suite.
Si vous utilisez un xterm depuis une machine distante, vous pouvez
essayer cette commande : Ainsi, vous devriez hériter de la variable d'environnement WINDOWID
et le titre de la fenêtre devrait revenir à sa valeur normale après la
sortie de Vim.
*'titlelen'*
'titlelen' nombre (défaut : 85)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Donne le pourcentage de 'columns' à utiliser pour la longueur du titre
de la fenêtre. Si le titre est plus long, seule la fin du nom de
chemin sera montrée. Un caractère '<' avant le nom de chemin
apparaîtra pour indiquer cette troncature.
L'utilisation d'un pourcentage permet d'être adapté à la largeur de la
fenêtre. Mais cela ne marche pas parfaitement, car le nombre de
caractères disponibles dépend aussi de la police utilisée pour le
titre et des décorations de la barre de titre.
Lorsque 'titlelen' vaut 0, le chemin complet est utilisé. Sinon, des
valeurs entre 1 et 30000 peuvent être spécifiées.
'titlelen' est également utilisé pour l'option 'titlestring'.
*'titleold'*
'titleold' chaîne (défaut : "Thanks for flying Vim")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Cette option sera utilisée pour le titre de la fenêtre à la sortie de
Vim, si le titre original ne peut pas être restauré. Cela ne se
produit que si l'option 'title' est activée ou si 'titlestring' n'est
pas vide.
*'titlestring'*
'titlestring' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+title|}
Lorsque cette option n'est pas vide, elle est utilisée pour le titre
de la fenêtre. Cela ne se produit que si l'option 'title' est activée.
Fonctionne uniquement si le terminal supporte le paramétrage du titre
de la fenêtre (c'est le cas actuellement pour les consoles Amiga, les
consoles Win32 et toutes les versions IHM graphiques, ainsi que les
terminaux avec une option 't_ts' non-vide).
Si Vim a été compilé avec HAVE_X11 défini, le titre original sera
restauré si possible |X11|.
Lorsque cette option contient des éléments de style printf '%', ils
seront étendus suivant les règles en usage pour 'statusline'.
Exemple : La valeur de 'titlelen' est utilisée pour centrer les éléments au
milieu ou les aligner à droite dans l'espace disponible.
Certains préfèrent voir apparaître le nom de fichier en premier : Remarque : L'utilisation de "%{ }" et d'une expression permet d'avoir
le chemin d'un fichier sans le nom du fichier. Les constructions
"%( %)" sont utilisées pour placer des espaces de séparation où c'est
nécessaire.
NOTE : L'utilisation de caractères spéciaux dans 'titlestring' peut
provoquer le salissement de l'écran (p. ex., lorsqu'il contient un
caractère retour chariot ou saut-de-ligne).
{uniquement si compilé avec la fonctionnalité |+statusline|}
*'toolbar'* *'tb'*
'toolbar' 'tb' chaîne (défaut : "icons,tooltips")
global
{uniquement si compilé avec les fonctionnalités
|+GUI_GTK|, |+GUI_Athena|, |+GUI_Motif| ou
|+GUI_Photon|}
Le contenu de cette option contrôle différents paramètres de la barre
d'outils. Les valeurs possibles sont :
icons Les boutons de la barre d'outils sont affichés avec
des icônes.
text Les boutons de la barre d'outils sont affichés avec
des étiquettes de texte.
horiz L'icône et l'étiquette de texte de chaque bouton de la
barre d'outils sont disposées horizontalement.
{uniquement dans l'IHM graphique GTK+ 2}
tooltips Les bulles d'aide sont actives pour les boutons de la
barre d'outils.
Le terme « bulle d'aide » fait référence au court texte qui apparaît
après que le curseur de la souris a été placé sur un bouton de la
barre d'outils pendant un court instant.
Si vous souhaitez que la barre d'outils soit affichée avec des icônes
et du texte, saisissez cette commande : Motif et Athena ne peuvent rendre des icônes et du texte en même
temps. Il n'afficheront que des icônes si les deux sont demandés.
Si aucune chaîne donnée dans 'toolbar' n'est valide ou si 'toolbar'
est vide, cette option est ignorée. Si vous voulez désactiver la barre
d'outils, vous devrez utiliser l'option 'guioptions'. Par exemple : Voir aussi |gui-toolbar|.
*'toolbariconsize'* *'tbis'*
'toolbariconsize' 'tbis' chaîne (défaut : "small")
global
{absent de Vi}
{uniquement dans l'IHM graphique GTK+ 2}
Contrôle la taille des icônes de la barre d'outils. Les valeurs
possibles sont :
tiny utilise des mini-icônes
small utilise des petites icônes (valeur par défaut)
medium utilise des icônes moyennes
large utilise des grandes icônes
Les dimensions exactes (en pixels) des différentes tailles d'icônes
dépendent du thème courant. Habituellement, elles valent 32 × 32 pour
"large", 24 × 24 pour "medium", 20 × 20 pour "small" et 16 × 16 pour
"tiny".
Si 'toolbariconsize' est vide, la taille globale par défaut déterminée
par les préférences de l'utilisateur ou par le thème courant est
utilisée.
*'ttybuiltin'* *'tbi'* *'nottybuiltin'* *'notbi'*
'ttybuiltin' 'tbi' booléen (défaut : activé)
global
{absent de Vi}
Si activé, les termcaps internes sont utilisés avant les externes.
Si désactivé, les termcaps internes sont utilisés après les externes.
Lorsque cette option est modifiée, vous devriez changer l'option
'term' ensuite pour qu'elle prenne effet, par exemple : Voir aussi |termcap|.
Remarque : Cette option est activée par défaut, car les entrées
termcap internes sont généralement meilleures (de nombreux systèmes
contiennent des entrées xterm incorrectes...)
*'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
'ttyfast' 'tf' booléen (défaut : désactivé, activé si 'term' vaut
xterm, hpterm, sun-cmd, screen, rxvt, dtterm
ou iris-ansi ; également activé si Vim
fonctionne dans une console DOS)
global
{absent de Vi}
Indique une connexion terminal rapide. Plus de caractères seront
envoyés à l'écran en cas de rafraîchissement, au lieu d'utiliser des
commandes d'insertion/suppression de lignes. Améliore la douceur du
rafraîchissement quand il y a plusieurs fenêtres et que le terminal ne
supporte pas de région de défilement.
Active également l'écriture supplémentaire de caractères à la fin de
chaque ligne d'écran pour les lignes enroulées. C'est utile si vous
utilisez un copier/coller avec la souris dans un xterm ou autre
terminal.
*'ttymouse'* *'ttym'*
'ttymouse' 'ttym' chaîne (défaut : dépend de 'term')
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+mouse|} {uniquement sur Unix et VMS ; ne fonctionne
pas dans l'IHM graphique}
Nom du type de terminal pour lequel les codes souris doivent être
supportés. Actuellement, les chaînes valides sont :
*xterm-mouse*
xterm Support souris pour xterm et apparenté. La souris
génère "<Echap>[Mecl", où "ecl" représente trois
octets :
'e' = état du bouton
'c' = colonne plus 33
'l' = ligne plus 33
xterm2 Fonctionne comme "xterm", mais avec le xterm
rapportant la position de la souris pendant un
glissement. C'est bien plus rapide et plus précis.
Votre xterm doit être au moins au niveau de rustine 88
/ XFree86 3.3.3 pour que cela fonctionne. Voir
ci-dessous pour savoir comment Vim détecte ceci
automatiquement.
*netterm-mouse*
netterm Support souris pour NetTerm. La souris génère
"<Echap>}l,c<CR>", où "l,c" sont deux nombres décimaux
pour la ligne et la colonne.
*dec-mouse*
dec Support souris pour terminal DEC. La souris génère une
séquence plutôt complexe, débutant par "<Echap>[".
*jsbterm-mouse*
jsbterm Support souris pour terminal JSB.
*pterm-mouse*
pterm Support souris pour pterm QNX.
Le support de la souris doit être activé à la compilation |+mouse_dec|
|+mouse_xterm| |+mouse_netterm|.
Seul "xterm"(2) est vraiment détecté. Les codes souris NetTerm sont
toujours détectés si activés pendant la compilation. Les codes souris
pour terminal DEC sont détectés si activés pendant la compilation, et
si 'ttymouse' ne vaut pas "xterm" (car les codes souris entre xterm et
dec créent des conflits).
Cette option est automatiquement fixée à "xterm" si l'option 'term'
est fixée à une valeur dont le nom débute par "xterm", et que
'ttymouse' ne vaut pas déjà "xterm" ou "xterm2". Cette option est
principalement utilisée pour être fixée à "xterm" lorsque le nom du
terminal ne débute pas par "xterm" mais qu'il supporte les codes
souris xterm.
La valeur "xterm2" sera fixée si la version rapportée du xterm vaut 95
ou plus. Cela fonctionne uniquement si compilé avec la fonctionnalité
|+termresponse| et si |'t_RV'| est fixé à une séquence d'échappement
qui donne le numéro de version xterm courant. Sinon, "xterm2" doit
être fixé explicitement.
Si vous ne souhaitez pas que 'ttymouse' soit automatiquement fixé à
"xterm2", fixez 't_RV' à une chaîne vide :
*'ttyscroll'* *'tsl'*
'ttyscroll' 'tsl' nombre (défaut : 999)
global
Nombre maximum de lignes pour faire défiler l'écran. S'il y a plus de
lignes à faire défiler, la fenêtre est rafraîchie. Pour les terminaux
où le défilement est très lent mais pas le rafraîchissement, cette
option peut être fixée à un nombre plus petit, p. ex., 3, pour
accélérer l'affichage.
*'ttytype'* *'tty'*
'ttytype' 'tty' chaîne (défaut : depuis $TERM)
global
Alias pour 'term', voir ci-dessus.
*'undolevels'* *'ul'*
'undolevels' 'ul' nombre (défaut : 100, 1000 sur Unix, VMS, Win32 et
OS/2)
global
{absent de Vi}
Nombre maximum de changements qui peuvent être annulés. Les
informations pour l'annulation étant conservées en mémoire, plus le
nombre sera élevé, plus la mémoire sera sollicitée (néanmoins, un
changement unique peut utiliser une somme de mémoire illimitée).
Fixez cette option à 0 si vous souhaitez un comportement compatible
Vi : un seul niveau d'annulation et "u" s'annulant lui-même : Mais vous pouvez aussi obtenir la compatibilité Vi en incluant le
drapeau 'u' dans 'cpoptions', et pouvoir continuer à utiliser CTRL-R
pour répéter l'annulation.
Si fixé à un nombre négatif, aucune annulation ne sera possible : Cela peut vous aider lorsque vous êtes en débordement de mémoire pour
un unique changement.
Voir aussi |undo-two-ways|.
*'updatecount'* *'uc'*
'updatecount' 'uc' nombre (défaut : 200)
global
{absent de Vi}
Après avoir saisi ce nombre de caractères, le fichier d'échange sera
écrit sur le disque. Si nul, aucun fichier d'échange ne sera créé
(voir le chapitre sur le recouvrement |crash-recovery|). 'updatecount'
est fixé à 0 si Vim est lancé avec l'option "-n", voir |startup|. Lors
d'une édition en mode lecture seule, cette option sera initialisée à
10000. La création d'un fichier d'échange peut être désactivée pour un
tampon avec |'swapfile'|.
Si 'updatecount' est fixé d'une valeur non-nulle à zéro, des fichiers
d'échange seront créés pour tous les tampons pour lesquels 'swapfile'
est activé. Si 'updatecount' est fixé à 0, les fichiers d'échange
existants ne sont pas supprimés.
Voir aussi |'swapsync'|.
Cette option n'a pas de signification pour les tampons où |'buftype'|
vaut "nofile" ou "nowrite".
*'updatetime'* *'ut'*
'updatetime' 'ut' nombre (défaut : 4000)
global
{absent de Vi}
Si après ce nombre de millisecondes rien n'est saisi, le fichier
d'échange sera écrit sur le disque (voir |crash-recovery|). Également
utilisé pour l'événement d'autocommande |CursorHold|.
*'verbose'* *'vbs'*
'verbose' 'vbs' nombre (défaut : 0)
global
{absent de Vi, mais certaines versions disposent d'une
option 'verbose' booléenne}
Si supérieur à 0, Vim donnera des messages sur ce qu'il est en train
d'effectuer. Actuellement, les messages suivants sont donnés :
>= 1 Si le fichier viminfo est lu ou écrit.
>= 2 Si un fichier est sourcé.
>= 5 Tout fichier de marqueurs recherché.
>= 8 Les fichiers pour lesquels un groupe d'autocommandes
est exécuté.
>= 9 Toute autocommande exécutée.
>= 12 Toute fonction exécutée.
>= 13 Si une exception est émise, interceptée, terminée ou
abondonnée.
>= 14 Tout ce qui est en attente dans une clause ":finally".
>= 15 Toute commande Ex exécutée (tronquée à 200 caractères).
Cette option peut aussi être fixée avec l'argument "-V". Voir |-V|.
Cette option est également fixée par la commande |:verbose|.
*'viewdir'* *'vdir'*
'viewdir' 'vdir' chaîne (défaut : sur Amiga, MS-DOS, OS/2 et Win32 :
"$VIM/vimfiles/view",
sur Unix : "~/.vim/view",
sur Macintosh : "$VIM:vimfiles:view"
sur VMS : "sys$login:vimfiles/view"
sur RISC OS : "Choices:vimfiles/view")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+mksession|}
Nom du répertoire où placer les fichiers produits par |:mkview|.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'viewoptions'* *'vop'*
'viewoptions' 'vop' chaîne (défaut : "folds,options,cursor")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+mksession|}
Modifie l'effet de la commande |:mkview|. C'est une liste d'items
séparés par des virgules. Chaque item active l'enregistrement et la
restauration d'éléments particuliers :
ITEM ENREGISTRE ET RESTAURE...
cursor la position du curseur dans le fichier et la fenêtre
folds les replis créés à la main, les replis ouverts/fermés
et les options locales de replis
options les options et mappages locaux à une fenêtre ou un
tampon (mais pas les valeurs globales des options
locales)
slash avec les contre-obliques dans les noms de fichiers
remplacées par des obliques simples
unix avec le format de fin-de-ligne Unix (<NL> simple),
même sur Windows ou DOS
"slash" et "unix" sont utiles sous Windows pour partager des fichiers
de vues avec Unix. La version Unix de Vim ne peut pas sourcer des
scripts au format dos, mais la version Windows peut sourcer des
scripts au format Unix.
*'viminfo'* *'vi'* *E526* *E527* *E528*
'viminfo' 'vi' chaîne (défaut Vim : sur MS-DOS, Windows et OS/2 :
"'20,"50,h,rA:,rB:",
sur Amiga : "'20,"50,h,rdf0:,rdf1:,rdf2:",
autres : "'20,"50,h",
défaut Vi : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+viminfo|}
Si non-vide, le fichier viminfo est lu lors du démarrage et écrit à la
sortie de Vim (voir |viminfo-file|). La chaîne est une liste de
paramètres séparés par des virgules, chacun consistant en un caractère
simple suivi par un nombre où une chaîne qui définit la valeur de ce
paramètre. Si un caractère simple est omis, c'est la valeur par défaut
pour ce paramètre qui sera utilisée.
Voici une liste décrivant les caractères simples et leurs valeurs :
CAR VALEUR
! Si inclus, enregistre et restaure les variables globales qui
débutent par une majuscule et ne contiennent pas de
minuscules. Ainsi, "ACONSERVER" et "A_C_V" seront enregistrés,
mais pas "AConserver" ni "_A_C_V".
" Nombre maximum de lignes enregistrées pour chaque registre. Si
nul, aucun registre n'est enregistré. Si non inclus, toutes
les lignes sont enregistrées. N'oubliez pas de protéger " par
une contre-oblique ('\'), sinon il sera interprété comme un
début de commentaire !
% Si inclus, enregistre et restaure la liste des tampons. Si Vim
est lancé avec un nom de fichier en argument, la liste des
tampons ne sera pas restaurée. Si Vim est lancé sans nom de
fichier, la liste des tampons sera restaurée depuis le fichier
viminfo. Les tampons sans nom de fichier et les tampons des
fichiers d'aide ne sont pas enregistrés dans le fichier
viminfo.
' Nombre maximum de fichiers précédemment édités pour lesquels
les marques sont enregistrées. Ce paramètre doit toujours être
inclus si 'viminfo' est non-vide.
L'inclusion de cet item implique également l'enregistrement de
la liste des sauts |jumplist| dans le fichier viminfo.
/ Nombre maximum d'éléments à enregistrer dans l'historique des
motifs de recherche. Si non-nul, alors les motifs de recherche
et de substitution précédents sont également enregistrés. Si
non inclus, la valeur de 'history' est utilisée.
: Nombre maximum d'éléments à enregistrer dans l'historique de
la ligne de commande. Si non inclus, la valeur de 'history'
est utilisée.
@ Nombre maximum d'éléments à enregistrer dans l'historique de
la ligne d'entrée. Si non inclus, la valeur de 'history' est
utilisée.
c Si inclus, convertit le texte du fichier viminfo de la valeur
de 'encoding' utilisée lors de l'enregistrement du fichier à
la valeur courante. Voir |viminfo-encoding|.
f Détermine si les marques de fichier sont incluses. Si nul, les
marques de fichier ('0 à '9, 'A à 'Z) ne sont pas enregistrées
; si non inclus ou non-nul, elles le sont. '0 est utilisé pour
la position courante du curseur (en quittant Vim ou quand
":wviminfo" est exécuté).
h Annule l'effet de 'hlsearch' lors du chargement du fichier
viminfo. Si non inclus, cela dépend de si ":nohlsearch" a été
utilisé depuis la dernière commande de recherche.
n Nom du fichier viminfo. Le nom doit suivre immédiatement le
'n'. Cet item doit être le dernier ! Si l'argument "-i" avait
été spécifié au lancement de Vim, ce nom de fichier prévaut
sur celui donné ici avec 'viminfo'. Les variables
d'environnement sont étendues lors de l'ouverture du fichier,
et non lorsque l'option est fixée.
r Supports amovibles. L'argument est une chaîne (jusqu'à la
virgule suivante). Ce paramètre peut être donné plusieurs
fois. Chacune précise le début d'un chemin pour lequel aucune
marque ne sera enregistrée. Cela permet d'exclure les supports
amovibles. Pour MS-DOS, vous pouvez essayer "ra:,rb:", pour
Amiga "rdf0:,rdf1:,rdf2:". La casse est ignorée. Chaque
argument 'r' est limité à une longueur de 50 caractères
maximum. ["Removable"]
Exemple : '50 Les marques des 50 derniers fichiers que vous avez
édités seront mémorisées.
"1000 Le contenu des registres (jusqu'à 1000 lignes chacun)
sera mémorisé.
:0 L'historique de la ligne de commande ne sera pas
sauvegardé.
n~/vim/viminfo Le nom du fichier à utiliser est "~/vim/viminfo".
/ absent Comme '/' n'est pas inclus, sa valeur par défaut sera
utilisée, c.-à-d. enregistrer tout l'historique de
recherche et également les motifs de recherche et de
substitution précédents.
% absent La liste des tampons ne sera pas enregistrée ni
restaurée.
h absent La surbrillance de 'hlsearch' sera restaurée.
Cette option ne peut pas être fixée depuis une ligne de mode
|modeline|, pour des raisons de sécurité.
*'virtualedit'* *'ve'*
'virtualedit' 've' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+virtualedit|}
Cette option est une liste d'items séparés par des virgules :
block autorise l'édition virtuelle en mode Visuel-bloc
insert autorise l'édition virtuelle en mode Insertion
all autorise l'édition virtuelle dans tous les modes
« Édition virtuelle » signifie que le curseur peut être positionné à
des endroits où il n'y a en réalité aucun caractère. Cela peut être à
l'intérieur d'une tabulation, ou après la fin d'une ligne. Utile pour
sélectionner un rectangle en mode Visuel et éditer des tableaux.
*'visualbell'* *'vb'* *'novisualbell'* *'novb'* *beep*
'visualbell' 'vb' booléen (défaut : désactivé)
global
{absent de Vi}
Utilise l'alarme visuelle plutôt que sonore. Le code de terminal pour
émettre une alarme visuelle est donné par 't_vb'. Si ni clignotements
ni bips ne sont souhaités, utilisez ":set vb t_vb=".
NOTE : Au lancement de l'IHM graphique, 't_vb' est réinitialisé à sa
valeur par défaut. Si vous désirez le réactiver, faites-le dans votre
fichier |gvimrc|.
Dans l'IHM graphique, la valeur par défaut pour 't_vb' est "<Esc>|f",
ce qui inverse l'affichage pour 20 ms. Si vous voulez utiliser une
durée différente, essayez "<Esc>|40f", où 40 désigne la durée en
millisecondes.
Ne fonctionne pas sur Amiga, où vous obtiendrez toujours un
clignotement de l'écran.
Voir aussi 'errorbells'.
*'warn'* *'nowarn'*
'warn' booléen (défaut : activé)
global
Émet un message d'avertissement lorsqu'une commande shell est utilisée
alors que le tampon a été modifié.
*'weirdinvert'* *'wiv'* *'noweirdinvert'* *'nowiv'*
'weirdinvert' 'wiv' booléen (défaut : désactivé)
global
{absent de Vi}
Cette option a le même effet que l'option termcap 't_xs'. Elle est
fournie pour des raisons de compatibilité avec les versions 4.x.
L'activation de 'weirdinvert' rendra 't_xs' non-vide, et vice versa.
Ne produit aucun effet dans l'IHM graphique.
*'whichwrap'* *'ww'*
'whichwrap' 'ww' chaîne (défaut Vim : "b,s", défaut Vi : "")
global
{absent de Vi}
Autorise les touches spécifiées à déplacer le curseur à gauche/droite
par delà la fin d'une ligne sur la ligne précédente/suivante lorsque
le curseur est placé sur le premier/dernier caractère de la ligne.
Concaténez les caractères pour autoriser cela pour les touches
suivantes :
CAR TOUCHE MODE
b <RetArr> Normal et Visuel
s <Espace> Normal et Visuel
h "h" Normal et Visuel
l "l" Normal et Visuel
< <Gauche> Normal et Visuel
> <Droite> Normal et Visuel
~ "~" Normal
[ <Gauche> Insertion et Remplacement
] <Droite> Insertion et Remplacement
Par exemple autorise ce déplacement uniquement pour les touches fléchées.
Lorsqu'un mouvement est utilisé en association avec un opérateur de
coupage ou de changement, le <EOL> compte également pour un caractère.
Cela déplace "3h" différemment de "3dh" lorsque le curseur rencontre
la fin d'une ligne. Cela vaut également pour "x" et "X", qui sont
identiques à "dl" et "dh". Si vous utilisez ceci, vous voudrez
probablement utiliser le mappage ":map <BS> X" afin qu'un retour
arrière supprime le caractère devant le curseur.
Il existe un effet de bord lorsque 'l' est inclus : "yl" sur une ligne
vide inclura le <EOL>, de telle sorte que "p" insérera une nouvelle
ligne.
NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'wildchar'* *'wc'*
'wildchar' 'wc' nombre (défaut Vim : <Tab>, défaut Vi : CTRL-E)
global
{absent de Vi}
Caractère que vous devez saisir pour lancer l'expansion des caractères
d'englobement sur la ligne de commande, comme avec 'wildmode'.
Le caractère n'est pas reconnu lorsqu'il est utilisé à l'intérieur
d'une macro. Voir 'wildcharm' pour cela.
Bien que 'wc' soit une option numérique, vous pouvez la fixer à une
touche spéciale : NOTE : Cette option est fixée à la valeur par défaut Vi lorsque
'compatible' est activé, et à la valeur par défaut Vim lorsque
'compatible' est désactivé.
*'wildcharm'* *'wcm'*
'wildcharm' 'wcm' nombre (défaut : aucun (0))
global
{absent de Vi}
'wildcharm' fonctionne exactement comme 'wildchar', sauf qu'il est
reconnu quand il est utilisé à l'intérieur d'une macro. Pour trouver
une combinaison qui soit appropriée et « vacante » en mode
Ligne-de-commande, vous pouvez consulter |ex-edit-index|.
Normalement, vous ne devriez pas saisir 'wildcharm', mais l'utiliser
dans un mappage pour invoquer automatiquement le mode de complètement,
p. ex. : Ici, après avoir tapé ":ss", vous pouvez utiliser CTRL-P et CTRL-N.
*'wildignore'* *'wig'*
'wildignore' 'wig' chaîne (défaut : "")
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+wildignore|}
Une liste de motifs de fichiers. Un fichier correspondant à un de ces
motifs est ignoré lors d'un complètement de noms de fichiers ou de
répertoires.
Le motif est utilisé comme avec |:autocmd|, voir |autocmd-patterns|.
Voir aussi 'suffixes'.
Exemple : L'utilisation de |:set+=| et |:set-=| est recommandée pour l'ajout ou
la suppression d'un motif à la liste. Cela évitera des problèmes si
problèmes si une version ultérieure utilise une valeur par défaut
différente.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' booléen (défaut : désactivé)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+wildmenu|}
Lorsque 'wildmenu' est activé, le complètement à la ligne de commande
opère d'une façon étendue. Lorsque 'wildchar' (normalement <Tab>) est
pressé pour invoquer le complètement, les correspondances possibles
sont affichées juste au-dessus de la ligne de commande, la première
étant mise en surbrillance (la ligne d'état est utilisée s'il y en a
une). Les touches qui permettent l'affichage des correspondances
précédentes/suivantes, comme <Tab> ou CTRL-P/CTRL-N, déplace la
surbrillance sur la correspondance appropriée.
Lorsque 'wildmode' est utilisé, le mode "wildmenu" est utilisé si
"full" est spécifié. "longest" et "list" ne lancent pas le mode
"wildmenu".
S'il y a plus de correspondances que celles qui peuvent renter dans la
ligne, un '>' est affiché à droite et/ou un '<' est affiché à gauche.
La ligne d'état défile selon les besoins.
Le mode "wildmenu" est abandonné quand est saisie une touche qui n'est
pas utilisée pour choisir un complètement.
Tant que le complètement "wildmenu" est en cours, les touches
suivantes ont une signification spéciale :
<Gauche>/<Droite>
Va à la correspondance précédente/suivante (comme
CTRL-P/CTRL-N).
<Bas> Lors d'un complètement de menu/nom de fichier :
entre dans un sous-répertoire ou un sous-menu.
<CR> Lors d'un complètement de menu, quand le curseur
est juste après un point : entre dans le sous-menu.
<Haut> Lors d'un complètement de menu/nom de fichier :
remonte dans le répertoire ou le menu parent.
Les menus sont ainsi accessibles depuis la console |console-menus|.
Si vous préférez que les touches <Gauche> et <Droite> déplacent le
curseur au lieu de sélectionner une correspondance différente,
utilisez ceci :
La surbrillance "WildMenu" est utilisée pour la correspondance
courante |hl-WildMenu|.
*'wildmode'* *'wim'*
'wildmode' 'wim' chaîne (défaut : "full")
global
{absent de Vi}
Le mode du complètement utilisé pour le caractère spécifié avec
'wildchar'. C'est une liste de jusqu'à quatre parties séparées par des
virgules. Chaque partie spécifie un comportement pour chaque
utilisation consécutive de 'wildchar' : la première partie correspond
à la première utilisation de 'wildchar', la seconde partie à la
deuxième utilisation, etc.
Voici les valeurs possibles pour chaque partie :
"" Complète uniquement avec la première
correspondance.
"full" Complète avec la correspondance entière suivante.
Après la dernière correspondance, la chaîne
originale est rendue, et ensuite la première
correspondance à nouveau.
"longest" Complète avec la plus longue chaîne commune aux
correspondances. Si cela ne produit pas une chaîne
plus longue que l'originale, passe à la partie
suivante.
"longest:full" Comme "longest", mais utilise aussi 'wildmenu'
s'il est activé.
"list" Si plus d'une correspondance, liste toutes les
correspondances.
"list:full" Si plus d'une correspondance, liste toutes les
correspondances et complète avec la première.
"list:longest" Si plus d'une correspondance, liste toutes les
correspondances et complète avec la plus longue
chaîne commune.
S'il n'y a qu'une seule correspondance, le complètement est effectué
dans tous les cas.
Exemples : Complète avec la première correspondance entière, la suivante, etc.
(défaut). Complète avec la plus longue chaîne commune, puis avec chaque
correspondance entière. Liste toutes les correspondances et complète avec chaque
correspondance entière. Liste toutes les correspondances sans compléter, puis complète avec
chaque correspondance entière. Complète avec la plus longue chaîne commune, puis liste les
alternatives.
*'winaltkeys'* *'wak'*
'winaltkeys' 'wak' chaîne (défaut : "menu")
global
{absent de Vi}
{uniquement pour les IHM graphiques Win32, Motif, GTK+
et Photon}
Certaines versions IHM graphiques permettent d'accéder aux menus en
utilisant la touche Alt en combinaison avec le caractère qui apparaît
souligné dans la barre de menus. Cela peut provoquer des conflits avec
l'utilisation de la touche Alt pour les mappages ou pour la saisie des
caractères spéciaux. Cette option détermine le comportement adopté :
no N'utilise pas la touche Alt pour les menus : les
combinaisons de touches Alt peuvent être mappées, mais
elles seront ignorées par le système de fenêtrage. Cela
peut être pallié avec la commande |:simalt|.
yes Les combinaisons de touches Alt sont gérées par le système
de fenêtrage et ne peuvent pas être mappées.
menu La combinaison de Alt avec un caractère correspondant à
raccourci de menu sera gérée par le système de fenêtrage.
Les autres caractères pourront être mappés.
Si le menu n'est pas activé (le drapeau 'm' n'étant pas inclus
'guioptions'), la touche Alt n'est jamais utilisée pour le menu.
Dans la version Win32, la touche <F10> est gérée de la même façon, car
Windows l'utilise pour la sélection d'un menu.
*'winheight'* *'wh'* *E591*
'winheight' 'wh' nombre (défaut : 1)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+windows|}
Nombre minimum de lignes pour la fenêtre courante. Ce n'est pas un
minimum strict (Vim utilisera moins de lignes si l'espace disponible
est insuffisant).
Si la fenêtre courante est plus petite que ce seuil, sa hauteur sera
augmentée en réduisant d'autant celle des autres fenêtres. Fixez cette
option à 999 pour que la fenêtre courante occupe toujours toute la
hauteur de l'écran. Fixez-la à un petit nombre pour une édition
normale. La valeur minimale est 1.
La hauteur ne sera pas ajustée après une commande qui modifie celle de
la fenêtre courante.
'winheight' s'applique à la fenêtre courante. Utilisez 'winminheight'
pour fixer la hauteur minimale des autres fenêtres.
*'winfixheight'* *'wfh'*
'winfixheight' 'wfh' booléen (défaut : désactivé)
local à une fenêtre
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+windows|}
Conserve la hauteur de la fenêtre quand d'autres fenêtres sont
ouvertes ou fermées et que 'equalalways' est activé. Activé par défaut
pour les fenêtres d'aperçu |preview-window| et d'erreurs
|quickfix-window|.
La hauteur pourra être changée malgré tout en cas de manque de place.
*'winminheight'* *'wmh'*
'winminheight' 'wmh' nombre (défaut : 1)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+windows|}
La hauteur minimale d'une fenêtre, lorsque ce n'est pas la fenêtre
courante. C'est un minimum strict (les fenêtres ne seront jamais
réduites en dessous de ce seuil).
Si fixé à 0, les fenêtres pourront être « aplaties » à zéro ligne
(c.-à-d. juste une ligne d'état) si nécessaire. Elles retrouveront une
taille d'au moins une ligne en redevenant actives (le curseur doit
disposer d'un endroit où se placer).
Cette option n'est prise en compte que lors d'un rétrécissement de
fenêtre. N'utilisez pas un seuil trop grand, cela provoquerait des
erreurs lors de l'ouverture d'un nombre même modéré de fenêtres. Une
valeur comprise entre 0 et 3 est raisonnable.
Utilisez 'winheight' pour fixer la hauteur minimale de la fenêtre
courante.
*'winminwidth'* *'wmw'*
'winminwidth' 'wmw' nombre (défaut : 1)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
La largeur minimale d'une fenêtre, lorsque ce n'est pas la fenêtre
courante. C'est un minimum strict (les fenêtres ne seront jamais
réduites en dessous de ce seuil).
Si fixé à 0, les fenêtres pourront être « aplaties » à zéro colonne
(c.-à-d. juste une séparation verticale) si nécessaire. Elles
retrouveront une taille d'au moins une colonne en redevenant actives
(le curseur doit disposer d'un endroit où se placer).
Cette option n'est prise en compte que lors d'un rétrécissement de
fenêtre. N'utilisez pas un seuil trop grand, cela provoquerait des
erreurs lors de l'ouverture d'un nombre même modéré de fenêtres. Une
valeur comprise entre 0 et 12 est raisonnable.
Utilisez 'winwidth' pour fixer la largeur minimale de la fenêtre
courante.
*'winwidth'* *'wiw'* *E592*
'winwidth' 'wiw' nombre (défaut : 20)
global
{absent de Vi}
{uniquement si compilé avec la fonctionnalité
|+vertsplit|}
Nombre minimum de colonnes pour la fenêtre courante. Ce n'est pas un
minimum strict (Vim utilisera moins de colonnes si l'espace disponible
est insuffisant).
Si la fenêtre courante est plus petite que ce seuil, sa largeur sera
augmentée en réduisant d'autant celle des autres fenêtres. Fixez cette
option à 999 pour que la fenêtre courante occupe toujours toute la
largeur de l'écran. Fixez-la à un petit nombre pour une édition
normale. La largeur ne sera pas ajustée après une commande qui modifie
celle de la fenêtre courante.
'winwidth' s'applique à la fenêtre courante. Utilisez 'winminwidth'
pour fixer la largeur minimale des autres fenêtres.
*'wrap'* *'nowrap'*
'wrap' booléen (défaut : activé)
local à une fenêtre
{absent de Vi}
Cette option modifie la façon dont le texte est affiché. Elle ne
modifie pas le texte dans le tampon (voir 'textwidth' pour cela).
Si activé, les lignes plus longues que la largeur de l'écran seront
enroulées (leur affichage se poursuivra sur la ligne suivante). Si
désactivé, les lignes ne seront pas enroulées et les lignes longues ne
seront que partiellement affichées. Lorsque le curseur est déplacé à
un endroit qui n'est pas affiché, l'écran défilera horizontalement.
La ligne sera coupée au milieu d'un mot si nécessaire. Voir
'linebreak' pour que la coupure se fasse à une limite de mot.
Pour rendre le défilement horizontal un peu plus agréable, essayez
ceci : Voir 'sidescroll', 'listchars' et |wrap-off|.
*'wrapmargin'* *'wm'*
'wrapmargin' 'wm' nombre (défaut : 0)
local à un tampon
Nombre de caractères depuis le bord droit de l'écran où la coupure de
ligne commence. Quand vous entrez du texte après cette limite, un
<EOL> sera inséré et l'insertion continuera sur la ligne suivante. Si
'textwidth' est non-nul, cette option n'est pas utilisée.
Voir aussi 'formatoptions' et |ins-textwidth|.
{Vi fonctionne différemment et moins utilement}
*'wrapscan'* *'ws'* *'nowrapscan'* *'nows'*
*E384* *E385*
'wrapscan' 'ws' booléen (défaut : activé)
global
Si activé, une recherche boucle lorsqu'elle atteint la fin du fichier
(elle revient au début).
*'write'* *'nowrite'*
'write' booléen (défaut : activé)
global
{absent de Vi}
Autorise l'écriture des fichiers. Si non activé, l'écriture d'un
fichier est interdite. Cela peut être utilisé pour un mode de
visualisation, où des modifications du texte seraient tout de même
permises. Peut être désactivé avec l'argument de commande |-m| ou
|-M|. Le filtrage de texte reste possible, même si cela requiert
l'écriture dans un fichier temporaire.
*'writeany'* *'wa'* *'nowriteany'* *'nowa'*
'writeany' 'wa' booléen (défaut : désactivé)
global
Autorise l'écriture dans n'importe quel fichier, sans avoir à forcer
avec '!'.
*'writebackup'* *'wb'* *'nowritebackup'* *'nowb'*
'writebackup' 'wb' booléen (défaut : activé si compilé avec la
fonctionnalité |+writebackup|, désactivé
sinon)
global
{absent de Vi}
Crée une sauvegarde avant d'écraser un fichier. La sauvegarde est
supprimée après l'enregistrement du fichier s'il réussit, à moins que
l'option 'backup' ne soit également activée. Désactivez cette option
si votre système de fichiers est presque plein. Voir |backup-table|
pour des explications supplémentaires.
Lorsque le motif 'backupskip' correspond, aucune sauvegarde ne sera
créée de toute façon.
NOTE : Cette option est fixée à sa valeur par défaut lorsque
'compatible' est activé.
*'writedelay'* *'wd'*
'writedelay' 'wd' nombre (défaut : 0)
global
{absent de Vi}
Le nombre de microsecondes à attendre pour chaque caractère envoyé à
l'écran. Si non-nul, les caractères sont envoyés au terminal un par
un. Cela ne fonctionne pas avec les pcterm MS-DOS. Utile pour le
débogage.
vim:tw=78:ts=8:ft=help:norl: