Admin Linux - Utilisation de l'éditeur de texte vi / vim

vimreprésente une version plus récente et améliorée de l'éditeur de texte vi pour Linux. vim est installé par défaut sur CentOS 7, la version la plus récente de CentOS. Cependant, certaines installations de base plus anciennes et minimales n'incluront que le vi d'origine par défaut.

La plus grande différence entre vi et vim réside dans des fonctionnalités avancées de facilité d'utilisation telles que le déplacement du curseur avec les touches fléchées. Là où vim permettra à l'utilisateur de naviguer dans un fichier texte avec les touches fléchées, vi est limité à l'utilisation des touches «h», «j», «k», «l», répertoriées comme suit.

vi navigation dans un document texte -

Clé action
j Descendre d'une ligne
k Monter d'une ligne
l Déplacer vers la gauche sur le personnage
h Déplacer vers la droite un caractère

En utilisant vim, les mêmes actions peuvent être accomplies avec les touches fléchées sur un clavier qwerty basé sur l'anglais (et une autre langue commune) standard. De même, vi n'interprète souvent pas non plus le pavé numérique.

La plupart du temps, de nos jours, vi sera lié symboliquement à vim. Si jamais vous trouvez frustrant que vos touches fléchées font des choses inattendues lorsqu'elles sont pressées, essayez d'utiliser votre gestionnaire de paquets pour installer vim.

vim utilise le concept de modes lors de la manipulation et de l'ouverture de fichiers. Les deux modes sur lesquels nous allons nous concentrer sont -

  • normal - C'est le mode que vim utilise lors de la première ouverture d'un fichier, et permet d'entrer des commandes

  • insert - Le mode d'insertion est utilisé pour éditer du texte dans un fichier.

Ouvrons un fichier dans vim. Nous utiliserons le dictionnaire par défaut CentOS situé dans / usr / share / dict -

[[email protected] rdc]# cp /usr/share/dict/words

Ce que vous voyez est le fichier texte ouvert en mode normal. Entraînez-vous maintenant à naviguer dans le document à l'aide des touches fléchées. Essayez également d'utiliser les touches h, j, k et l pour parcourir le document.

Vimattend de nous que nous envoyions des commandes pour les opérations sur les fichiers. Pour activer le numéro de ligne, utilisez la clé du côlon: shift +: . Votre curseur apparaîtra maintenant au bas du document. Tapez "set nu" puis appuyez sur Entrée.

:set nu

Désormais, nous saurons toujours où nous nous trouvons dans le fichier. C'est également une nécessité lors de la programmation en vim. Oui! vim a la meilleure coloration syntaxique et peut être utilisé pour créer des scripts Ruby, Perl, Python, Bash, PHP et autres.

Le tableau suivant répertorie les commandes les plus courantes en mode normal.

Commander action
g Aller à la fin du fichier
gg Aller au début du fichier
X Supprimer le caractère sélectionné
u Annuler les dernières modifications
Entrer Aller en avant par lignes
jj Supprimer toute la ligne
? Rechercher une chaîne
/ Passer à l'occurrence de recherche suivante

Veuillez essayer les tâches suivantes dans vim pour vous familiariser avec celui-ci.

  • Recherchez la chaîne "test", puis les 5 premières occurrences

  • Revenir au début du document après avoir trouvé les 5 premières occurrences de "test"

  • Allez à la ligne 100 en utilisant enter

  • Supprimer le mot entier en utilisant "x"

  • Annulez les suppressions en utilisant "u"

  • Supprimez toute la ligne en utilisant "dd"

  • Reconstruisez la ligne en utilisant "u"

Nous ferons semblant d'avoir apporté des modifications à un fichier critique et voulons être sûrs notpour enregistrer les modifications involontaires. Frappez leshift+: et tapez: q!. Cela quittera vim, annulant toutes les modifications apportées.

Maintenant, nous voulons en fait éditer un fichier dans vim: au type de console: vim myfile.txt

Nous examinons maintenant un tampon de texte vide dans vim. Écrivons quelque chose: dis - appuyez sur "i".

vimest maintenant en mode insertion, ce qui nous permet de modifier un fichier comme dans le Bloc-notes. Tapez quelques paragraphes dans votre tampon, ce que vous voulez. Plus tard, utilisez les étapes suivantes pour enregistrer le fichier -

  • Step 1 - Appuyez sur la touche d'échappement

  • Step 2 - Appuyez sur Maj +:

  • Step 3 - tapez w myfile.txt: w et appuyez sur Entrée

  • Step 4- Appuyez sur Maj +:

  • Step 5- Tapez q! et appuyez sur Entrée

Nous venons de créer un fichier texte nommé, myfile.txt et l'avons sauvegardé -

[[email protected]]# cat myfile.txt  
this is my txt file.
[[email protected]]#

Redirection d'entrée / sortie de fichier Linux

Le caractère pipe "|", prendra une sortie de la première commande et la transmettra à la commande suivante. Ceci est connu sous le nom de sortie standard ou stdout. L'autre redirecteur Linux commun est l'entrée standard oustdin.

Voici deux exemples; utiliser d'abord lecat commande mettant le contenu du fichier dans stdout. Deuxième utilisationcat pour lire un fichier avec le standardinput redirecteur sortant son contenu.

STDOUT

[[email protected] centos]# cat output.txt  
Hello, 
I am coming from Standard output or STDOUT. 
[[email protected] centos]#

STDIN

[[email protected] centos]# cat < stdin.txt  
Hello, 
I am being read form Standard input, STDIN. 
[[email protected] centos]#

Maintenant, "dirigons" le stdout de cat vers une autre commande.

[[email protected] centos]# cat output.txt | wc -l 
2 
[[email protected] centos]#

Ci-dessus, nous avons transmis cat'sstdout à wc pour traiter le caractère pipe. wc a ensuite traité la sortie de cat en imprimant le nombre de lignes de output.txt sur le terminal. Considérez le caractère de tube comme un "tube" passant la sortie d'une commande, à traiter par la commande suivante.

Voici les concepts clés à retenir lors de la redirection de commandes.

Nombre Descripteur de fichier Personnage
0 entrée standard <
1 sortie standard >
2 erreur standard
ajouter stdout >>
attribuer une redirection &
tuyau stdout |