*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' ( 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 : > :set guioptions-=T guioptions+=T < 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 : > :set ai nosi sw=3 ts=3 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 : > :verbose set shiftwidth cindent? < 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 : > :set =^[Ot Cela peut également être utilisé pour traduire un code spécial pour une touche normale. Par exemple, si Alt + 'b' produit b, essayez ceci : > :set =^[b ('^[' désigne ici un véritable , utilisez "CTRL-V " 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 : > :set tags=tags\ /usr/tags produira "tags /usr/tags" :set tags=tags\\,fichier produira "tags\,fichier" :set tags=tags\\\ fichier produira "tags\ fichier" 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" : > :set titlestring=coucou\|toto Celui-ci fixe l'option 'titlestring' à "coucou" et 'iconstring' à "toto" : > :set titlestring=coucou|set 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 "\\" : > :set dir=\\machine\chemin produira "\\machine\chemin" :set dir=\\\\machine\\chemin produira "\\machine\chemin" :set dir=\\chemin\\fichier produira "\\chemin\fichier" (Éviter !) 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 : > :set guioptions+=a Et pour supprimer un drapeau : > :set guioptions-=a 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 : > :set term=$TERM.new :set path=/usr/$INCLUDE,$HOME/include,. 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 : > :e un :set list :e deux Ceci activera l'option 'list' également pour le fichier "deux", puisque la commande ":set list" a modifié la valeur globale. > :set nolist :e un :setlocal list :e deux 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 ensuite > :e un vous 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êtres > :set makeprg=gmake alors 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 : > :setlocal makeprg=perlmake Pour revenir à la valeur globale, utilisez une chaîne vide pour la valeur locale : > :setlocal makeprg= Cela fonctionne uniquement pour une option de type chaîne. Pour une option booléenne, vous devez utiliser le drapeau '<', comme ceci : > :setlocal autoread< 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 : > :if !did_filetype() : setlocal filetype={typefich} :endif < 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 sur ce descriptif pour ouvrir une fenêtre d'aide contenant plus d'informations. Modifiez la valeur de l'option et saisissez 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 : > :set path=~babar/include,/usr/include,. 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 de votre terminal est mauvais, mais que celui de la touche convient, vous pouvez ajouter ceci à votre fichier vimrc : > :fixdel < Cela ne provoquera pas de conflit avec le code actuel de la touche . Si le code de la touche du terminal est mauvais, essayez ceci > :if &term == "nom-du-terminal" : set t_kb=^V : fixdel :endif < où "^V" désigne CTRL-V et 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 envoie une séquence clavier étrange (ni CTRL-? ni CTRL-H), vous ne pouvez pas utiliser ":fixdel". Essayez plutôt > :if &term == "nom-du-terminal" : set t_kD=^V :endif < où "^V" désigne CTRL-V et 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 produit CTRL-?, ce qui est mauvais. Pour y remédier, placez cette ligne dans votre fichier "rc.local" : > echo "keycode 14 = BackSpace" | loadkeys < *NetBSD-backspace* NOTE pour NetBSD : Si ne produit pas le bon code, essayez ceci : > xmodmap -e "keycode 22 = BackSpace" < Si cela fonctionne, ajoutez cette ligne à votre fichier ".Xmodmap" : > keysym 22 = BackSpace < 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 ( ou ) {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 : > vi:noai:sw=3 ts=6 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 ( ou ) {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 : > /* vim: set ai tw=75: */ 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 : > /* vim600: set foldmethod=marker: */ Pour utiliser une ligne de mode pour une version de Vim inférieure à 5.7 : > /* vim<570: set sw=4: */ 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 comme > /* vi:ts=4: */ produira un message d'erreur à cause du "*/" final. Cette ligne est correcte : > /* vi:set ts=4: */ 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 : > /* vi:set dir=c\:\tmp: */ 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 : > au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif 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 ( est saisi en mode Insertion, ou la commande "o" ou "O" est utilisée). Si rien n'est entré sur la nouvelle ligne sauf ou CTRL-D et que ou 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 ou , 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 : > :set autoread< < *'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 > :set background& < 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 : > :if &term == "pcterm" : set background=dark :endif < 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 , , 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 ou 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 : > :set bdir=c:\\tmp,\ rep\\,avec\\,virgules,\\\ rep\ avec\ espaces < - 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 : > :set backupdir=./.backup,~/.backup,.,/tmp < 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 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 sera écrit sur la dernière ligne uniquement s'il y en avait un dans le fichier original (normalement, Vim ajoute un à 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 : 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 : 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 : > :let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') < 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 : > :set cedit= :set cedit= < |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 : > set charconvert=CharConvert() fun CharConvert() system("recode " \ . v:charconvert_from . ".." . v:charconvert_to \ . " <" . v:fname_in . " >" v:fname_out) return v:shell_error endfun < 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 : > exclude:.* < 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é 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 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 ) '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 : > :set cpt=k/usr/dict/*,k~/francais < 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 \" mappera "X" à : si 'B' inclus : "\^[" (^[ désigne un vrai ) si 'B' exclu : "" (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 à 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 , alors la dernière ligne est placée sur la ligne de commande et peut être éditée avant la saisie de . *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 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 envoie ^[OA (où ^[ désigne ), la commande ":map X ^[OA" mappera "X" à : si 'k' inclus : "^[OA" (3 caractères) si 'k' exclu : "" (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 "" quand seul le début du second a été lu. Cela permet d'annuler le mappage en tapant "". *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 , '\' et 't' si 'l' exclu : "/[ \t]" trouve et *cpo-L* L Quand l'option 'list' est activée, 'wrapmargin', 'textwidth' et le mode Remplacement Virtuel (voir |gR|) considèrent un comme deux caractères, au lieu du comportement normal de . *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 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 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 fait normalement avorter une commande. |c_| *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 " mappera "X" à : si '<' inclus : "" (5 caractères) si '<' exclu : "^I" (^I désigne un vrai ) 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" : > ^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\) < 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 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 : > :set diffopt=filler,context:4 :set diffopt= :set diffopt=filler < *'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}{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 : > :set dir=c:\\tmp,\ rep\\,avec\\,virgules,\\\ rep\ avec\ espaces < - 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 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 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 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 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 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 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 . L'avantage est qu'alors un 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 : > :set ei=WinEnter,WinLeave < *'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 . 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 ". 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 : > au BufReadPost * if search('\S', 'w') == 0 | \ set fenc=iso-2022-jp | endif < 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 () du tampon courant, qui est utilisé pour lire/écrire ce tampon depuis/dans un fichier : dos unix mac 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 () 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 sera effectuée à la lecture d'un fichier. Quand débute l'édition d'un fichier, un test est fait sur les : 1. Si toutes les lignes se terminent par et que 'fileformats' inclut "dos", 'fileformat' est fixé à "dos". 2. Si un est trouvé et que 'fileformats' inclut "unix", 'fileformat' est fixé à "unix". NOTE : Quand un est trouvé sans 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 n'est trouvé dans le fichier, et lorsque "dos" n'est pas présent, ou qu'aucun n'est présent dans le fichier. Quand "unix" a été choisi en premier choix, mais que le premier devance le premier et qu'il semble y avoir plus de que de 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 de style "dos" (), lors de la lecture des fichiers sourcés et pour les fichiers vimrc, la détection automatique des 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 dans le fichier : s'il y a un 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 : > /* vim: set filetype=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 : > :set fillchars=stl:^,stlnc:-,vert:\|,fold:-,diff:- < 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 : > :set grepprg=grep\ -nH < 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 : > n-c-v:block-nCursor < En mode Normal, Lignecmd et Visuel, utilise un curseur en bloc avec la surbrillance du groupe "nCursor". > i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150 < 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 : > :highlight Cursor gui=reverse guifg=NONE guibg=NONE :highlight Cursor gui=NONE guifg=bg guibg=fg < *'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 > :set guifont=Screen15,\ 7x13,police\\,avec\\,virgules < 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 : > :set guifont=Andale\ Mono\ 11 < 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 > :set guifont=* < 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 : > :set guifont=courier_new:h12:w5:b:cRUSSIAN :set guifont=Andale_Mono:h7.5:w4.5 < 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 : > :set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-* < *'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 et XStringToKeysym pour CODE_TOUCHE. Exemple : > :set imactivatekey=S-space < "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 , ceci peut être utilisé : > :inoremap :set iminsert=0 < 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 : > :set includeexpr=substitute(v:fname,'\\.','/','g') < 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 ||. *'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 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 : > :set indentexpr=CalculerIndent() < 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 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 ; - en mode Insertion ne fait rien et émet un bip ; - 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 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 . 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 , avec la valeur hexadécimale de l'octet. Si 'display' contient "uhex", tous les caractères non-imprimables sont représentés par . 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 . 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 : > :set key= < 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, , , et . 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 : > :set keywordprg=man\ -s < 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* > :set langmap=ÁA,ÂB,ØC,ÄD,ÅE,ÖF,ÃG,ÇH,ÉI,ÎJ,ÊK,ËL,ÌM,ÍN,ÏO,ÐP,QQ,ÑR,ÓS,ÔT,ÈU,ÙV,WW,×X,ÕY,ÆZ,áa,âb,øc,äd,åe,öf,ãg,çh,éi,îj,êk,ël,ìm,ín,ïo,ðp,qq,ñr,ós,ôt,èu,ùv,òw,÷x,õy,æz < Exemple (échange la signification de z et y pour les commandes) : > :set langmap=zy,yz,ZY,YZ < 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' > "lang/menu_" . &langmenu . ".vim" < (sans les espaces). Par exemple, pour toujours utiliser les menus en français, indépendamment de la valeur de $LANG : > :set langmenu=fr_FR.ISO_8859-1 < 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 : > :set langmenu=none < 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 : > :source $VIMRUNTIME/delmenu.vim :set langmenu=fr_FR.ISO_8859-1 :source $VIMRUNTIME/menu.vim < 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 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 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 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, 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 : > :set lcs=tab:>-,trail:- :set lcs=tab:>-,eol:< :set lcs=extends:>,precedes:< < 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 : > :set makeprg=gmake\ \\\|\ momfiltre < L'expression spéciale "$*" peut être donnée (même plusieurs fois) pour spécifier où les arguments doivent être inclus, par exemple : > :set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*} < 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) : > :set mps+=<:> < Un exemple plus exotique, pour sauter de '=' à ';' dans une affectation de variable (pour des langages comme le C ou Java) : > :au FileType c,cpp,java set mps+==:; < 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 : > :set mouse=a < 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 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 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 > :set mouseshape=s:udsizing,m:no < 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 > :map {touches} :set invpaste < 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 : > :map :set paste :map :set nopaste :imap :set paste :imap :set pastetoggle= < entrera alors en mode collage et arrêtera ce mode. NOTE : La saisie de en mode collage insérera "", 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 : > :set path=.,/usr/local/include,/usr/include < - 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 : > :set path=.,/rep/avec\\\ espace < - Pour inclure une virgule dans un nom de répertoire, faites-la précéder par une contre-oblique supplémentaire : > :set path=.,/rep/avec\\,virgule < - Pour que la recherche soit relative au répertoire du fichier courant, utilisez : > :set path=. < - Pour rechercher dans le répertoire courant, utilisez une chaîne vide entre deux virgules : > :set path=,, < - 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. > :set path=/usr/include/* < englobe tous les sous-répertoires de "/usr/include" (mais pas "/usr/include" lui-même). > :set path=/usr/*c < englobe "/usr/doc" et "/usr/src". 2. "**" correspond à un sous-arbre, de jusqu'à 100 répertoires de profondeur. Par exemple > :set path=/home/babar/src/** < 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 : > :set path=.,c:\\include < Ou utilisez juste '/' à la place : > :set path=.,c:/include < 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 : > :set path-= < Pour ajouter le répertoire courant, utilisez : > :set path+= < 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 : > :let &path = &path . "," . substitute($INCL, ';', ',', 'g') < 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 : > system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error < Sur les machines MS-Windows, l'action par défaut est de copier le fichier vers le périphérique d'impression courant : > system('copy' . ' ' . v:fname_in . ' "' . &printdevice . '"') . delete(v:fname_in) < 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 : > system('print' . (&printdevice == '' ? '' : ' /queue=' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) < L'utilisation d'une fonction vous facilitera une modification ultérieure de l'option. Exemple : > :set printexpr=ImprimerFichier(v:fname_in) :function ImprimerFichier(fname) : call system("ghostview " . a:fname) : call delete(a:fname) : return v:shell_error :endfunc < 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 : > left:2in,top:30pt,right:16mm,bottom:3pc < 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 : > :set printoptions=paper:letter,duplex:off < *'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 : > :set t_ti= t_te= < Pour activer la restauration (dans un xterm) > :set t_ti=^[7^[[r^[[?47h t_te=^[[?47l^[8 < où ^[ désigne , tapez "CTRL-V " 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 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 : > :set rulerformat=%15(%c%V\ %p%%%) < *'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 : > :set runtimepath=~/vimruntime,/mongroupe/vim,$VIMRUNTIME < 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 ( 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 : > :set shell=\"c:\program\ files\unix\sh.exe\"\ -f < 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 : > :set shell=command.com\ /c\ 4dos < 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 : > if exists('+shellslash') < *'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 , 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 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" : > :set nowrap sidescroll=1 listchars=extends:>,precedes:< :set sidescrolloff=1 < *'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 . 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 au début d'une ligne insère des blancs selon la valeur de 'shiftwidth'. 'tabstop' est utilisé dans les autres endroits. Un en début de ligne supprime un nombre d'espaces équivalant à la valeur de 'shiftwidth'. Si désactivé, un 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 représentera lors d'opérations d'édition comme l'insertion d'un ou l'utilisation de . 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. > :set statusline=...%(\ [%M%R%H]%)... < 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 : > :let &ro = &ro < 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 : > :set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P < Imite la ligne d'état standard avec 'ruler' activé. > :set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P < Idem, mais ajoute la valeur ASCII du caractère sous le curseur (comme "ga"). > :set statusline=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b' :hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red < Affiche la valeur de l'octet courant et son numéro, ainsi que le drapeau « modifié » en rouge. > :set statusline=...%r%{VarExiste('b:drapeauGZ','\ [GZ]')}%h... < Affiche un drapeau ",GZ" si un fichier compacté est chargé. Vous devrez également placer > :let b:drapeauGZ = 1 < et > :unlet b:drapeauGZ < dans les |:autocmd| appropriées, et définir cette fonction : > :function VarExiste(var, val) : return exists(a:var) ? a:val : '' :endfunction < *'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 : > :set suffixesadd=.java < *'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 : > :set syntax=OFF < Pour activer la coloration syntaxique selon la valeur courante de l'option 'filetype' : > :set syntax=ON < 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 ou de 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é : > !_TAG_FILE_SORTED 0 /une commande/ < (L'espace blanc avant et après le '0' doit être une 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 : > :set term=$TERM < 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 : > :let &termencoding = &encoding :set encoding=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 aura été saisi si des codes clavier débutent par . Vous devrez alors saisir 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 : > :set timeout timeoutlen=3000 ttimeoutlen=100 < (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 : > rsh nom_machine xterm -display $DISPLAY & < 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 : > :auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p") :set title titlestring=%<%F%=%l/%L-%P titlelen=70 < 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 : > :set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:~:.:h\")})%)%(\ %a%) < 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 : > :set tb=icons,text < 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 : > :set guioptions-=T < 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 : > :set notbi term=$TERM < 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 "[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 "}l,c", 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 "[". *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 : > :set t_RV= < *'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 : > :set ul=0 < 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 : > :set ul=-1 < 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 ( 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 : > :set viminfo='50,\"1000,:0,n~/vim/viminfo < '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 "|f", ce qui inverse l'affichage pour 20 ms. Si vous voulez utiliser une durée différente, essayez "|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 Normal et Visuel s Normal et Visuel h "h" Normal et Visuel l "l" Normal et Visuel < Normal et Visuel > Normal et Visuel ~ "~" Normal [ Insertion et Remplacement ] Insertion et Remplacement Par exemple > :set ww=<,>,[,] < 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 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 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 , 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 : , 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 : > :set wc= < 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. : > :set wcm= :cmap ss so $vim/sessions/*.vim < 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 : > :set wildignore=*.o,*.obj < 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 ) 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 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 : / Va à la correspondance précédente/suivante (comme CTRL-P/CTRL-N). Lors d'un complètement de menu/nom de fichier : entre dans un sous-répertoire ou un sous-menu. Lors d'un complètement de menu, quand le curseur est juste après un point : entre dans le sous-menu. 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 et déplacent le curseur au lieu de sélectionner une correspondance différente, utilisez ceci : > :cnoremap :cnoremap < 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 : > :set wildmode=full < Complète avec la première correspondance entière, la suivante, etc. (défaut). > :set wildmode=longest,full < Complète avec la plus longue chaîne commune, puis avec chaque correspondance entière. > :set wildmode=list:full < Liste toutes les correspondances et complète avec chaque correspondance entière. > :set wildmode=list,full < Liste toutes les correspondances sans compléter, puis complète avec chaque correspondance entière. > :set wildmode=longest,list < 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 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 : > :set sidescroll=5 :set listchars+=precedes:<,extends:> < 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 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: