*windows.txt* Pour Vim version 6.2.
MANUEL de RÉFÉRENCE VIM - par Bram Moolenaar
Édition avec plusieurs fenêtres et tampons *windows* *buffers*
Les commandes qui ont été ajoutées pour utiliser plusieurs fenêtres et tampons
sont décrites ici. Vous trouverez en outre toutes les explications pour les
commandes qui fonctionnent différemment lorsqu'elles sont utilisées avec plus
d'une fenêtre.
Les bases sont abordées dans le chapitre 7 et 8 du Manuel de l'utilisateur
|usr_07.txt| |usr_08.txt|.
1. Introduction |windows-intro|
2. Lancer Vim |windows-starting|
3. Ouvrir et fermer une fenêtre |opening-window|
4. Déplacer le curseur dans d'autres fenêtres |window-move-cursor|
5. Déplacer des fenêtres |window-moving|
6. Redimensionner des fenêtres |window-resize|
7. Commandes pour les listes des arguments/tampons |buffer-list|
8. Exécuter une commande dans tous les tampons/fenêtres |list-repeat|
9. Nom de marqueur ou de fichier sous le curseur |window-tag|
10. La fenêtre d'aperçu |preview-window|
11. Utiliser les tampons cachés |buffer-hidden|
12. Types de tampons spéciaux |special-buffers|
{absent de Vi}
Le multi-fenêtrage est disponible {uniquement si compilé avec la
fonctionnalité |+windows|}
Le partage vertical est disponible {uniquement si compilé avec la
fonctionnalité |+vertsplit|}
==============================================================================
1. Introduction *windows-intro*
Une fenêtre est une zone de vue sur un tampon. Vous pouvez utiliser plusieurs
fenêtres pour un même tampon, ou plusieurs fenêtres pour différents tampons.
Un tampon est un fichier chargé en mémoire afin d'être édité. Le fichier
original reste inchangé jusqu'à ce que vous écriviez le tampon dans le
fichier.
Un tampon peut être dans un de ces trois états :
*active-buffer*
actif Le tampon est affiché dans une fenêtre. S'il y a un fichier pour ce
tampon, il a été lu dans le tampon. Le tampon peut avoir été modifié
depuis et donc être différent du fichier.
*hidden-buffer*
caché Le tampon n'est pas affiché. S'il y a un fichier pour ce tampon, il
a été lu dans le tampon. Sinon, c'est identique à un tampon actif,
seulement vous ne pouvez pas le voir.
*inactive-buffer*
inactif Le tampon n'est pas affiché et ne contient rien. Les options pour le
tampon sont mémorisées si le fichier a été chargé une fois. Il peut
contenir les marques du fichier |viminfo|. Mais le tampon ne
contient pas de texte.
En résumé :
AFFICHÉ DANS TAMPON ":buffers"
ÉTAT UNE FENÊTRE CHARGÉ INDIQUE
actif oui oui 'a'
caché non oui 'h'
inactif non non ' '
NOTE : Toutes les commandes CTRL-W peuvent aussi être exécutées avec
|:wincmd|, pour les circonstances où une commande du mode Normal ne peut pas
être utilisée ou est gênante.
==============================================================================
2. Lancer Vim *windows-starting*
Par défaut, Vim est lancé avec une seule fenêtre ouverte, tout comme Vi.
Les arguments "-o" et "-O" de Vim peuvent être utilisés pour ouvrir une
fenêtre pour chaque fichier de la liste des arguments. L'argument "-o"
partagera la fenêtre horizontalement ; l'argument "-O" la partagera
verticalement. Si "-o" et "-O" sont donnés tous les deux, celui spécifié en
dernier sera retenu. Par exemple, ceci ouvrira trois fenêtres en partageant
horizontalement :"-o{N}", où N est un nombre décimal, ouvre N fenêtres en partageant
horizontalement. S'il y a plus de noms de fichiers que de fenêtres, seules N
fenêtres seront ouvertes et certains fichiers seront sans fenêtre. S'il y a
plus de fenêtres que de noms de fichiers, les dernières fenêtres en surplus
éditeront des tampons vides.
Pareillement, "-O{N}" ouvre N fenêtres en partageant verticalement, avec
les mêmes restrictions.
S'il y a beaucoup de noms de fichiers, les fenêtres deviendront très petites.
Vous voudrez certainement fixer les options 'winheight' et/ou 'winwidth' pour
travailler à l'aise.
Les |autocommand|es "Buf/Win Enter/Leave" ne sont pas exécutées à l'ouverture
des nouvelles fenêtres ou à la lecture des fichiers, mais uniquement quand
l'entrée est effective.
*status-line*
Une ligne d'état est utilisée pour séparer les fenêtres. L'option 'laststatus'
détermine quand la dernière fenêtre dispose aussi d'une ligne d'état :
'laststatus' = 0 jamais de ligne d'état
'laststatus' = 1 ligne d'état s'il y a plus d'une fenêtre
'laststatus' = 2 toujours une ligne d'état
Vous pouvez changer le contenu de la ligne d'état avec l'option 'statusline'.
Normalement, l'inversion est utilisée pour afficher la ligne d'état. Cela peut
être changé avec le drapeau 's' de l'option 'highlight'. Par exemple, "sb" la
passe en caractère gras. S'il n'y a pas de surbrillance pour la ligne d'état
("sn"), le caractère '^' est utilisé pour la fenêtre courante, et '=' pour les
autres fenêtres. Si la souris est supportée et activée avec l'option 'mouse',
il est possible de redimensionner une fenêtre en tirant sa ligne d'état.
NOTE : Si, contrairement à ce que vous attendez, votre ligne d'état n'est pas
en mode vidéo inverse, vérifiez que l'option 'highlight' ne contient pas "si".
Dans la version 3.0, cela provoquait l'inversion de la ligne d'état.
Actuellement, c'est "sr" qui est utilisé pour cela, "si" passe la ligne en
italique ! Si le mode italique n'est pas disponible pour votre terminal, la
ligne d'état sera inversée malgré tout ; il n'y aura de problème que sur les
terminaux qui disposent de codes termcap pour gérer l'italique.
==============================================================================
3. Ouvrir et fermer une fenêtre *opening-window* *E36*
CTRL-W s CTRL-W_s">*CTRL-W_s*
CTRL-W S CTRL-W_S">*CTRL-W_S*
CTRL-W CTRL-S CTRL-W_CTRL-S">*CTRL-W_CTRL-S*
:[N]sp[lit] [++opt] [+cmd] *:sp* *:split*
Partage la fenêtre courante en deux. Cela offre deux vues sur
le même fichier. La nouvelle fenêtre est fixée à une hauteur N
(défaut : moitié de la hauteur de la fenêtre courante). Réduit
la hauteur de la fenêtre courante pour faire de la place (et
des autres, si l'option 'equalalways' est activée et que
'eadirection' ne vaut pas "hor").
NOTE : CTRL-S ne fonctionne pas sur tous les terminaux et
pourra bloquer la saisie de caractères : utilisez alors CTRL-Q
pour y remédier.
Voir aussi |++opt| et |+cmd|.
CTRL-W CTRL-V CTRL-W_CTRL-V">*CTRL-W_CTRL-V*
CTRL-W v CTRL-W_v">*CTRL-W_v*
:[N]vs[plit] [++opt] [+cmd] [fichier] *:vs* *:vsplit*
Comme |:split|, mais partage verticalement. Si 'equalalways'
est activé et que 'eadirection' ne vaut pas "ver", les
fenêtres se développeront horizontalement, à moins qu'une
largeur n'ait été spécifiée.
NOTE : À d'autres endroits, CTRL-Q se comporte comme CTRL-V,
mais ici ce n'est pas le cas !
CTRL-W n CTRL-W_n">*CTRL-W_n*
CTRL-W CTRL_N CTRL-W_CTRL-N">*CTRL-W_CTRL-N*
:[N]new [++opt] [+cmd] *:new*
Crée une nouvelle fenêtre et y débute l'édition d'un fichier
vide. La nouvelle fenêtre est fixée à une hauteur N (défaut :
moitié de la hauteur existante). Réduit la hauteur de la
fenêtre courante pour faire de la place (et des autres, si
l'option 'equalalways' est activée et que 'eadirection' ne
vaut pas "hor").
Voir aussi |++opt| et |+cmd|.
Si 'fileformats' n'est pas vide, le premier format donné sera
utilisé pour le nouveau tampon. Si 'fileformats' est vide, la
valeur de 'fileformat' du tampon courant est utilisée. Cela
peut être recouvert avec l'argument |++opt|.
Les autocommandes sont exécutées dans cet ordre :
1. WinLeave pour la fenêtre courante ;
2. WinEnter pour la nouvelle fenêtre ;
3. BufLeave pour le tampon courant ;
4. BufEnter pour le nouveau tampon.
Cette commande se comporte comme un ":split" d'abord, puis
comme un ":e".
*:vne* *:vnew*
:[N]vne[w] [++opt] [+cmd] [fichier]
Comme |:new|, mais partage verticalement. Si 'equalalways' est
activé et que 'eadirection' ne vaut pas "ver", les fenêtres se
développeront horizontalement, à moins qu'une largeur n'ait
été spécifiée.
:[N]new [++opt] [+cmd] {fichier}
:[N]sp[lit] [++opt] [+cmd] {fichier} *:split_f*
Crée une nouvelle fenêtre et y édite {fichier}. Si [+cmd] est
donné, exécute la commande quand le fichier a été chargé
|+cmd|. Voir aussi |++opt|.
La nouvelle fenêtre est fixée à une hauteur N (défaut : moitié
de la hauteur existante). Réduit la hauteur de la fenêtre
courante pour faire de la place (et des autres, si l'option
'equalalways' est activée).
*:sv* *:sview* *splitview*
:[N]sv[iew] [++opt] [+cmd] {fichier}
Comme ":split", mais active l'option 'readonly' pour ce
tampon.
*:sf* *:sfind* *splitfind*
:[N]sf[ind] [++opt] [+cmd] {fichier}
Comme ":split", mais recherche {fichier} dans 'path'. Pas de
partage si {fichier} n'est pas trouvé.
CTRL-W CTRL-^ CTRL-W_CTRL-^">*CTRL-W_CTRL-^* CTRL-W_^">*CTRL-W_^*
CTRL-W ^ Exécute ":split #" : partage la fenêtre en deux et édite le
fichier alternatif. Si un quantificateur est donné, exécute
":split #N" : partage la fenêtre et édite le tampon N.
NOTE : Les options 'splitbelow' et 'splitright' conditionnent l'emplacement
d'une nouvelle fenêtre.
*:vert* *:vertical*
:vert[ical] {cmd}
Exécute {cmd}. Si {cmd} contient une commande de partage de
fenêtre, le partage se fera verticalement.
:lefta[bove] {cmd} *:lefta* *leftabove*
:abo[veleft] {cmd} *:abo* *:aboveleft*
Exécute {cmd}. Si {cmd} contient une commande de partage de
fenêtre, celle-ci sera ouverte à gauche (partage vertical) ou
en haut (partage horizontal) de la fenêtre courante. Recouvre
les options 'splitbelow' et 'splitright'.
:rightb[elow] {cmd} *:rightb* *:rightbelow*
:bel[owright] {cmd} *:bel* *:belowright*
Exécute {cmd}. Si {cmd} contient une commande de partage de
fenêtre, celle-ci sera ouverte à droite (partage vertical) ou
en bas (partage horizontal) de la fenêtre courante. Recouvre
les options 'splitbelow' et 'splitright'.
*:topleft* *E442*
:to[pleft] {cmd}
Exécute {cmd}. Si {cmd} contient une commande de partage de
fenêtre, celle-ci sera ouverte tout en haut et occupera toute
la largeur de la fenêtre Vim.
Si le partage est vertical, la fenêtre sera ouvert tout à
gauche et occupera toute la hauteur de la fenêtre Vim.
*:botright*
:bo[tright] {cmd}
Exécute {cmd}. Si {cmd} contient une commande de partage de
fenêtre, celle-ci sera ouverte tout en bas et occupera toute
la largeur de la fenêtre Vim.
Si le partage est vertical, la fenêtre sera ouvert tout à
droite et occupera toute la hauteur de la fenêtre Vim.
Ces modificateurs de commandes peuvent être associés pour, par exemple, faire
occuper toute la hauteur disponible à un partage vertical :Ceci ouvre une fenêtre verticalement, sur toute la hauteur et tout à gauche de
la fenêtre Vim, et y édite le fichier "tags".
FERMER UNE FENÊTRE
CTRL-W q CTRL-W_q">*CTRL-W_q*
CTRL-W CTRL-Q CTRL-W_CTRL-Q">*CTRL-W_CTRL-Q*
:q[uit] Quitte la fenêtre courante. Si vous quittez la dernier fenêtre
(sans compter la fenêtre d'aide), quitte Vim.
Si 'hidden' est activé et qu'il n'y a qu'une seule fenêtre
pour le tampon courant, celui-ci devient caché.
Si 'hidden' est désactivé, qu'il n'y a qu'une seule fenêtre
pour le tampon courant et que le tampon a été changé, la
commande échoue.
NOTE : CTRL-Q ne fonctionne pas sur certains terminaux.
:q[uit]! Quitte la fenêtre courante. Si c'était la dernière fenêtre
pour un tampon, tous les changements pour ce tampon sont
perdus. Si vous quittez la dernier fenêtre (sans compter la
fenêtre d'aide), quitte Vim. Le contenu des tampons est perdu,
même lorsque 'hidden' est activé.
CTRL-W c CTRL-W_c">*CTRL-W_c* *:clo* *:close*
:clo[se][!] Ferme la fenêtre courante. Si l'option 'hidden' est activée,
ou si le tampon a été changé et que [!] est utilisé, le tampon
devient caché (à moins qu'une autre fenêtre ne l'édite).
Cette commande échoue si : *E444*
- il y a une seule fenêtre à l'écran ;
- 'hidden' n'est pas activé, [!] pas spécifié, le tampon
contient des changements, et il n'y a qu'une seule fenêtre
pour ce tampon.
Les changements du tampon ne seront pas écrits ni perdus,
cette commande est donc « sûre ».
CTRL-W_CTRL-C">*CTRL-W_CTRL-C*
CTRL-W CTRL-C Vous vous attendiez peut-être à ce que "CTRL-W CTRL-C" ferme
la fenêtre courante, mais cela ne marchera pas, parce que
CTRL-C annule la commande.
*:hide*
:hid[e] Quitte la fenêtre courante, à moins que ce ne soit la dernière
fenêtre à l'écran. Le tampon devient caché (à moins qu'une
autre fenêtre ne l'édite ou que 'bufhidden' vaille "unload" ou
"delete"). La valeur de l'option 'hidden' n'influence pas
cette commande.
Les changements du tampon ne seront pas écrits ni perdus,
cette commande est donc « sûre ».
:hid[e] {cmd} Exécute {cmd} avec 'hidden' activé. La valeur précédente de
'hidden' est restaurée après l'exécution de {cmd}.
Exemple : Ceci éditera "Makefile" et cachera le tampon courant s'il
contient des changements.
CTRL-W o CTRL-W_o">*CTRL-W_o* *E445*
CTRL-W CTRL-O CTRL-W_CTRL-O">*CTRL-W_CTRL-O* *:on* *:only*
:on[ly][!] Fait de la fenêtre courante la seule à l'écran. Toutes les
autres fenêtres sont fermées.
Si 'hidden' est activé, tous les tampons dans des fenêtres
fermées deviennent cachés.
Si 'hidden' est désactivé et que 'autowrite' est activé, les
tampons modifiés sont écrits. Sinon, les fenêtres contenant
des tampons modifiés ne sont pas supprimées, à moins que [!]
ne soit spécifié, auquel cas ils deviennent cachés. Mais des
tampons modifiés ne sont jamais abandonnés, les changements ne
peuvent donc pas être perdus.
==============================================================================
4. Déplacer le curseur dans d'autres fenêtres *window-move-cursor*
CTRL-W <Bas> CTRL-W_<Down>">*CTRL-W_<Down>*
CTRL-W CTRL-J CTRL-W_CTRL-J">*CTRL-W_CTRL-J* CTRL-W_j">*CTRL-W_j*
CTRL-W j Déplace le curseur dans la N-ième fenêtre en dessous de la
courante. Utilise la position du curseur pour choisir en
cas d'alternative.
CTRL-W <Haut> CTRL-W_<Up>">*CTRL-W_<Up>*
CTRL-W CTRL-K CTRL-W_CTRL-K">*CTRL-W_CTRL-K* CTRL-W_k">*CTRL-W_k*
CTRL-W k Déplace le curseur dans la N-ième fenêtre au-dessus de la
courante. Utilise la position du curseur pour choisir en
cas d'alternative.
CTRL-W <Gauche> CTRL-W_<Left>">*CTRL-W_<Left>*
CTRL-W CTRL-H CTRL-W_CTRL-H">*CTRL-W_CTRL-H*
CTRL-W <BS> CTRL-W_<BS>">*CTRL-W_<BS>* CTRL-W_h">*CTRL-W_h*
CTRL-W h Déplace le curseur dans la N-ième fenêtre à gauche de la
courante. Utilise la position du curseur pour choisir en cas
d'alternative.
CTRL-W <Droite> CTRL-W_<Right>">*CTRL-W_<Right>*
CTRL-W CTRL-L CTRL-W_CTRL-L">*CTRL-W_CTRL-L* CTRL-W_l">*CTRL-W_l*
CTRL-W l Déplace le curseur dans la N-ième fenêtre à droite de la
courante. Utilise la position du curseur pour choisir en cas
d'alternative.
CTRL-W w CTRL-W_w">*CTRL-W_w* CTRL-W_CTRL-W">*CTRL-W_CTRL-W*
CTRL-W CTRL-W Sans quantificateur : déplace le curseur dans la fenêtre en
bas et à droite de la fenêtre courante. S'il n'y a pas de
fenêtre en bas ou à droite, remonte à la fenêtre en haut et à
gauche.
Avec quantificateur : va à la N-ième fenêtre (les fenêtres
sont numérotées de de gauche à droite et de haut en bas).
CTRL-W_W">*CTRL-W_W*
CTRL-W W Sans quantificateur : déplace le curseur dans la fenêtre en
haut et à gauche de la fenêtre courante. S'il n'y a pas de
fenêtre en haut ou à gauche, remonte à la fenêtre en bas et à
droite.
Avec quantificateur : va à la N-ième fenêtre (les fenêtres
sont numérotées de de gauche à droite et de haut en bas).
CTRL-W t CTRL-W_t">*CTRL-W_t* CTRL-W_CTRL-T">*CTRL-W_CTRL-T*
CTRL-W CTRL-T Déplace le curseur dans la fenêtre tout en haut et à gauche.
["Top"]
CTRL-W b CTRL-W_b">*CTRL-W_b* CTRL-W_CTRL-B">*CTRL-W_CTRL-B*
CTRL-W CTRL-B Déplace le curseur dans la fenêtre tout en bas et à droite.
["Bottom"]
CTRL-W p CTRL-W_p">*CTRL-W_p* CTRL-W_CTRL-P">*CTRL-W_CTRL-P*
CTRL-W CTRL-P Va à la fenêtre précédente (la dernière à laquelle vous avez
accédé).
CTRL-W_P">*CTRL-W_P* *E441*
CTRL-W P Va à la fenêtre d'aperçu. Quand il n'y a pas de fenêtre
d'aperçu, émet un message d'erreur. ["Preview"]
{uniquement si compilé avec la fonctionnalité |+quickfix|}
Si le mode Visuel est actif et que la nouvelle fenêtre ne concerne pas le
tampon courant, le mode Visuel est arrêté. Si la nouvelle fenêtre contient le
même tampon, la position du curseur est fixée pour pouvoir conserver la même
zone Visuel sélectionnée.
*:winc* *:wincmd*
Ces commandes peuvent aussi être exécutées avec ":wincmd" :
:[quant]winc[md] {arg}
Identique à l'exécution de "CTRL-W [quant] {arg}". Par
exemple amène à la fenêtre en dessous de la fenêtre courante.
Cette commande est utile quand une commande du mode Normal ne
peut pas être utilisée (avec l'événement d'autocommande
|CursorHold|) ; ou bien quand elle est gênante.
==============================================================================
5. Déplacer des fenêtres *window-moving*
CTRL-W r CTRL-W_r">*CTRL-W_r* CTRL-W_CTRL-R">*CTRL-W_CTRL-R* *E443*
CTRL-W CTRL-R Opère une rotation des toutes les fenêtres vers le bas/droite.
La première fenêtre devient la deuxième, la deuxième devient
la troisième, etc. La dernière fenêtre devient la première. Le
curseur reste dans la même fenêtre.
Cela marche uniquement dans la ligne ou colonne de fenêtre
dans laquelle se trouve la fenêtre courante.
CTRL-W_R">*CTRL-W_R*
CTRL-W R Opère une rotation des toutes les fenêtres vers le haut/gauche.
La deuxième fenêtre devient la première, la troisième devient
la deuxième, etc. La première fenêtre devient la dernière. Le
curseur reste dans la même fenêtre.
Cela marche uniquement dans la ligne ou colonne de fenêtre
dans laquelle se trouve la fenêtre courante.
CTRL-W x CTRL-W_x">*CTRL-W_x* CTRL-W_CTRL-X">*CTRL-W_CTRL-X*
CTRL-W CTRL-X Sans quantificateur : permute les fenêtres courante et
suivante. S'il n'y a pas de fenêtre suivante, permute avec la
précédente.
Avec quantificateur : permute la fenêtre courante avec la
N-ième fenêtre (la première fenêtre vaut 1). Le curseur est
placé dans l'autre fenêtre.
Cela marche uniquement dans la ligne ou colonne de fenêtre
dans laquelle se trouve la fenêtre courante. ["eXchange"]
Les commandes suivantes peuvent être utilisées pour changer la disposition des
fenêtres. Par exemple, si vous avez deux fenêtres partagées verticalement,
"CTRL-W K" les transformera en fenêtres partagées horizontalement. "CTRL-W H"
agit dans le sens inverse.
CTRL-W_K">*CTRL-W_K*
CTRL-W K Déplace la fenêtre tout en haut de l'écran, en utilisant toute
la largeur disponible. C'est identique à la fermeture de la
fenêtre courante et à la création d'une autre fenêtre avec
":topleft split", sauf que le contenu de la fenêtre courante
est utilisé pour cette nouvelle fenêtre.
CTRL-W_J">*CTRL-W_J*
CTRL-W J Déplace la fenêtre tout en bas de l'écran, en utilisant toute
la largeur disponible. C'est identique à la fermeture de la
fenêtre courante et à la création d'une autre fenêtre avec
":botright split", sauf que le contenu de la fenêtre courante
est utilisé pour cette nouvelle fenêtre.
CTRL-W_H">*CTRL-W_H*
CTRL-W H Déplace la fenêtre tout à gauche de l'écran, en utilisant toute
la hauteur disponible. C'est identique à la fermeture de la
fenêtre courante et à la création d'une autre fenêtre avec
":vert topleft split", sauf que le contenu de la fenêtre
courante est utilisé pour cette nouvelle fenêtre.
{uniquement si compilé avec la fonctionnalité |+vertsplit|}
CTRL-W_L">*CTRL-W_L*
CTRL-W L Déplace la fenêtre tout à droite de l'écran, en utilisant toute
la hauteur disponible. C'est identique à la fermeture de la
fenêtre courante et à la création d'une autre fenêtre avec
":vert botright split", sauf que le contenu de la fenêtre
courante est utilisé pour cette nouvelle fenêtre.
{uniquement si compilé avec la fonctionnalité |+vertsplit|}
==============================================================================
6. Redimensionner des fenêtres *window-resize*
CTRL-W_=">*CTRL-W_=*
CTRL-W = Met toutes les fenêtres à (peu près à) la même hauteur et
largeur, mais utilise 'winheight' et 'winwidth' pour la
fenêtre courante.
:res[ize] -{N} *:res* *:resize* CTRL-W_-">*CTRL-W_-*
CTRL-W - Diminue la hauteur de la fenêtre courante de N (défaut : 1).
Si utilisé après ":vertical" : diminue la largeur de N.
:res[ize] +{N} CTRL-W_+">*CTRL-W_+*
CTRL-W + Augmente la hauteur de la fenêtre courante de N (défaut : 1).
Si utilisé après ":vertical" : augmente la largeur de N.
:res[ize] [N]
CTRL-W CTRL-_ CTRL-W_CTRL-_">*CTRL-W_CTRL-_* CTRL-W__">*CTRL-W__*
CTRL-W _ Fixe la hauteur de la fenêtre courante à N (défaut : le plus
haut possible).
z{nombre}<CR> Fixe la hauteur de la fenêtre courante à {nombre}.
CTRL-W_<">*CTRL-W_<*
CTRL-W < Diminue la largeur de la fenêtre courante de N (défaut : 1).
CTRL-W_>">*CTRL-W_>*
CTRL-W > Augmente la largeur de la fenêtre courante de N (défaut : 1).
:vertical res[ize] [N] *:vertical-resize* CTRL-W_bar">*CTRL-W_bar*
CTRL-W | Fixe la largeur de la fenêtre courante à N (défaut : le plus
large possible).
Vous pouvez aussi redimensionner une fenêtre en tirant sa ligne d'état vers le
haut ou vers le bas avec la souris. Ou en tirant une séparation verticale vers
la gauche/droite. Cela ne fonctionne que si la version de Vim qui est utilisée
supporte la souris et que l'option 'mouse' a été fixée pour l'activer.
L'option 'winheight' ('wh') est utilisée pour fixer la hauteur minimale de la
fenêtre courante. Cette option est utilisée à chaque fois qu'une autre fenêtre
devient la fenêtre courante. Si l'option vaut 0, elle est désactivée. Fixez
'winheight' à un nombre très grand (par exemple, 9999) pour que la fenêtre
courante occupe toujours tout l'espace disponible. Fixez-le à un nombre
raisonnable (p. ex., 10) pour rendre l'édition dans la fenêtre courante
confortable.
L'option équivalente 'winwidth' ('wiw') est utilisée pour fixer la largeur
minimale de la fenêtre courante.
Quand l'option 'equalalways' ('ea') est activée, toutes les fenêtres sont
automatiquement mises à la même taille après le partage ou la fermeture d'une
fenêtre. Si cette option n'est pas activée, le partage d'une fenêtre réduira
la taille de la fenêtre courante et laissera les autres fenêtres inchangées ;
à la fermeture d'une fenêtre, les lignes ainsi libérées sont données à la
fenêtre du dessus.
L'option 'eadirection' limite la direction dans laquelle 'equalalways' doit
s'appliquer. La valeur par défaut "both" appliquera le redimensionnement dans
les deux directions. Si cette option vaut "ver", seule la hauteur des fenêtres
sera égalisée. Utilisez cette valeur quand vous avez redimensionné un partage
vertical à la main et que vous souhaitez conserver la même largeur. De la même
façon, "hor" appliquera le redimensionnement à la seule largeur des fenêtres.
L'option 'cmdheight' ('ch') est utilisée pour fixer la hauteur de la ligne de
commande. Si vous êtes importunés par des invites Appuyez-sur-entrée
|hit-enter| pour des messages longs, fixez cette option à 2 ou 3.
S'il n'y a qu'une seule fenêtre, son redimensionnement changera également la
hauteur de la ligne de commande. S'il y a plusieurs fenêtres, le
redimensionnement de la fenêtre courante changera aussi la hauteur de la
fenêtre du dessous (et parfois aussi celle du dessus).
La hauteur et la largeur minimale d'une fenêtre sont données par les options
'winminheight' et 'winminwidth'. Ces valeurs sont absolues, une fenêtre ne
deviendra jamais plus petite.
==============================================================================
7. Commandes pour les listes des arguments et des tampons *buffer-list*
LISTE DES ARGUMENTS LISTE DES TAMPONS SIGNIFICATION
1. :[N]argument [N] 11. :[N]buffer [N] à l'arg/tamp N
2. :[N]next [fich...] 12. :[N]bnext [N] au N-ième arg/tamp suivant
3. :[N]Next [N] 13. :[N]bNext [N] au N-ième arg/tamp précédent
4. :[N]previous [N] 14. :[N]bprevious [N] au N-ième arg/tamp précédent
5. :rewind/:first 15. :brewind/:bfirst au premier arg/tamp
6. :last 16. :blast au dernier arg/tamp
7. :all 17. :ball édite tous les arg/tamp
18. :unhide édite tous les tampons chargés
19. :[N]bmod [N] au N-ième tampon modifié
PARTAGE & LISTE ARG. PARTAGE & LISTE TAMP. SIGNIFICATION
21. :[N]sargument [N] 31. :[N]sbuffer [N] partage & à l'arg/tamp N
22. :[N]snext [fich..] 32. :[N]sbnext [N] partage & au N-ième arg/tamp suiv
23. :[N]sNext [N] 33. :[N]sbNext [N] partage & au N-ième arg/tamp préc
24. :[N]sprevious [N] 34. :[N]sbprevious [N] partage & au N-ième arg/tamp préc
25. :srewind/:sfirst 35. :sbrewind/:sbfirst partage & au premier arg/tamp
26. :slast 36. :sblast partage & au dernier arg/tamp
27. :sall 37. :sball édite tous les arg/tamp
38. :sunhide édite tous les tampons chargés
39. :[N]sbmod [N] partage & au N-ième tamp modifié
40. :args liste des arguments
41. :buffers liste des tampons
La signification de [N] dépend de la commande :
- [N] est le nombre d'arguments/tampons à sauter pour ?2, ?3 et ?4 ;
- [N] est un numéro d'argument (argument courant par défaut) pour 1 et 21 ;
- [N] est un numéro de tampon (tampon courant par défaut) pour 11 et 31 ;
- [N] est un quantificateur pour 19 et 39.
NOTE : ":next" est une exception, car il doit accepter une liste de noms de
fichiers (cela est compatible Vi).
LA LISTE DES TAMPONS ET LE MULTI-FENÊTRAGE
La position courante dans la liste des arguments peut être la même pour chaque
fenêtre. Rappelez-vous que lorsque vous faites ":e fichier", la position dans
la liste des arguments reste la même, mais vous n'êtes pas en train d'éditer
le fichier correspondant à cette position. Pour indiquer ceci, le message de
fichier (et de titre si vous en avez un) affichera "(file (N) of M)", où "(N)"
désigne la position courante dans la liste des fichiers, et "M" le nombre de
fichiers dans cette liste.
Toutes les entrées dans la liste des arguments sont ajoutées à la liste des
tampons. Ainsi, vous pouvez y accéder avec les commandes de liste des tampons,
comme ":bnext".
:[N]al[l][!] [N] *:al* *:all*
:[N]sal[l][!] [N] *:sal* *:sall*
Réarrange l'écran pour ouvrir une fenêtre pour chaque
argument. Toutes les autres fenêtres sont fermées. Si un
quantificateur est donné, il indique le nombre maximal de
fenêtres à ouvrir.
Si 'hidden' est activé, tous les tampons dans des fenêtres
fermées deviennent cachés.
Si 'hidden' est désactivé et que 'autowrite' est activé, les
tampons modifiés sont écrits. Sinon, les fenêtres contenant
des tampons modifiés ne sont pas supprimées, à moins que [!]
ne soit spécifié, auquel cas ils deviennent cachés. Mais des
tampons modifiés ne sont jamais abandonnés, les changements ne
peuvent donc pas être perdus.
Les autocommandes "Buf/Win Enter/Leave" ne sont pas exécutées
ici pour les nouvelles fenêtres, mais uniquement quand
l'entrée est effective.
*:sa* *:sargument*
:[N]sa[rgument][!] [++opt] [+cmd] [N]
Raccourci pour ":split | argument [N]" : partage la fenêtre
courante et édite le N-ième argument. Mais si cet argument
n'existe pas, ne partage pas. Voir aussi |++opt| et |+cmd|.
*:sn* *:snext*
:[N]sn[ext][!] [++opt] [+cmd] [fichier ...]
Raccourci pour ":split | [N]next" : partage la fenêtre
courante et édite le N-ième argument suivant. Mais si cet
argument n'existe pas, ne partage pas. Voir aussi |++opt| et
|+cmd|.
:[N]spr[evious][!] [++opt] [+cmd] [N] *:spr* *:sprevious*
:[N]sN[ext][!] [++opt] [+cmd] [N] *:sN* *:sNext*
Raccourci pour ":split | [N]Next" : partage la fenêtre
courante et édite le N-ième argument précédent. Mais si cet
argument n'existe pas, ne partage pas. Voir aussi |++opt| et
|+cmd|.
*:sr* *:srewind*
:sr[ewind][!] [++opt] [+cmd]
Raccourci pour ":split | rewind" : partage la fenêtre
courante et édite le premier argument. Mais s'il n'y a pas de
liste des arguments, ne partage pas. Voir aussi |++opt| et
|+cmd|.
*:sfir* *:sfirst*
:sfir[st] [++opt] [+cmd]
Comme ":srewind".
*:sla* *:slast*
:sla[st][!] [++opt] [+cmd]
Raccourci pour ":split | last" : partage la fenêtre courante
et édite le dernier argument. Mais s'il n'y a pas de liste des
arguments, ne partage pas. Voir aussi |++opt| et |+cmd|.
*:dr* *:drop*
:dr[op] {fichier} ...
Édite le premier {fichier} dans un fenêtre.
- Si le fichier est déjà ouvert dans une fenêtre, va à cette
fenêtre.
- Si le fichier n'est pas ouvert dans un fenêtre, édite le
fichier dans la fenêtre courante. Si le tampon courant ne
peut pas être |abandon|né, la fenêtre est d'abord partagée.
La liste des arguments |argument-list| est fixée, comme avec
la commande |:next|.
L'intérêt de cette commande est d'être utilisée depuis un
autre programme (p. ex. un débogueur) pour faire éditer
d'autres fichiers à Vim.
{uniquement si compilé avec la fonctionnalité |+gui|}
==============================================================================
8. Exécuter une commande dans tous les tampons ou fenêtres *list-repeat*
*:windo*
:windo[!] {cmd} Exécute {cmd} dans chaque fenêtre. Cela revient à faire : Si une erreur est détectée dans une fenêtre, les fenêtres
suivantes ne seront pas visitées.
La dernière fenêtre (ou celle où une erreur est rencontrée)
devient la fenêtre courante.
{cmd} peut contenir '|' pour concaténer plusieurs commandes,
mais ne doit pas ouvrir, fermer ou réordonner des fenêtres.
NOTE : Quand cette commande est exécutée, l'événement
d'autocommande Syntax est désactivé en étant ajouté à
'eventignore'.
{absent de Vi} {uniquement si compilé avec la fonctionnalité
|+listcmds|}
Voir aussi |:argdo| et |:bufdo|.
*:bufdo*
:bufdo[!] {cmd} Exécute {cmd} dans chaque tampon de la liste des tampons. Cela
revient à faire : Quand le fichier courant ne peut pas être |abandon|né et que
[!] n'est pas spécifié, la commande échoue.
Si une erreur est détectée dans un tampon, les tampons
suivants ne seront pas visités.
Les tampons non listés sont sautés.
Le dernier tampon (ou celui où une erreur est rencontrée)
devient le tampon courant.
{cmd} peut contenir '|' pour concaténer plusieurs commandes,
mais ne doit pas supprimer ou ajouter des tampons à la liste
des tampons.
NOTE : Quand cette commande est exécutée, l'événement
d'autocommande Syntax est désactivé en étant ajouté à
'eventignore'. Cela accélère considérablement l'édition de
chaque tampon.
{absent de Vi} {uniquement si compilé avec la fonctionnalité
|+listcmds|}
Voir aussi |:argdo| et |:windo|.
Exemples :Ceci désactive l'option 'list' et les replis dans toutes les fenêtres.Ceci annule la valeur de 'fileencoding' dans chaque tampon et l'écrit si son
contenu est modifié. Le résultat est que tous les tampons utiliseront
l'encodage 'encoding' (si la conversion marche correctement).
==============================================================================
9. Nom de marqueur ou de fichier sous le curseur *window-tag*
*:sta* *:stag*
:sta[g][!] [nommarqueur]
Exécute ":tag[!] [nommarqueur]" et partage la fenêtre pour le
marqueur trouvé. Voir aussi |:tag|.
CTRL-W ] CTRL-W_]">*CTRL-W_]* CTRL-W_CTRL-]">*CTRL-W_CTRL-]*
CTRL-W CTRL-] Partage la fenêtre courante en deux. Utilise l'identifiant
sous le curseur comme un marqueur et y saute dans la nouvelle
fenêtre. Fixe la hauteur de la nouvelle fenêtre à N.
CTRL-W_g]">*CTRL-W_g]*
CTRL-W g ] Partage la fenêtre courante en deux. Utilise l'identifiant
sous le curseur comme un marqueur et effectue ":tselect"
dessus dans la nouvelle fenêtre. Fixe la hauteur de la
nouvelle fenêtre à N.
CTRL-W_g_CTRL-]">*CTRL-W_g_CTRL-]*
CTRL-W g CTRL-] Partage la fenêtre courante en deux. Utilise l'identifiant
sous le curseur comme un marqueur et effectue ":tjump" dessus
dans la nouvelle fenêtre. Fixe la hauteur de la nouvelle
fenêtre à N.
CTRL-W f CTRL-W_f">*CTRL-W_f* CTRL-W_CTRL-F">*CTRL-W_CTRL-F*
CTRL-W CTRL-F Partage la fenêtre courante en deux. Édite le nom de fichier
sous le curseur. Comme ":split ]f", mais la fenêtre n'est pas
partagée si le fichier n'existe pas.
Utilise la variable 'path' comme une liste de noms de
répertoires où rechercher le fichier. Le chemin du fichier
courant est également utilisé.
Si le nom de fichier est un lien hypertexte de la forme
"type://machine/chemin", seul "/chemin" est utilisé.
Si un quantificateur est donné, le [quant]-ième fichier
correspondant est édité.
{uniquement si compilé avec la fonctionnalité |+file_in_path|}
Voir aussi |CTRL-W_CTRL-I| : ouvre une fenêtre pour le fichier inclus dont le
nom est compris dans le mot-clé sous le curseur.
==============================================================================
10. La fenêtre d'aperçu *preview-window*
La fenêtre d'aperçu est une fenêtre spéciale permettant d'afficher (de
visualiser) un autre fichier. C'est normalement une petite fenêtre utilisée
pour afficher un fichier inclus ou la définition d'une fonction.
{uniquement si compilé avec la fonctionnalité |+quickfix|}
Il ne peut y avoir qu'une seule fenêtre d'aperçu. Elle est créée avec une des
commandes ci-dessous. L'option 'previewheight' peut être fixée pour spécifier
la hauteur de la fenêtre d'aperçu quand elle est ouverte. L'option
'previewwindow' est fixée dans la fenêtre d'aperçu afin de la reconnaître.
L'option 'winfixheight' est fixée afin qu'elle conserve la même taille lors de
l'ouverture/fermeture d'autres fenêtres.
*:pta* *:ptag*
:pta[g][!] [nommarqueur]
Exécute ":tag[!] [nommarqueur]" et affiche le marqueur trouvé
dans une fenêtre d'aperçu sans changer le tampon courant ou la
position du curseur. Si une fenêtre d'aperçu existe déjà, elle
est réemployée (comme pour une fenêtre d'aide). Si une
nouvelle fenêtre est ouverte, 'previewheight' est utilisée
pour fixer la hauteur. Voir aussi |:tag|.
Voir ci-dessous pour un exemple. |CursorHold-example|
CTRL-W z CTRL-W_z">*CTRL-W_z*
CTRL-W CTRL-Z CTRL-W_CTRL-Z">*CTRL-W_CTRL-Z* *:pc* *:pclose*
:pc[lose][!] Ferme toute fenêtre d'aperçu actuellement ouverte. Si l'option
'hidden' est activée, ou si le tampon a été changé et que [!]
est spécifié, le tampon devient caché (à moins qu'une autre
fenêtre ne l'édite). La commande échoue si une fenêtre
d'aperçu ne peut pas être fermé. Voir aussi |:close|.
*:pp* *:ppop*
:[quant]pp[op][!]
Exécute ":[quant]pop[!]" dans la fenêtre d'aperçu. Voir |:pop|
et |:ptag|. {absent de Vi}
CTRL-W_}">*CTRL-W_}*
CTRL-W } Utilise l'identifiant sous le curseur et effectue ":ptag"
dessus. Fixe la hauteur de la nouvelle (si nécessaire) fenêtre
d'aperçu à N. Si N n'est pas donné, 'previewheight' est
utilisé.
CTRL-W_g}">*CTRL-W_g}*
CTRL-W g } Utilise l'identifiant sous le curseur et effectue ":ptjump"
dessus. Fixe la hauteur de la nouvelle (si nécessaire) fenêtre
d'aperçu à N. Si N n'est pas donné, 'previewheight' est
utilisé.
*:ped* *:pedit*
:ped[it][!] [++opt] [+cmd] {fichier}
Édite {fichier} dans la fenêtre d'aperçu. La fenêtre d'aperçu
est ouverte comme ouverte comme avec |:ptag|. La fenêtre
courante et la position du curseur ne sont pas changées.
Exemple utile :
*:ps* *:psearch*
:[plage]ps[earch][!] [quant] [/]motif[/]
Fonctionne comme |:ijump| mais affiche la correspondance
trouvéé dans la fenêtre d'aperçu. La fenêtre d'aperçu est
ouverte comme avec |:ptag|. La fenêtre courante et la position
du curseur ne sont pas changées. Exemple utile : Comme avec la commande |:ptag|, vous pouvez utiliser ceci pour
afficher automatiquement des informations sur le mot sous le
curseur. C'est moins ingénieux que d'utiliser |:ptag|, mais
vous n'avez pas besoin d'un fichier de marqueurs et vous aurez
aussi les correspondances dans les fichiers système inclus.
Exemple : Attention : Cela peut être lent.
EXEMPLE *CursorHold-example* Ceci provoquera l'exécution d'une commande ":ptag" pour le mot-clé sous le
curseur, si le curseur n'a pas bougé pendant un temps fixé par 'updatetime'.
Le "nested" provoque l'exécution des autres autocommandes, pour que la
coloration syntaxique fonctionne dans la fenêtre de aperçu. Le "silent!" évite
un message d'erreur quand le marqueur ne peut pas être trouvé. Voir aussi
|CursorHold|. Pour désactiver ceci à nouveau :Cet exemple peut être amélioré en mettant en surbrillance le marqueur trouvé,
en annulant la commande quand il n'y a pas de mot sous le curseur, et avec
quelques autres éléments :==============================================================================
11. Utiliser les tampons cachés *buffer-hidden*
Un tampon caché n'est pas montré dans une fenêtre, mais est tout de même
chargé en mémoire. Cela permet de sauter d'un fichier à un autre sans avoir
besoin de lire ou d'enregistrer le fichier à chaque fois que vous appelez un
autre tampon dans une fenêtre.
{uniquement si compilé avec la fonctionnalité |+listcmds|}
*:buffer-!*
Si l'option 'hidden' ('hid') est activée, les tampons abandonnés sont
conservés pour toutes les commandes qui lancent l'édition d'un autre fichier :
":edit", ":next", ":tag", etc. Les commandes qui font parcourir la liste des
tampons rendent parfois le tampon courant caché, même quand 'hidden' n'est pas
activé. Cela se produit lorsqu'un tampon contenant des changements est obligé
(par '!') de libérer un fenêtre, si 'autowrite' est désactivé ou que le tampon
ne peut pas être écrit.
Vous pouvez changer un tampon caché en tampon non caché en l'éditant avec
n'importe quelle commande. Ou en le supprimant avec la commande ":bdelete".
L'option 'hidden' est globale, elle est utilisée pour tous les tampons.
L'option 'bufhidden' peut être utilisée pour définir une exception pour un
tampon particulier. Elle peut prendre une des valeurs suivantes :
<vide> utilise la valeur de 'hidden'
hide cache ce tampon, même quand 'hidden' est désactivé
unload ne cache pas mais décharge ce tampon, même quand
'hidden' est activé
delete supprime ce tampon
*hidden-quit*
Quand vous essayez de quitter Vim alors qu'il y a un tampon caché et modifié,
un message d'erreur sera émis et ce tampon deviendra le tampon courant. Vous
pouvez alors décider de l'écrire (":wq") ou de quitter sans l'écrire (":q!").
ATTENTION : Il peut y avoir plus d'un tampon modifié et caché !
Un tampon peut aussi être non listé. Cela signifie qu'il existe, mais qu'il
n'apparaît pas dans la liste des tampons. |unlisted-buffer|
:files[!] *:files*
:buffers[!] *:buffers* *:ls*
:ls[!] Liste tous les tampons. Exemple :
1 #h "/test/texte" line 1
2u "toto" line 0
3 %l+ "version.c" line 1
Si [!] est spécifié, la liste mentionnera aussi les tampons
non listés (le terme « non listé » prête ici un peu à
confusion...).
Chaque tampon possède un numéro unique. Ce numéro ne sera pas
changé, vous pourrez toujours accéder à un tampon particulier
avec ":buffer N" ou "N CTRL-^", où N désigne le numéro du
tampon.
Indicateurs (les caractères dans la même colonne s'excluent
mutuellement) :
u un tampon non listé (donné uniquement si [!] est
spécifié) |unlisted-buffer|
% le tampon courant
# le tampon alternatif (pour ":e #" et CTRL-^)
a un tampon actif : il est chargé et visible
h un tampon caché : il est chargé mais pas actuellement
affiché dans une fenêtre |hidden-buffer|
- un tampon avec 'modifiable' désactivé
= un tampon en lecture seule
+ un tampon modifié
x un tampon contenant des erreurs de lecture
*:bad* *:badd*
:bad[d] [+nol] {nomfich}
Ajoute le nom de fichier {nomfich} à la liste des tampons,
sans le charger. Si [+nol] est spécifié, le curseur sera
positionné sur cette ligne lors de la première entrée dans le
tampon.
NOTE : Les autres commandes après le '+' seront ignorées.
:[N]bd[elete][!] *:bd* *:bdel* *:bdelete* *E516*
:bd[elete][!] [N]
Décharge le tampon N (défaut : tampon courant) et le supprime
de la liste des tampons. Si le tampon a été changé, cela
échoue, à moins que [!] ne soit spécifié, auquel cas les
changements sont perdus.
Le fichier reste inchangé. Toutes les fenêtres pour ce tampon
sont fermées. Si le tampon N est le tampon courant, un autre
tampon sera utilisé à la place. Il s'agira de l'entrée la plus
récente dans la liste des sauts qui pointe vers un tampon
chargé.
En fait le tampon n'est pas complètement supprimé, il est
simplement ôté de la liste des tampons |unlisted-buffer| et
les valeurs des options, des variables, les mappages et
abréviations pour le tampon sont effacées.
*E93* *E94*
:bdelete[!] {nomtampon}
Comme ":bdelete[!] [N]", mais le tampon est donné par son nom.
NOTE : Un tampon dont le nom est un nombre ne peut pas être
référencé par ce nom ; utilisez le numéro du tampon à la
place. Insérez une contre-oblique avant un espace dans le nom
d'un tampon.
:bdelete[!] N1 N2 ...
Exécute ":bdelete[!]" pour les tampons N1, N2, etc. Les
arguments peuvent être des numéros de tampons ou des noms de
tampons (mais pas des noms de tampons qui soient un nombre).
Insérez une contre-oblique avant un espace dans le nom d'un
tampon.
:N,Mbdelete[!] Exécute ":bdelete[!]" pour tous les tampons compris dans la
plage de N à M (inclus).
:[N]bw[ipeout][!] *:bw* *:bwipe* *:bwipeout* *E517*
:bw[ipeout][!] {nomtampon}
:N,Mbw[ipeout][!]
:bw[ipeout][!] N1 N2 ...
Comme |:bdelete|, mais supprime réellement le tampon (le
« liquide »). Toutes les marques pour ce tampons deviennent
invalides, les paramètres d'options sont perdus, etc.
N'utilisez cette commande que si vous savez ce que vous
faites.
:[N]bun[load][!] *:bun* *:bunload* *E515*
:bun[load][!] [N]
Décharge le tampon N (défaut : tampon courant). La mémoire
allouée pour ce tampon sera libérée. Le tampon reste dans la
liste des tampons.
Si le tampon a été changé, cela échoue, à moins que [!] ne
soit spécifié, auquel cas les changements sont perdus.
Toutes les fenêtres pour ce tampon sont fermées. Si le tampon
N est le tampon courant, un autre tampon sera utilisé à la
place. Il s'agira de l'entrée la plus récente dans la liste
des sauts qui pointe vers un tampon chargé.
:bunload[!] {nomtampon}
Comme ":bunload[!] [N]", mais le tampon est donné par son nom.
NOTE : Un tampon dont le nom est un nombre ne peut pas être
référencé par ce nom ; utilisez le numéro du tampon à la
place. Insérez une contre-oblique avant un espace dans le nom
d'un tampon.
:N,Mbunload[!] Exécute ":bunload[!]" pour tous les tampons compris dans la
plage de N à M (inclus).
:bunload[!] N1 N2 ...
Exécute ":bunload[!]" pour les tampons N1, N2, etc. Les
arguments peuvent être des numéros de tampons ou des noms de
tampons (mais pas des noms de tampons qui soient un nombre).
Insérez une contre-oblique avant un espace dans le nom d'un
tampon.
*:b* *:bu* *:buf* *:buffer* *E86*
:[N]b[uffer][!] [N]
Édite le tampon N de la liste des tampons. Si N n'est pas
donné, le tampon courant reste celui édité. Voir |:buffer-!|
pour [!]. Cela éditera aussi un tampon qui n'est pas dans la
liste des tampons, sans activer l'option 'buflisted'.
:[N]b[uffer][!] {nomfich}
Édite le tampon de la liste des tampons correspondant à
{nomfich}. Voir |:buffer-!| pour [!]. Cela éditera aussi un
tampon qui n'est pas dans la liste des tampons, sans activer
l'option 'buflisted'.
*:sb* *:sbuffer*
:[N]sb[uffer] [N]
Partage la fenêtre et édite le tampon N de la liste des
tampons. Si N n'est pas donné, le tampon courant reste celui
édité. Respecte le drapeau "useopen" de l'option 'switchbuf'
lors du partage. Cela éditera aussi un tampon qui n'est pas
dans la liste des tampons, sans activer l'option 'buflisted'.
:[N]sb[uffer] {nomfich}
Partage la fenêtre et édite le tampon de la liste des tampons
correspondant à {nomfich}. Cela éditera aussi un tampon qui
n'est pas dans la liste des tampons, sans activer l'option
'buflisted'.
*:bn* *:bnext* *E87*
:[N]bn[ext][!] [N]
Va au N-ième tampon suivant de la liste des tampons (N vaut 1
par défaut). Boucle à la fin de la liste des tampons. Voir
|:buffer-!| pour [!].
Si vous êtes dans un tampon d'aide, cela vous amènera au
tampon d'aide suivant (s'il y en a un). De même, si vous êtes
dans un tampon normal (non aide), cela vous amènera au tampon
normal suivant. Cela a été fait pour que, si vous invoquez de
l'aide, cela ne vous dérange pas lorsque vous naviguez dans
des tampons de texte/code. Les trois commandes qui suivent se
comportent de la même façon.
*:sbn* *:sbnext*
:[N]sbn[ext] [N]
Partage la fenêtre et va au N-ième tampon suivant de la liste
des tampons (N vaut 1 par défaut). Boucle à la fin de la liste
des tampons. Utilise 'switchbuf'.
:[N]bN[ext][!] [N] *:bN* *:bNext* *E88*
:[N]bp[revious][!] [N] *:bp* *:bprevious*
Va au N-ième tampon précédent de la liste des tampons (N vaut
1 par défaut). Boucle au début de la liste des tampons. Voir
|:buffer-!| pour [!] et 'switchbuf'.
:[N]sbN[ext] [N] *:sbN* *:sbNext*
:[N]sbp[revious] [N] *:sbp* *:sbprevious*
Partage la fenêtre et va au N-ième tampon précédent de la
liste des tampons (N vaut 1 par défaut). Boucle au début de la
liste des tampons. Utilise 'switchbuf'.
*:br* *:brewind*
:br[ewind][!] Va au premier tampon de la liste des tampons. Si la liste des
tampons est vide, va au premier tampon non listé. Voir
|:buffer-!| pour [!].
*:bf* *:bfirst*
:bf[irst] Comme ":brewind".
*:sbr* *:sbrewind*
:sbr[ewind] Partage la fenêtre et va au premier tampon de la liste des
tampons. Si la liste des tampons est vide, va au premier
tampon non listé. Respecte l'option 'switchbuf'.
*:sbf* *:sbfirst*
:sbf[irst] Comme ":sbrewind".
*:bl* *:blast*
:bl[ast][!] Va au dernier tampon de la liste des tampons. Si la liste des
tampons est vide, va au dernier tampon non listé. Voir
|:buffer-!| pour [!].
*:sbl* *:sblast*
:sbl[ast] Partage la fenêtre et va au dernier tampon de la liste des
tampons. Si la liste des tampons est vide, va au dernier
tampon non listé. Respecte l'option 'switchbuf'.
*:bm* *:bmodified* *E84*
:[N]bm[odified][!] [N]
Va au N-ième tampon modifié suivant.
NOTE : Cette commande trouve aussi les tampons non listés.
S'il n'y a pas de tampon modifié, la commande échoue
*:sbm* *:sbmodified*
:[N]sbm[odified] [N]
Partage la fenêtre et va au N-ième tampon modifié suivant.
Respecte l'option 'switchbuf'.
NOTE : Cette commande trouve aussi les tampons non listés.
:[N]unh[ide] [N] *:unh* *:unhide*
:[N]sun[hide] [N] *:sun* *:sunhide*
Réarrange l'écran pour ouvrir une fenêtre pour chaque tampon
chargé dans la liste des tampons. Si un quantificateur est
donné, il indique le nombre maximal de fenêtres à ouvrir.
:[N]ba[ll] [N] *:ba* *:ball* *:sba* *:sball*
:[N]sba[ll] [N] Réarrange l'écran pour ouvrir une fenêtre pour chaque tampon
dans la liste des tampons. Si un quantificateur est donné, il
indique le nombre maximal de fenêtres à ouvrir.
Les autocommandes "Buf/Win Enter/Leave" ne sont pas exécutées
ici pour les nouvelles fenêtres, mais uniquement quand
l'entrée est effective.
NOTE : Toutes les commandes ci-dessus qui lancent l'édition d'un autre tampon
ne modifient pas l'option 'readonly'. Cela diffère de la commande ":edit", qui
active le drapeau 'readonly' à chaque fois que le fichier est lu.
==============================================================================
12. Types de tampons spéciaux *special-buffers*
Au lieu de contenir le texte d'un fichier, les tampons peuvent aussi être
utilisés à d'autres fins. Plusieurs options peuvent être employées pour
changer le comportement d'un tampon :
'bufhidden' comportement du tampon quand il n'est plus affiché
dans une fenêtre
'buftype' type du tampon
'swapfile' si le tampon a un fichier d'échange
'buflisted' si le tampon est présent dans la liste des tampons
Voici quelques exemples de tampons utiles :
mise-au-point Utilisé pour la liste d'erreurs. Voir |:cwindow|. Cette
commande fixe l'option 'buftype' à "quickfix". Vous n'êtes pas
censé la changer ! 'swapfile' est désactivé.
aide Contient un fichier d'aide. Ce genre de tampon est créé
uniquement avec la commande |:help|. Le drapeau qui indique un
tampon d'aide est interne et ne peut pas être changé. L'option
'buflisted' sera désactivée pour un tampon d'aide.
répertoire Affiche le contenu d'un répertoire. Utilisé par le greffon
de l'explorateur de fichier |file-explorer|. Le tampon est
créé avec ces paramètres : Le tampon prend le nom du répertoire (qui sera ajusté avec la
commande |:cd|).
brouillon Contient du texte qui peut être abandonné à tout moment. Ce
genre de tampon est conservé après la fermeture de la fenêtre,
il doit être supprimé explicitement. Paramètres : Le tampon peut être identifié par son nom.
*unlisted-buffer*
non listé Le tampon n'est pas répertorié dans la liste des tampons. Il
n'est pas utilisé pour l'édition normale, mais pour afficher
un fichier d'aide, mémoriser un nom de fichier ou des marques.
Paramètres : La commande ":bdelete" activera également cette option, ainsi
le tampon n'est pas complètement supprimé.
vim:tw=78:ts=8:ft=help:norl: