vim - Vi IMproved, un éditeur de texte pour programmeurs
SYNTAXE
vim [options] [fichier ..]
vim [options] vim [options] -t étiquette
vim [options] -q [fichier_erreur]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
DESCRIPTION
Vim est un éditeur de texte compatible avec Vi. Il peut être utilisé pour éditer tous types de texte brut. Il est particulièrement utile pour éditer des programmes.
Il existe de nombreuses améliorations par rapport à Vi : annulation à plusieurs niveaux, fenêtres et tampons multiples, mise en évidence de la syntaxe, édition de la ligne de commande, complétion des noms de fichiers, aide en ligne, sélection visuelle, etc. Consultez « :help vi_diff.txt » pour un résumé des différences entre Vim et Vi.
Pendant l’exécution de Vim, de nombreuses informations peuvent être obtenues à partir du système d’aide en ligne, avec la commande « :help ». Consultez la section « AIDE EN LIGNE » ci-dessous.
Le plus souvent, Vim est lancé pour éditer un seul fichier avec la commande
vim fichier
De manière plus générale, Vim est lancé avec :
vim [options] [liste_fichiers]
Si la liste des fichiers est manquante, l’éditeur démarre avec un tampon vide. Autrement, exactement l’une des quatre options suivantes peut être utilisée pour choisir un ou plusieurs fichiers à éditer.
fichier .. Une liste de noms de fichiers. Le premier sera le fichier courant et sera lu dans le tampon. Le curseur sera positionné sur la première ligne du tampon. Vous pouvez accéder aux autres fichiers avec la commande « :next ». Pour éditer un fichier qui commence par un tiret, précédez la liste des fichiers de « -- ».
- Le fichier à éditer est lu à partir de l’entrée standard. Les commandes sont lues à partir de la sortie d’erreur standard, qui doit être un terminal.
-t {étiquette} Le fichier à éditer et la position initiale du curseur dépendent d’une « étiquette », une sorte d’étiquette d’accès direct. {étiquette} est recherchée dans le fichier d’étiquettes, le fichier associé devient le fichier courant et la commande associée est exécutée. Cela est principalement utilisé pour les programmes C, auquel cas {étiquette} pourrait être le nom d’une fonction. L’effet est que le fichier contenant cette fonction devient le fichier courant et le curseur est positionné au début de la fonction. Voir « :help tag-commands ».
-q [fichier_erreur]
Démarre en mode quickFix. Le fichier [fichier_erreur] est lu et la première erreur est affichée. Si [fichier_erreur] est omis, le nom de fichier est obtenu à partir de l’option « errorfile » (par défaut « AztecC.Err » pour Amiga, « errors.err » sur d’autres systèmes). D’autres erreurs peuvent être accessibles avec la commande « :cn ». Voir « :help quickfix ».
Vim se comporte différemment en fonction du nom de la commande (le fichier exécutable peut être le même).
vim La manière « normale », tout est par défaut.
ex Démarre en mode Ex. Passe en mode normal avec la commande « :vi ». Peut également être fait avec l’argument « -e ».
view Démarre en mode lecture seule. Vous serez protégé contre l'écriture des fichiers. Peut également être fait avec l'argument "-R".
gvim gview
La version GUI. Ouvre une nouvelle fenêtre. Peut également être fait avec l'argument "-g".
evim eview
La version GUI en mode facile. Ouvre une nouvelle fenêtre. Peut également être fait avec l'argument "-y".
rvim rview rgvim rgview
Comme ci-dessus, mais avec des restrictions. Il ne sera pas possible de démarrer des commandes shell ou de suspendre Vim. Peut également être fait avec l'argument "-Z".
OPTIONS
Les options peuvent être données dans n'importe quel ordre, avant ou après les noms de fichiers. Les options sans argument peuvent être combinées après un seul tiret.
+[num] Pour le premier fichier, le curseur sera positionné sur la ligne "num". Si "num" est manquant, le curseur sera positionné sur la dernière ligne.
+/{pat} Pour le premier fichier, le curseur sera positionné sur la ligne contenant la première occurrence de {pat}. Voir ":help search-pattern" pour les motifs de recherche disponibles.
+{command}
-c {command}
{command} sera exécuté après que le premier fichier aura été lu. {command} est interprété comme une commande Ex. Si {command} contient des espaces, il doit être entouré de guillemets (cela dépend du shell utilisé). Exemple : vim "+set si" main.c
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "-c".
-A Si Vim a été compilé avec la prise en charge de l'arabe pour l'édition de fichiers orientés de droite à gauche et la disposition du clavier arabe, cette option démarre Vim en mode arabe, c'est-à-dire que 'arabic' est défini. Sinon, un message d'erreur est affiché et Vim s'arrête.
-b Mode binaire. Quelques options seront définies, ce qui permettra de modifier un fichier binaire ou exécutable.
-C Mode compatible. Définit l'option 'compatible'. Cela fera en sorte que Vim se comporte principalement comme Vi, même si un fichier .vimrc existe.
-d Démarre en mode diff. Il devrait y avoir entre deux et huit arguments de nom de fichier. Vim ouvrira tous les fichiers et affichera les différences entre eux. Fonctionne comme vimdiff(1).
-d {device}, -dev {device}
Ouvre {device} pour qu'il soit utilisé comme terminal. Uniquement sur Amiga. Exemple : "-d con:20/30/600/150".
-D Débogage. Passe en mode débogage lors de l'exécution de la première commande d'un script.
-e Démarre Vim en mode Ex, comme si l'exécutable s'appelait "ex".
-E Démarre Vim en mode Ex amélioré, comme si l'exécutable s'appelait "exim".
-f Pour la version GUI, Vim ne bifurquera pas et ne se détachera pas du shell dans lequel il a été démarré. Sur Amiga, Vim n'est pas redémarré pour ouvrir une nouvelle fenêtre. Cette option doit être utilisée lorsque Vim est exécuté par un programme qui attendra la fin de la session d'édition (par exemple, mail). Sur Amiga, les commandes ":sh" et ":!" ne fonctionneront pas.
-F Si Vim a été compilé avec la prise en charge de FKMAP pour l'édition de fichiers orientés de droite à gauche et la disposition du clavier farsi, cette option démarre Vim en mode farsi, c'est-à-dire que 'fkmap' et 'rightleft' sont définis. Sinon, un message d'erreur est affiché et Vim s'arrête.
Remarque : la prise en charge de Farsi a été supprimée dans la version 8.1.0932.
-g Si Vim a été compilé avec le support GUI, cette option active l'interface graphique. Si aucun support GUI n'a été compilé, un message d'erreur est affiché et Vim s'arrête.
-H Si Vim a été compilé avec le support RIGHTLEFT pour l'édition de fichiers orientés de droite à gauche et la disposition du clavier hébreu, cette option démarre Vim en mode hébreu, c'est-à-dire que les options 'hkmap' et 'rightleft' sont définies. Sinon, un message d'erreur est affiché et Vim s'arrête.
-i {viminfo}
Spécifie le nom de fichier à utiliser lors de la lecture ou de l'écriture du fichier viminfo, au lieu de la valeur par défaut "~/.viminfo". Cela peut également être utilisé pour éviter l'utilisation du fichier .viminfo en spécifiant le nom "NONE".
-l Mode Lisp. Définit les options 'lisp' et 'showmatch'.
-L Identique à -r.
-m La modification des fichiers est désactivée. Réinitialise l'option 'write'. Vous pouvez toujours modifier le buffer, mais l'écriture d'un fichier n'est pas possible.
-M Les modifications ne sont pas autorisées. Les options 'modifiable' et 'write' seront désactivées, de sorte que les modifications ne soient pas autorisées et que les fichiers ne puissent pas être écrits. Notez que ces options peuvent être définies pour autoriser la modification.
-n Aucun fichier d'échange ne sera utilisé. La récupération après un plantage sera impossible. Utile si vous souhaitez modifier un fichier sur un support très lent (par exemple, une disquette). Peut également être fait avec ":set uc=0". Peut être annulé avec ":set uc=200".
-N Mode non compatible. Réinitialise l'option 'compatible'. Cela fera que Vim se comportera un peu mieux, mais sera moins compatible avec Vi, même si un fichier .vimrc n'existe pas.
-nb Devenir un serveur d'éditeur pour NetBeans. Voir la documentation pour plus de détails.
-o[N] Ouvre N fenêtres empilées. Lorsque N est omis, ouvre une fenêtre pour chaque fichier.
-O[N] Ouvre N fenêtres côte à côte. Lorsque N est omis, ouvre une fenêtre pour chaque fichier.
-p[N] Ouvre N pages d'onglet. Lorsque N est omis, ouvre une page d'onglet pour chaque fichier.
-P {parent-title}
Uniquement pour Win32 GUI : Spécifie le titre de l'application parente. Dans la mesure du possible, Vim s'exécutera dans une fenêtre MDI à l'intérieur de l'application. {parent-title} doit apparaître dans le titre de la fenêtre de l'application parente. Assurez-vous que c'est suffisamment spécifique. Notez que l'implémentation est encore rudimentaire. Cela ne fonctionnera pas avec toutes les applications et le menu ne fonctionne pas.
-r Affiche la liste des fichiers d'échange, avec des informations sur leur utilisation pour la récupération.
-r {file} Mode de récupération. Le fichier d'échange est utilisé pour récupérer une session d'édition interrompue. Le fichier d'échange est un fichier portant le même nom que le fichier texte avec ".swp" ajouté. Voir ":help recovery".
-R Mode lecture seule. L'option 'readonly' sera définie. Vous pouvez toujours modifier le buffer, mais vous serez empêché d'écraser accidentellement un fichier. Si vous souhaitez réellement écraser un fichier, ajoutez un point d'exclamation à la commande Ex, comme dans ":w!". L'option -R implique également l'option -n (voir ci-dessus). L'option 'readonly' peut être réinitialisée avec ":set noro". Voir ":help 'readonly'".
-s Mode silencieux. Uniquement lorsque démarré en tant que « Ex » ou lorsque l’option « -e » a été donnée avant l’option « -s ».
-s {scriptin}
Le fichier de script {scriptin} est lu. Les caractères du fichier sont interprétés comme si vous les aviez tapés. La même opération peut être effectuée avec la commande « :source ! {scriptin} ». Si la fin du fichier est atteinte avant que l’éditeur ne se ferme, les caractères suivants sont lus à partir du clavier.
-S {file} {file} sera chargé après que le premier fichier aura été lu. Cela équivaut à -c « source {file} ». {file} ne peut pas commencer par « - ». Si {file} est omis, « Session.vim » est utilisé (ne fonctionne que lorsque -S est le dernier argument).
-T {terminal}
Indique à Vim le nom du terminal que vous utilisez. N’est requis que lorsque la méthode automatique ne fonctionne pas. Doit être un terminal connu de Vim (intégré) ou défini dans le fichier termcap ou terminfo.
-u {vimrc} Utilise les commandes du fichier {vimrc} pour l’initialisation. Toutes les autres initialisations sont ignorées. Utilisez-le pour modifier un type de fichier spécifique. Il peut également être utilisé pour ignorer toutes les initialisations en indiquant le nom « NONE ». Voir « :help initialization » dans vim pour plus de détails.
-U {gvimrc} Utilise les commandes du fichier {gvimrc} pour les initialisations de l’interface graphique. Toutes les autres initialisations de l’interface graphique sont ignorées. Il peut également être utilisé pour ignorer toutes les initialisations de l’interface graphique en indiquant le nom « NONE ». Voir « :help gui-init » dans vim pour plus de détails.
-v Démarre Vim en mode Vi, comme si l’exécutable avait été appelé « vi ». Cela n’a d’effet que lorsque l’exécutable est appelé « ex ».
-V[N] Verbeux. Affiche des messages sur les fichiers qui sont chargés, et pour la lecture et l’écriture d’un fichier viminfo. Le nombre optionnel N est la valeur de « verbose ». La valeur par défaut est 10.
-V[N]{filename}
Comme -V, et définit « verbosefile » sur {filename}. Le résultat est que les messages ne sont pas affichés, mais écrits dans le fichier {filename}. {filename} ne doit pas commencer par un chiffre.
-w{number} Définit l’option « window » sur {number}.
-w {scriptout}
Tous les caractères que vous tapez sont enregistrés dans le fichier {scriptout} jusqu’à ce que vous quittiez Vim. Ceci est utile si vous souhaitez créer un fichier de script à utiliser avec « vim -s » ou « :source ! ». Si le fichier {scriptout} existe, les caractères sont ajoutés.
-W {scriptout}
Comme -w, mais un fichier existant est écrasé.
-x Si Vim a été compilé avec une prise en charge du chiffrement, utilise le chiffrement lors de l’écriture de fichiers. Demande une clé de chiffrement.
-X Ne se connecte pas au serveur X. Réduit le temps de démarrage dans un terminal, mais le titre de la fenêtre et le presse-papiers ne seront pas utilisés.
-Y Ne se connecte pas au compositeur Wayland.
-y Démarre Vim en mode facile, comme si l’exécutable avait été appelé « evim » ou « eview ». Fait en sorte que Vim se comporte comme un éditeur de type « cliquer et taper ».
-Z Mode restreint. Fonctionne comme si l'exécutable était lancé avec "r".
-- Indique la fin des options. Les arguments qui suivent seront traités comme un nom de fichier.
Cela peut être utilisé pour modifier un nom de fichier qui commence par "-".
--clean Ne pas utiliser de configuration personnelle (vimrc, plugins, etc.). Utile pour vérifier si un problème se reproduit avec une configuration Vim propre.
--cmd {commande}
Comme utiliser "-c", mais la commande est exécutée juste avant le traitement de tout fichier vimrc.
Vous pouvez utiliser jusqu'à 10 de ces commandes, indépendamment des commandes "-c".
--echo-wid Uniquement pour l'interface graphique GTK : affiche l'ID de la fenêtre sur la sortie standard.
--gui-dialog-file {nom}
Lorsque vous utilisez l'interface graphique, au lieu d'afficher une boîte de dialogue, écrivez le titre et le message de la boîte de dialogue dans le fichier {nom}. Le fichier est créé ou auquel on ajoute du contenu. Utile uniquement pour les tests, afin d'éviter que le test ne soit bloqué sur une boîte de dialogue que l'on ne peut pas voir. Sans l'interface graphique, l'argument est ignoré.
--help, -h, -?
Affiche une aide sur les arguments et options de la ligne de commande, puis quitte Vim.
--literal Prend les arguments de nom de fichier littéralement, ne développe pas les caractères génériques. Cela n'a aucun effet sur Unix, où le shell développe les caractères génériques.
--log {nom_fichier}
Si Vim a été compilé avec les fonctionnalités eval et channel, démarre la journalisation et écrit les entrées dans {nom_fichier}. Cela fonctionne comme l'appel de ch\_logfile({nom_fichier}, 'ao') très tôt pendant le démarrage.
--nofork En premier plan. Pour la version GUI, Vim ne se dédouble pas et ne se détache pas du shell dans lequel il a été lancé.
--noplugin Ignore le chargement des plugins. Implicite avec -u NONE.
--not-a-term
Indique à Vim que l'utilisateur sait que l'entrée et/ou la sortie ne sont pas connectées à un terminal. Cela évite l'avertissement et le délai de deux secondes qui se produiraient.
--remote Se connecte à un serveur Vim et l'amène à modifier les fichiers indiqués dans les arguments restants. Si aucun serveur n'est trouvé, un avertissement est affiché et les fichiers sont modifiés dans Vim actuel.
--remote-expr {expression}
Se connecte à un serveur Vim, évalue {expression} dans ce serveur et affiche le résultat sur la sortie standard.
--remote-send {touches}
Se connecte à un serveur Vim et envoie {touches} à ce serveur.
--remote-silent
Comme --remote, mais sans l'avertissement si aucun serveur n'est trouvé.
--remote-wait
Comme --remote, mais Vim ne se ferme pas tant que les fichiers n'ont pas été modifiés.
--remote-wait-silent
Comme --remote-wait, mais sans l'avertissement si aucun serveur n'est trouvé.
--serverlist
Affiche la liste des noms de tous les serveurs Vim qui peuvent être trouvés.
--servername {nom}
Utilise {nom} comme nom de serveur. Utilisé pour Vim actuel, sauf s'il est utilisé avec un argument --remote, auquel cas il s'agit du nom du serveur auquel se connecter. Si le backend socketserver est utilisé, si le nom commence par "/", "./" ou "../", il est interprété comme un chemin absolu, relatif ou relatif vers le socket.
--clientserver {backend}
Utilise {backend} comme backend pour la fonctionnalité clientserver, soit "socket" ou "x11" respectivement. Disponible uniquement lorsque compilé avec les deux fonctionnalités socketserver et X11 présentes.
--socketid {id}
Uniquement pour l'interface graphique GTK : utilisez le mécanisme GtkPlug pour exécuter gVim dans une autre fenêtre.
--startuptime {file}
Pendant le démarrage, écrivez les messages de temporisation dans le fichier {fname}.
--ttyfail
Si stdin ou stdout n'est pas un terminal, quittez immédiatement.
--version
Affichez les informations de version et quittez.
--windowid {id}
Uniquement pour l'interface graphique Win32 : faites en sorte que gVim tente d'utiliser la fenêtre {id} comme fenêtre parente, afin qu'il s'exécute dans cette fenêtre.
AIDE EN LIGNE
Tapez :help dans Vim pour démarrer. Tapez :help sujet pour obtenir de l'aide sur un sujet spécifique. Par
exemple : :help ZZ pour obtenir de l'aide sur la commande « ZZ ». Utilisez :help cmdline-completion). Des balises sont présentes pour permettre de passer d'un endroit à un autre (sorte de liens hypertextes, voir :help). Tous les fichiers de documentation peuvent être consultés de cette manière, par exemple :help
syntax.txt.
FICHIERS
/usr/local/share/vim/vim??/doc/*.txt
Les fichiers de documentation de Vim. Utilisez `:help doc-file-list` pour obtenir la liste complète.
vim?? est le numéro de version abrégé, comme vim91 pour Vim 9.1.
/usr/local/share/vim/vim??/doc/tags
Le fichier de balises utilisé pour trouver des informations dans les fichiers de documentation.
/usr/local/share/vim/vim??/syntax/syntax.vim
Initialisations de syntaxe à l'échelle du système.
/usr/local/share/vim/vim??/syntax/*.vim
Fichiers de syntaxe pour divers langages.
/usr/local/share/vim/vimrc
Initialisations Vim à l'échelle du système.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Vos initialisations personnelles Vim (la première trouvée est utilisée).
/usr/local/share/vim/gvimrc
Initialisations gvim à l'échelle du système.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Vos initialisations personnelles gVim (la première trouvée est utilisée).
/usr/local/share/vim/vim??/optwin.vim
Script utilisé pour la commande `:options`, un moyen pratique de visualiser et de définir les options.
/usr/local/share/vim/vim??/menu.vim
Initialisations de menu à l'échelle du système pour gVim.
/usr/local/share/vim/vim??/bugreport.vim
Script pour générer un rapport de bogue. Voir `:help bugs`.
/usr/local/share/vim/vim??/filetype.vim
Script pour détecter le type d'un fichier en fonction de son nom. Voir `:help 'filetype'`.
/usr/local/share/vim/vim??/scripts.vim
Script pour détecter le type d'un fichier en fonction de son contenu. Voir `:help 'filetype'`.
/usr/local/share/vim/vim??/print/*.ps
Fichiers utilisés pour l'impression PostScript.
Pour obtenir des informations récentes, consultez la page d'accueil de VIM :
<URL:http://www.vim.org/>
VOIR AUSSI
vimtutor(1)
AUTEUR
La plupart de Vim ont été créés par Bram Moolenaar, avec l'aide de nombreuses autres personnes. Voir :help credits dans
Vim.
Vim est basé sur Stevie, sur lequel ont travaillé : Tim Thompson, Tony Andrews et G.R. (Fred) Walter. Bien que presque aucun du code original ne subsiste.
BOGUES
Probablement. Voir :help todo pour une liste des problèmes connus.
Notez qu'un certain nombre de choses qui peuvent être considérées comme des bogues par certains sont en fait causées par une reproduction fidèle du comportement de Vi. Et si vous pensez que d'autres choses sont des bogues « parce que Vi le fait différemment », vous devriez examiner de plus près le fichier vi_diff.txt (ou taper :help vi_diff.txt lorsque vous êtes dans Vim). Consultez également les options 'compatible' et 'cpoptions'.