Galerie de cartes mentales Utilisation de l'éditeur VIM
Il présente en détail l'utilisation et les touches de raccourci de l'éditeur vim. Il regorge d'informations utiles. Les amis intéressés peuvent s'y référer !
Modifié à 2023-11-27 15:02:34Utilisation de VIM
Mode normal
itinérance
h à gauche
j vers le bas
k up
je à droite
w Passer au début du mot suivant
W est similaire à w, sautant à intervalles de caractères d'espacement.
e Passer à la fin du mot suivant
E est similaire à e, sautant à intervalles d'espaces.
b Aller au début du mot précédent
B est similaire à b, sautant à intervalles de symboles d'espacement.
100h signifie déplacer 100 caractères vers la gauche et 100j déplace 100 lignes vers le bas.
0 Aller au début de la ligne
^ Passer au premier caractère non vide du début de la ligne
$ sauter à la fin de la ligne
gg saute au début de la première ligne du fichier
G Aller rapidement à la fin de la dernière ligne du fichier
% correspond au mouvement des parenthèses, y compris (,{,[
*|# correspond au mot où se trouve actuellement le curseur et déplace le curseur vers le mot suivant * est le suivant et # est le précédent.
ctrl f Afficher le contenu de la page suivante
ctrl b Afficher le contenu de la page précédente
100G Sauter au début de la 100ème ligne
`. Passer au dernier point modifié dans le texte.
'. Passer à la dernière ligne de texte modifiée.
`` Passer aux deux dernières positions modifiées
. marque la dernière position modifiée du texte.
g ; Aller d'avant en arrière dans toute la liste de modifications du document.
g, semblable à g; dans la direction opposée
La liste des modifications enregistre où le document a été modifié
ctrl o passer à la position précédente
ctrl je passe à l'emplacement suivant
Utilisés ensemble, vous pouvez passer d'un code à l'autre
copie
yy copie la ligne entière où se trouve le curseur
100yy copie la ligne où se trouve le curseur et un total de 100 lignes en dessous.
yw copie le premier mot commençant par le curseur
y$ copie le curseur à la fin de la ligne
yG copie la ligne où se trouve le curseur à la fin du texte
yH Copie le texte à partir du texte jusqu'à la ligne où se trouve le curseur
fa déplace le curseur vers le caractère suivant dans cette ligne
Fa déplace le curseur vers le caractère a
nfa déplace le curseur vers le nième caractère suivant a
nFa avance le curseur jusqu'au nième caractère a
ta déplace le curseur sur le caractère avant le caractère a
nta déplace le curseur sur le caractère précédant le nième caractère
Ta déplace le curseur vers le caractère après le caractère.
nTa avance d'un caractère après l'apparition du nième caractère
yfB copie le curseur sur le contenu entre le premier B majuscule
y2fB copie le curseur sur le contenu entre le deuxième B majuscule
couper
x coupe un caractère en arrière ou en avant s'il s'agit de la fin de la ligne
3x couper trois
xp échange deux caractères à la fin de la non-ligne, s'il s'agit de bs programmant sb
supprimer
dd supprime la ligne sous le curseur
200dd supprime la ligne où se trouve le curseur et un total de 100 lignes en dessous.
dw supprimer un mot
dnw supprimer n mots
df" supprimer à la position où apparaît le premier guillemet double
dnf" supprimer à la position où apparaît le nième guillemet double
d$ supprime le curseur jusqu'à la fin de la ligne
d^ supprime le curseur au début de la ligne
dH supprime le texte du début du texte jusqu'à la ligne où se trouve le curseur
dG supprime la ligne sous le curseur jusqu'à la fin du texte
Pâte
p Coller le contenu copié ou coupé
3p Coller le contenu copié ou coupé trois fois
P commence à coller avant le curseur
3P Commencez à coller 3 fois avant le curseur
échancrure
<< retrait gauche
>> Retrait à droite
L'indentation de bloc peut être obtenue sous la sélection de bloc
commandes de fenêtre
ctrl w s diviser la fenêtre horizontalement
ctrl w w changer de fenêtre
ctrl w q ferme l'écran partagé actuel, s'il s'agit du dernier écran partagé, quittez VIM
ctrl w c ferme l'écran partagé actuel
ctrl w v diviser la fenêtre verticalement
ctrl j|k peut être utilisé pour basculer entre les fenêtres supérieure et inférieure
ctrl h|l peut être utilisé pour changer de fenêtre horizontale
ctrl w H|L peut être utilisé pour déplacer l'écran partagé actuel vers la gauche ou la droite
ctrl w J|K peut déplacer l'écran partagé actuel de haut en bas
Sauvegarde de fichiers
ZZ Lettre majuscule ZZ, enregistrez le fichier actuel
ZQ La lettre majuscule ZQ, abandonne les modifications apportées au fichier et quitte
Annuler et restaurer
u Annuler l'opération précédente
ctrl r Annuler l'opération d'annulation
Supprimer des caractères et remplacer
x supprime le caractère où se trouve actuellement le curseur
r remplace le caractère où se trouve actuellement le curseur
R remplace tous les caractères à partir du curseur, sauf si <ESC> quitte
Conversion de cas
~ Changer la casse de la lettre sous le curseur
3~ Changer la casse des 3 lettres à partir de la position du curseur
g~~ Changer la casse des lettres dans la ligne actuelle
gUU Changer les lettres de la ligne actuelle en majuscules
guu change les lettres de la ligne actuelle en minuscules
3gUU changera les trois lignes de lettres sous le curseur en lettres majuscules.
gUw Change le mot sous le curseur en majuscule
guw change le mot sous le curseur en minuscule
Fonction de pliage
zf5G replie la ligne actuelle du curseur jusqu'à la ligne 5. Vous pouvez plier par numéro de ligne ou par sélection de texte.
zo ouvre le pli à la position du curseur
zO ouvre le pli à la position du curseur, ainsi que tous les plis imbriqués
zc ferme le pli à la position du curseur
zC ferme le pli à la position du curseur et tous les plis imbriqués
zd supprime le pli à la position du curseur
zD supprime le pli à la position du curseur et tous les plis imbriqués
za Lorsque le curseur est sur le pli fermé, ouvrez le pli, sinon fermez le pli
zA est similaire à za, ouvre et ferme tous les plis, y compris ceux imbriqués.
zv ouvre le pli à la position actuelle du curseur, en ouvrant uniquement suffisamment de plis pour que la ligne où se trouve le curseur ne soit pas pliée
zr Les plis imbriqués sont ouverts couche par couche
zR Ouvrir tous les plis
les plis imbriqués zm sont fermés couche par couche
zM Fermer tous les plis
Il exploitera une variable appelée Foldlevel dans VIM et zR définira Foldlevel au niveau le plus élevé. La fermeture de tous les plis définira Foldlevel sur 0.
zE supprime tous les plis
zF crée un pli sur la ligne actuellement sous le curseur. De cette façon, vous pouvez d'abord créer une paire de symboles de pliage, puis écrire le contenu à l'intérieur.
2,10fo plie la deuxième rangée jusqu'à la dixième rangée
[z Déplacez le curseur vers la position de départ du pli actuellement ouvert
]z déplace le curseur vers la position finale du pli actuellement ouvert
zj déplace le curseur vers la position de départ du pli suivant
zk déplace le curseur à la fin du pli précédent
Enregistrement et lecture de macros
Pour enregistrer une macro, appuyez sur la touche q en mode normal (l'enregistrement de la macro démarre avec la touche q), puis appuyez sur la lettre w (la lettre est facultative), ce qui signifie que la macro est enregistrée sous w, puis appuyez à nouveau sur q après terminer l'opération pour terminer l'opération d'enregistrement.
Lecture de macro, en mode normal, appuyez sur @w pour effectuer toutes les opérations d'enregistrement de macro. @@ est une opération répétée de la dernière macro. n@w, la macro w sera exécutée n fois.
Commentaires sur les blocs de code
Appuyez sur ESC pour passer en mode Normal, Ctrl V pour passer en mode de sélection de bloc visuel, sélectionnez la ligne qui doit être commentée, puis appuyez sur Shift i ou s pour passer en mode insertion, tapez le symbole de commentaire # au début de la première ligne du bloc. sélection, puis appuyez sur ESC et attendez un moment. Vous pouvez compléter le commentaire du bloc de code. Cette méthode peut être utilisée pour insérer le même caractère à la position spécifiée dans chaque ligne.
Pour supprimer le commentaire, appuyez sur ESC pour passer en mode Normal, appuyez sur CTRL V pour passer en mode Bloc visuel, sélectionnez le commentaire au début de la ligne de bloc de code, puis appuyez sur d pour terminer le commentaire.
g ctrl g statistiques d'octets, le dernier ctrl g est la combinaison de touches
ggvG= code de format
"0p plusieurs copies collées pour la dernière fois", inscrivez-vous
Mode commande
:%s/$/qch/ Ajouter qc à la fin de la ligne
:%s/^M//g remplace le caractère de nouvelle ligne dos, ^M peut être saisi en utilisant Ctrl v Ctrl m
:g/^/s*$/d supprimer les lignes vides et les lignes contenant uniquement des espaces
:n1,n2 s/str1/str2/gic Remplacez la chaîne str1 entre les numéros de ligne n1 à n2 par str2. Le mot-clé g signifie que s'il y a plusieurs occurrences dans une ligne, remplacez-les toutes. S'il n'y a pas de g, seulement le. le premier sera remplacé. Le mot-clé i signifie insensible à la casse, c'est-à-dire ignorer la casse, et la lettre majuscule I signifie sensible à la casse, qui est également la valeur par défaut. Le mot clé c indique la confirmation avant le remplacement. Chaque mot-clé peut être utilisé individuellement
:%s/#.*//g Supprimer les caractères après #
Le format est [addr]s/chaîne source/chaîne de destination/[option] "s" représente l'opération de substitution et est l'abréviation de "substitut" [adresse] contient : "n,m" : indique de la ligne n à la ligne m "%" : représente l'intégralité du fichier, équivalent à "1,$" ".,$" : indique de la ligne courante jusqu'à la fin du fichier [options] incluent : "g": globe signifie remplacement global "c": confirmer signifie confirmation interactive avant remplacement "p" : indique un affichage ligne par ligne (vous pouvez appuyer sur CTRL L pour restaurer l'écran) "i": ignorer, ne respecte pas la casse En cas d'omission, cela signifie remplacer la première chaîne correspondante.
/hansen recherche la chaîne hansen, n recherche la correspondance suivante, N recherche la correspondance précédente et 2n recherche la deuxième correspondance ci-dessous.
:help set Afficher les informations d'aide pour la commande set
:set affiche les paramètres de configuration qui sont différents des valeurs par défaut du système, qui sont les paramètres que vous avez modifiés.
:syntax on|off Active et désactive la coloration syntaxique du programme
:set bg=dark|light Définir différentes couleurs d'arrière-plan
Opérations sur les fichiers
:w écrit le contenu modifié dans le fichier
:w! Force l'écriture dans le fichier lorsqu'il est en lecture seule. L'écriture réelle dépend des autorisations du document.
:q Quitter vim
:qa ! Quittez tous les fichiers et enregistrez tous les fichiers sans modification.
:x Quittez le fichier et enregistrez les modifications apportées au fichier
:e fn ouvre un autre fichier
:n passer au fichier suivant
:N Passer au fichier précédent
:bn passer au fichier suivant
:bp Passer au fichier précédent
:ls répertorie tous les fichiers ouverts
:b2 affiche le deuxième fichier
:q! Quitte le fichier modifié en annulant toutes les modifications
:wq Quitter après avoir sauvegardé
:w fn Enregistrer le fichier sous le nom de fichier fn
:r fn Lit le fichier fn et l'ajoute au curseur du fichier actuellement édité
:n1, n2 w fn Stocker le contenu de n1 à n2 sous forme de fichier fn
:n1,n2 d Supprime tout le contenu des lignes n1 à n2, d est le mot clé delete
:! La commande affiche la sortie de l'éditeur et l'exécution de la commande commande
:r! La commande exécute la commande commande et ajoute le résultat de l'exécution après le curseur
:sp fn1 écran partagé de haut en bas pour ouvrir un autre fichier
: vsp fn1 écran partagé gauche et droite pour ouvrir un autre fichier
:set nu active l'affichage des numéros de ligne
:set hlsearch Les mots-clés recherchés sont mis en surbrillance
:set autoindent active l'indentation automatique
: set curseurline active les lignes horizontales
:set backup Indique s'il faut stocker automatiquement les fichiers. Lorsqu'il est activé, chaque fois qu'un fichier est ouvert pour édition, le fichier d'origine sera nommé fn~.
:set Ruler ouvre et ferme la description de la barre d'état dans le coin inférieur droit.
:set ic est sensible à la casse lors de la recherche de mots-clés
:set showmode active et désactive l'état après le changement de mode. Par exemple, lors de l'entrée en mode insertion, --INSERT-- sera affiché dans le coin inférieur gauche.
:set wrap définit le retour à la ligne, c'est-à-dire qu'une ligne de texte dépasse l'écran et est affichée sur la ligne suivante. C'est également la valeur par défaut.
:set sort Activer la détection de l'orthographe du texte
:set list affiche les caractères invisibles dans le texte, tels que les nouvelles lignes
Vous pouvez ajouter no avant le paramètre pour obtenir un réglage inverse, tel que : définir nonu pour désactiver l'affichage des numéros de ligne.
:set backspace=(012) Entrez en mode édition Vous pouvez utiliser le retour arrière pour supprimer n'importe quel caractère en appuyant sur les touches, mais certaines distributions ne le permettent pas. À l'heure actuelle, vous pouvez réaliser cette fonction en définissant l'espace arrière. =2 signifie supprimer tous les caractères. Lorsque =0|1, vous ne pouvez supprimer que les caractères saisis, mais pas les caractères qui existent dans le texte original.
:set fdm=marker active la marque de pli et ajoute automatiquement trois accolades consécutives comme marqueurs au début et à la fin du pli. Les informations de pli peuvent toujours être enregistrées après la fermeture du texte. Vous devez définir cet environnement à chaque fois. ouvrez-le. Vous pouvez également mettre Ceci est ajouté à ~/.vimrc et chargé automatiquement à chaque fois que l'éditeur vim est ouvert. Vous pouvez ajouter des commentaires et des numéros de niveau dans le "#comments{{{1" plié après la marque
:set fenc Encodage du document de requête
:set enc=utf8 Convertir vers l'encodage spécifié
:set fileformat=unix est utilisé pour changer les caractères de nouvelle ligne, prend en charge dos, unix et mac, le format de fichier peut être abrégé en ff.
:set Sidescroll=0 Lorsque le curseur atteint le bord de l'écran, agrandit et affiche automatiquement la moitié du texte de l'écran. Réglez sur 1 pour obtenir un affichage d'expansion caractère par caractère plus fluide. Ce paramètre nécessite la configuration de nowrap.
:set scrolloff=3 Définir le nombre de lignes de défilement
:set linebreak définit VIM pour couper les lignes à la position appropriée, c'est-à-dire ^|!*-;:./? Ces symboles couperont les lignes.
:set breakat-=_ Définir pour supprimer les traits de soulignement des sauts de ligne
:set showbreak=-> Afficher les instructions à la position de pause
:set nolinebreak restaure les sauts de ligne personnalisés
Définissez le pli Vous pouvez le déplacer dans le pli avec gj ou g<Down>, et le déplacer vers le haut avec gk ou g<Up>.
:set ts=4 définit TAB sur quatre espaces de longueur
:set expandtab remplace TAB par des espaces. Après le réglage, les tabulations sont remplacées par le nombre ts d'espaces.
%retab ! Rechargez TAB pour que le TAB d'origine soit remplacé par son nombre d'espaces
Remplacez TAB par des espaces ! Utilisé pour traiter TAB après les caractères non vides, c'est-à-dire tous les TAB, s'ils ne sont pas ajoutés ! , alors seul le TAB en début de ligne sera traité
:set ts=4
:set noexpandtab
:%retab!
Remplacer les espaces par TAB
tabe fn Utilisez le mini-tampon du plug-in VIM pour créer une nouvelle page à onglet et modifier le fichier fn dans une nouvelle page à onglet.
passer à l'onglet suivant
gT Passer à l'onglet précédent
:tabr passer à la première page à onglet
:tabl passe au dernier onglet
:tabm [N] Déplace l'onglet actuel après le Nième onglet
:map ^M I#<ESC> Définissez la touche de raccourci Ctrl m pour insérer # (# représente un commentaire) au début de la ligne où se trouve le curseur, puis quittez l'état d'édition. map est un mot-clé, suivi de clé et de valeur. La touche correspond à ^M. Cette touche est saisie par la touche de raccourci Ctrl v M, qui représente la touche de raccourci Ctrl M. La valeur correspond à I#<ESC>, ce qui signifie exécuter ces touches de raccourci dans l'ordre. I signifie placer le curseur au début de la ligne et entrer dans l'état d'édition, # signifie entrer # et <ESC> signifie quitter l'état d'édition.
:ab email hualong1009@foxmail.com ab est le mot-clé. Une fois la commande exécutée, elle passera en mode édition. Après avoir saisi l'e-mail, l'e-mail sera automatiquement remplacé par l'adresse e-mail hualong1009@foxmail.com. Convient pour la saisie fréquente du même scénario de chaîne longue
:sort r /regex/ regex est une expression régulière pour trier le texte dans l'éditeur vim
:toHTML Convertir la page actuelle en HTML
:reg Afficher l'état de tous les registres. Les registres sont des espaces mémoire utilisés par Vim pour stocker du texte ou des détails d'opération. Chaque espace possède un identifiant pour pouvoir y accéder ultérieurement
Mode insertion
ctrl [ou la combinaison de touches ctrl c réalise la fonction de la touche ESC, c'est-à-dire quitte l'état d'édition
combinaison de touches ctrl d retrait gauche
ctrl t combinaison de touches retrait à droite
Achèvement des mots-clés et du chemin
ctrl x -> ctrl n utilise le contenu du fichier en cours d'édition comme achèvement de la bibliothèque de clés
ctrl n peut également être utilisé pour une réalisation rapide sans invite
ctrl x -> ctrl f utilise les fichiers du répertoire courant comme mots-clés pour compléter le chemin du fichier
ctrl x -> ctrl o utilise le nom du fichier comme supplément de syntaxe et le complète avec les mots-clés intégrés de wim
ctrl x i complétion de ligne
ctrl w supprime le mot en avant de la position du curseur
ctrl u supprime la position du curseur au début de la ligne
Mode visuel
Utilisez les touches fléchées ou h, j, k, l pour parcourir et sélectionner le contenu correspondant. Vous pouvez également utiliser gg et G pour aller directement au début ou à la fin du fichier.
Mode bloc ctrl v, opération de bloc, identique à l'opération de bloc de l'UE
o Sauter le curseur à l'autre extrémité du bloc sélectionné
U Convertir le contenu du bloc sélectionné en majuscule
O fait passer le curseur à l'autre extrémité du bloc
aw sélectionne un mot
ab sélectionne tout entre {} parenthèses, y compris les parenthèses elles-mêmes
aB Sélectionnez tout entre {} parenthèses
ib sélectionne le contenu entre parenthèses, à l'exclusion des parenthèses
iB sélectionne tout entre parenthèses
va Lorsque le curseur est dans "",'',(),{},[], va signifie sélectionner tout le contenu entre "", y compris les guillemets doubles.
vi Lorsque le curseur est dans "",'',(),{},[], va signifie sélectionner tout le contenu dans "" sans guillemets doubles.
> Bloquer le décalage à droite
< bloquer le décalage à gauche
y copier le bloc
d supprimer le bloc
~ Changer la casse du contenu dans le bloc
Dans ce mode, sélectionnez la zone et entrez directement :, VIM la complétera automatiquement comme : '<,'> Il s'agit de l'opération de remplacement de la sélection en mode visuel, indiquant la plage de fonctionnement, similaire à la spécification de n1, n2
vim modifier le texte
fichier vim modifier un fichier
vim fn1 fn2 ... Modifiez plusieurs fichiers en même temps Par défaut, seul le premier fichier est affiché, qui est le fichier1.
vim -on fn1 fn2 ... écran partagé de haut en bas pour éditer plusieurs fichiers en même temps
vim -On fn1 fn2 ... ouvre plusieurs fichiers en écran partagé gauche et droite
vim -b ...ouvre le document en binaire
vim num ouvre le document et localise la ligne num
vimdiff a.txt b.txt comparer le texte
comparaison de texte vimdiff
zc réduire la ligne
zo pli ouvert
]c Passer à la différence suivante
[c Passer à la différence précédente
Ctrl w w change les fenêtres de gauche à droite ou de haut en bas
dp copie la ligne où se trouve le curseur sur la ligne correspondante d'un autre fichier
do Copiez la ligne correspondant au fichier de comparaison sur la ligne à la position du curseur