English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Tous les systèmes Unix Like incluent l'éditeur de texte vi, d'autres éditeurs de texte ne sont pas nécessairement présents.
Mais actuellement, nous utilisons principalement l'éditeur vim.
Vim a la capacité de modifier le programme, peut activer le coloriage des polices pour identifier la syntaxe correcte, ce qui facilite la conception de programmes.
Articles associés :Le plus complet Vim shortcut key map - from beginner to advanced
Vim est un éditeur de texte développé à partir de vi. Les fonctionnalités pratiques telles que la complétion de code, la compilation et le saut d'erreur facilitent particulièrement la programmation et sont largement utilisées par les programmeurs.
En termes simples, vi est un ancien traitement de texte, mais ses fonctionnalités sont très complètes, bien que encore des améliorations peuvent être apportées. Vim peut être dit être un excellent outil pour les développeurs de programmes.
Visitez le site Web officiel de vim (http://www.vim.org) Même si je dis que vim est un outil de développement de programme et non un logiciel de traitement de texte.
Vim keyboard map :
De base, vi/vim est divisé en trois modes, à savoirMode commande (Command mode),Mode insertion (Insert mode)etMode commande en ligne de fond (Last line mode)Ces trois modes ont les fonctions suivantes :
L'utilisateur vient de démarrer vi/vim, vous entrez dans le mode commande.
Dans cet état, les动作 de frappe du clavier sont reconnus par Vim comme des commandes, et non comme des caractères d'entrée. Par exemple, si nous appuyons sur i maintenant, nous ne saisissons pas un caractère, i est traité comme une commande.
Voici quelques commandes courantes :
i Passer au mode insertion pour entrer des caractères.
x Supprimer le caractère à la position du curseur actuel.
: Passer au mode commande en ligne de fond pour entrer des commandes sur la dernière ligne.
Pour éditer du texte : démarrez Vim, entrez dans le mode commande, appuyez sur i pour passer au mode insertion.
Le mode commande ne contient que les commandes de base, donc vous devez toujours dépendre du mode commande en ligne de fond pour entrer plus de commandes.
Appuyez sur i en mode commande pour entrer dans le mode insertion.
Dans le mode d'entrée, vous pouvez utiliser les touches suivantes :
Touches de caractères et combinaisons avec ShiftPour saisir des caractères
ENTERPour entrer la touche d'entrée, sauter une ligne
BACK SPACEPour supprimer la touche d'effacement, supprimer le caractère précédent le curseur
DELPour supprimer la touche, supprimer le caractère suivant le curseur
Touches de directionPour déplacer le curseur dans le texte
HOME/ENDPour déplacer le curseur au début de la ligne/Fin de ligne
Page Up/Page DownVers le haut/Défilement vers le bas
InsertChanger le curseur en mode d'entrée/Mode de remplacement, le curseur devient une barre verticale/Souligné
ESCSortir du mode d'entrée, passer au mode de commande
Appuyez sur : (deux points anglais) pour entrer dans le mode de commande en ligne.
Le mode de commande en ligne peut saisir une ou plusieurs commandes de caractères, il y a beaucoup de commandes disponibles.
Dans le mode de commande en ligne, les commandes de base sont les suivantes (les points-virgules ont été omis) :
q Quitter le programme
w Sauvegarder le fichier
Appuyez sur la touche ESC pour quitter le mode de commande en ligne à tout moment.
Pour faire simple, nous pouvons représenter ces trois modes par les icônes suivantes :
Pour utiliser vi pour créer un fichier nommé w3Lorsque vous utilisez vi pour créer un fichier nommé w
$ vim w3codebox.txt
Tapez directement Nom de fichier vi Vous pouvez entrer dans le mode normal de vi. Notez bien que vous devez toujours ajouter un nom de fichier après vi, que le fichier existe ou non !
Dans le mode normal, appuyez simplement sur i, o, a ou d'autres caractères pour entrer dans le mode d'entrée !
Dans le mode d'édition, vous pouvez voir que dans la barre d'état en bas à gauche, il apparaît –INSERT- cette mention, c'est un提示 que vous pouvez saisir n'importe quel caractère.
À ce moment-là, sauf Esc En dehors de cette touche, toutes les autres touches peuvent être considérées comme des touches d'entrée générales, donc vous pouvez effectuer toute l'édition que vous souhaitez.
Bon, supposons que j'ai terminé l'édition comme indiqué ci-dessus, alors comment dois-je quitter ? Oui ! Pas du tout ! C'est en appuyant sur Esc Ce bouton ici ! Vous allez rapidement remarquer que le – INSERT – en bas à gauche de l'écran a disparu !
OK, nous devons archiver, l'instruction pour sauvegarder et quitter est simple, tapez :wq vous pouvez sauvegarder et quitter!
OK! Nous avons donc réussi à créer un w3le fichier codebox.txt.
En plus des exemples simples comme i, Esc et :wq mentionnés ci-dessus, vim offre en réalité de nombreuses autres touches à utiliser.
Méthodes de déplacement du curseur | |
---|---|
h ou la flèche vers la gauche (←) | Déplacez le curseur d'un caractère vers la gauche |
j ou la flèche vers le bas (↓) | Déplacez le curseur d'un caractère vers le bas |
k ou la flèche vers le haut (↑) | Déplacez le curseur d'un caractère vers le haut |
l ou la flèche droite (→) | Déplacez le curseur d'un caractère vers la droite |
Si vous placez votre main droite sur le clavier, vous verrez que hjkl sont alignés, donc vous pouvez utiliser ces quatre boutons pour déplacer le curseur. Si vous souhaitez vous déplacer plusieurs fois, par exemple vers le bas 30 lignes, vous pouvez utiliser "30j" ou "3La combinaison de touches 0↓" C'est-à-dire ajoutez le nombre de fois que vous souhaitez effectuer cette action et appuyez sur l'action ! | |
[Ctrl] + [f] | Déplacez l'écran 'vers le bas' d'une page, équivalent à la touche [Page Bas] (Usuel) |
[Ctrl] + [b] | Déplacez l'écran 'vers le haut' d'une page, équivalent à la touche [Page Haut] (Usuel) |
[Ctrl] + [d] | Déplacez l'écran 'vers le bas' d'une moitié de page |
[Ctrl] + [u] | Déplacez l'écran 'vers le haut' d'une moitié de page |
+ | Déplacez le curseur à la ligne suivante de caractères non espaces |
- | Déplacez le curseur à la ligne précédente de caractères non espaces |
n<espace> | Ce n'est pas un nombre, par exemple 20 . Appuyez sur le nombre puis appuyez sur la touche d'espace, le curseur se déplacera vers la droite de cette ligne n caractère. Par exemple 20<espace> déplacera le curseur vers l'arrière 2distance de 0 caractères. |
0 ou touche de fonction [Début] | C'est le nombre " 0 " : déplacez-vous au premier caractère de cette ligne (Usuel) |
$ ou touche de fonction [Fin] | Déplacez-vous à la dernière lettre de cette ligne (dans le cas courant) |
H | Déplacez le curseur au premier caractère de la ligne la plus en haut de cet écran |
M | Déplacez le curseur au premier caractère de la ligne centrale de cet écran |
L | Déplacez le curseur au premier caractère de la ligne la plus en bas de cet écran |
G | Déplacez-vous à la dernière ligne de ce fichier (dans le cas courant) |
nG | n est un nombre. Déplacez-vous à la ligne n de ce fichier. Par exemple 20G vous déplacera à la ligne 20 ligne (combiné avec :set nu) |
gg | Déplacez-vous à la première ligne de ce fichier, ce qui est équivalent à 1G ah ! (Usuel) |
n<Entrée> | n est un nombre. Déplacez le curseur vers le bas de n lignes (dans le cas courant) |
Recherche et remplacement | |
/mot | Recherchez une chaîne de caractères nommée word en dessous du curseur. Par exemple, pour rechercher vbird dans un fichier Cette chaîne de caractères, entrez /vbird suffira ! (Usuel) |
?word | Recherchez une chaîne de caractères nommée word au-dessus du curseur. |
n | Ce n'est pas un bouton anglais. Il représente l'action de répeter la recherche précédente. Par exemple, Si nous avons exécuté récemment /vbird rechercher vers le bas la chaîne de caractères vbird, appuyez sur n après cela, continuez à chercher le nom suivant vbird de la chaîne de caractères. Si vous exécutez ?vbird, appuyez sur n continuera à chercher les chaînes de caractères nommées vbird en haut ! |
N | Ce N est une touche anglaise. Il est opposé à n, pour 'chercher en sens inverse' l'action de recherche précédente. Par exemple /vbird, puis appuyez sur N signifie 'chercher vers le haut' vbird . |
Utiliser /word avec n et N est très utile ! Cela vous permet de trouver à nouveau des mots-clés que vous cherchez souvent ! | |
:n1,n2s/mot1/mot2/g | n1 et n2 est un nombre. À la ligne n1 et n2 Entre les lignes chercher word1 Cette chaîne de caractères, et remplacer cette chaîne de caractères par
mot2 !Par exemple, dans 100 à 200 lignes entre la recherche vbird et le remplacement par VBIRD : 『:100,200s/vbird/VBIRD/g』.(couramment utilisé) |
:1, $s/mot1/mot2/g ou :%s/mot1/mot2/g | Rechercher word de la première ligne à la dernière ligne1 chaîne de caractères, et remplacer cette chaîne de caractères par mot2 !(couramment utilisé) |
:1, $s/mot1/mot2/gc ou :%s/mot1/mot2/gc | Rechercher word de la première ligne à la dernière ligne1 chaîne de caractères, et remplacer cette chaîne de caractères par mot2 !Et afficher un message d'invite avant de remplacer (confirm) Besoin de remplacer ! (couramment utilisé) |
Supprimer, copier et coller | |
x, X | Dans une ligne de texte, x pour supprimer un caractère vers l'arrière (équivalent à [del] appui) X pour supprimer un caractère vers l'avant (équivalent à [backspace], c'est-à-dire la touche d'effacement) (Usuel) |
nx | n est un nombre, supprimer n caractères en continu. Par exemple, je veux supprimer en continu 10 caractère, 『10』。 |
dd | Supprimer la ligne où se trouve le curseur intégralement (couramment utilisé) |
ndd | n est un nombre. Supprimer les n lignes en dessous du curseur, par exemple 20dd est pour supprimer 20 lignes (Usuel) |
d1G | Supprimer du curseur jusqu'à la première ligne |
dG | Supprimer du curseur jusqu'à la dernière ligne |
d$ | Supprimer le caractère où se trouve le curseur jusqu'au dernier caractère de la ligne |
d0 | C'est le zéro numérique, supprimer le caractère où se trouve le curseur jusqu'au premier caractère de la ligne |
yy | Copier la ligne où se trouve le curseur (couramment utilisé) |
nyy | n est un nombre. Copier les n lignes en dessous du curseur, par exemple 20yy est pour copier 20 ligne (couramment utilisé) |
y1G | Copier la ligne où se trouve le curseur jusqu'à la première ligne |
yG | Copier la ligne où se trouve le curseur jusqu'à la dernière ligne |
y0 | Copier le caractère où se trouve le curseur jusqu'au début de la ligne |
y$ | Copier le caractère où se trouve le curseur jusqu'à la fin de la ligne |
p, P | p pour coller les données copiées sous le curseur, P pour coller au dessus du curseur ! Par exemple, le curseur est actuellement à la ligne 20 lignes, et elles ont été copiées 10 Les données. Appuyez sur p ensuite, que 10 Les données de la ligne seront collées sur les données originales 2La ligne 0 après, c'est-à-dire à partir de 21 commence à coller. Mais si vous appuyez sur P ? Alors, la ligne originale 2La ligne 0 sera poussée pour devenir 30 ligne. (Usuel) |
J | Combinez les données de la ligne où se trouve le curseur avec les données de la ligne suivante en une seule ligne |
c | Supprimez plusieurs données en répétition, par exemple, supprimez vers le bas 10 ligne, [ 10cj ] |
u | Restaurez l'action précédente (utilisé couramment) |
[Ctrl]+r | Refaites l'action précédente (utilisé couramment) |
u avec [Ctrl]+r est une commande très courante ! L'une est pour restaurer, et l'autre pour refaire l'action une fois de plus ~ Avec ces deux touches de fonction, votre édition, hein ! C'est vraiment amusant ! | |
. | Ne vous inquiétez pas ! C'est bien le point décimal ! Cela signifie répéter l'action précédente. Si vous souhaitez répéter des actions comme la suppression répétée, le collage répété, etc., appuyez simplement sur le point décimal '.' ! (Usuel) |
Entrer en mode d'édition ou de remplacement | |
---|---|
i, I | Entrer en mode d'insertion (Insert mode) : i pour 'saisir à partir de la position actuelle du curseur', I pour 'commencer à saisir à partir du premier caractère non espace de la ligne actuelle'. (Usuel) |
a, A | Entrer en mode d'insertion (Insert mode) : a pour 'commencer à saisir à partir du prochain caractère où se trouve le curseur', A Pour 'commencer à saisir à partir de la dernière caractère de la ligne où se trouve le curseur'(utilisé couramment). |
o, O | Entrer en mode d'insertion (Insert mode) : C'est la taille de la lettre anglaise o, en majuscule. o pour insérer une nouvelle ligne en bas de la ligne où se trouve le curseur ; O pour insérer une nouvelle ligne en haut de la ligne où se trouve le curseur (utilisé couramment) ! |
r, R | Entrer en mode de remplacement (Replace mode) : r ne remplacera qu'une seule fois le caractère à la position du curseur ; R continuera à remplacer le texte à la position du curseur jusqu'à ce que vous appuyiez sur ESC jusqu'à ce que;(utilisé couramment) |
Dans l'image de vi, un message comme『--INSERT--『ou『--REPLACE--le signe '』'. Vous pouvez deviner cette action par son nom !! Notons en particulier que nous avons également mentionné précédemment, si vous souhaitez saisir des caractères dans le fichier, Il faut absolument voir INSERT ou REPLACE en bas à gauche pour pouvoir saisir des caractères ! | |
[Esc] | Sortir du mode d'édition et retourner au mode général (utilisé couramment) |
Instructions de stockage et de sortie de la ligne de commande | |
---|---|
:w | Écrire les données éditées sur le disque dur (utilisé couramment) |
:w! | Si les attributs du fichier sont 'lecture seule', écrivez-forcé le fichier. Cependant, savoir si vous pouvez écrire ou non, Cela a encore à voir avec les permissions du fichier que vous avez pour ce fichier ! |
:q | Quitter vi (utilisé couramment) |
:q! | Si vous avez modifié un fichier mais ne souhaitez pas le sauvegarder, utilisez ! pour quitter sans sauvegarder le fichier. |
Attention, le point d'exclamation (!) dans vi a souvent le sens de 'obligatoire'~ | |
:wq | Quitter après l'enregistrement, si c'est :wq! alors c'est quitter après l'enregistrement forcé (Usuel) |
ZZ | C'est la majuscule Z ! Si vous avez fait des modifications, enregistrez le fichier actuel et quittez ! Équivalent à (enregistrer et quitter) |
ZQ | Ne pas enregistrer, quitter force. Équivalent à :q!. |
:w [filename] | Enregistrer les données éditées dans un autre fichier (similaire à Enregistrer sous) |
:r [filename] | Lire les données d'un autre fichier dans les données d'édition. C'est-à-dire, 『filename』 Ajouter le contenu de ce fichier à la ligne après le curseur |
:n1,n2 w [filename] | Pour mettre n1 à n2 Le contenu est stocké dans le fichier filename. |
:! command | Quitter temporairement vi pour exécuter le résultat de la commande en mode ligne de commande ! Par exemple 『:! ls /home』peut être consulté dans vi /Les informations de fichiers affichées par ls sous home ! |
Changement d'environnement vim | |
:set nu | Affichage des numéros de ligne, après la configuration, le numéro de ligne apparaîtra devant chaque ligne |
:set nonu | Contraires à set nu, pour désactiver les numéros de ligne ! |
Attention, dans vi/Dans vim, les nombres ont un sens important ! Les nombres représentent généralement le nombre de répétitions à effectuer. Ils peuvent également représenter l'aller au numéro de quelque chose.
Par exemple, pour supprimer 50 lignes, utilisez 『50dd』n'est-ce pas ! Le nombre est placé avant l'action, par exemple, pour descendre d'une ligne 20 lignes ? C'est alors『20j』ou bien『20↓』c'est ainsi que vous pouvez le faire.