Quelques infos pour VI/VIM
Tuto VIM en ligne !
Très utile pour débuter et ce familiariser avec les commandes de base
1 |
$ vimtutor fr |
Changer les couleurs dans vim (fonds sombres)
1 |
$ sudo vim /etc/vimrc |
puis ajouter à la fin du fichier la ligne : set background=dark
Copier/Coller
1 |
<strong>Y</strong> = Copie une ligne |
1 |
<strong>nY</strong> = Copie n lignes |
1 |
<strong>P</strong> = Colle les lignes avant le curseur |
1 |
<strong>p</strong> = Colle les lignes après le curseur |
Copier l’intégralité d’un fichier
1 |
:1,$ y |
ou
1 |
:%y |
Rechercher et remplacer un ou plusieurs mots (tout le fichier)
1 |
:%s/texte a remplacer/texte de substitution/g |
Variante (sélection de ligne)
1 |
:1,$s/texte a remplacer/texte de substitution/gc |
En détail
: – passer en mode fonction
1 – le chiffre correspond au début de la ligne
$ – la variable correspond a la dernière ligne
s – la commande
/ – sont des délimiteurs de texte. Si votre texte contient des /, il faudra les échapper avec un \
g – pour faire une recherche globale et donc de remplacer toutes les occurrences.
gc – demande confirmation avant remplacement
Chiffrer un document
1 |
$ vim -x nomdufichier |
Afficher / ne pas afficher les numéros de ligne
1 |
:set nu |
1 |
:set nonu |
Va au numéro de ligne
1 |
:numéro |
En vrac
i – Mode insertion (sur le curseur, a – après le curseur, o – sous le curseur, O au dessus, e – fin de mot)
v – Mode visuel
: – Mode Fonction
Esc – Quitter mode
/texte – Recherche du texte en avant
/texte\c – rechercher du texte en ignorant la case
?texte – Recherche du texte en arrière
n – Recherche texte suivante
N – Recherche texte précédent
:r nom_de_fichier – Insertion du contenu d’un autre fichier
:w – Sauvegarder
:x! ou :wq – Sauvegarder et quitter
:q – Quitter sans sauvegarder
:e – Recharger en ignorant les changements
! – Pour forcer
dd – Supprimer une ligne
2dd – Supprimer deux lignes
dw – Supprimer un mot
d$ – Effacer un surplus de texte jusqu’à la fin de la ligne
x – Supprimer une lettre
r – Remplacer une lettre puis taper la lettre voulue
R – Remplacer plusieurs lettre puis echap
u – Annuler la dernière commande
U – Annuler la modification sur toute la ligne
ce – Effacer une partie du mot puis insère pour sa correction
c$ – Effacer une partie du mot jusqu’à la fin de la ligne puis insère pour sa correction
0 – revenir a la ligne
hjkl – Gauche, bas, haut, droite
:!ls – Appeler une commande externe, ici ls pour lister le répertoire courant
Sélectionner une partie du texte et le coller
Passer en mode visuel avec la lettre v
Puis sélectionner le texte et faire :w NOMDUFICHIER
Pour le coller faire :r NOMDUFICHIER
Pour supprimer ce fichier temporaire depuis vim faire :!rm NOMDUFICHIER
Supprimer tout le texte avant xxx
1 |
:%s/.*xxx//g |
Classer les lignes d’un fichier texte par ordre alphabétique
1 |
:sort u |
ou (différent)
1 |
:1 ,$! sort |
À voir → https://vim.fandom.com/wiki/Sort_lines
Insérer le résultat d’une commande
:r! suivie de la commande (r pour read et ! pour l’exécution)
1 |
:r!ls |
1 |
:r!df -h |
Copier / coller un bloc de lignes
Passer en mode visual avec v
Se déplacer jusqu’à la fin de ligne souhaiter et appuyer sur la touche y
Positionnez le curseur à l’endroit voulu et coller le texte avec la touche p
Modifier un fichier distant
1 |
$ vim scp://user@host//path/to/somefile |