Installer et utiliser Vim
Installer et utiliser Vim
Installer Most Elinks Vim
sudo apt-get install most elinks vim vim-vimoutliner vim-gtk #Complément, à installer vim-addon-manager vim-common vim-gtk ( nommé vim-gtk abreviation (gvim) ) vim-gui-common
Changer l'éditeur de texte par défaut
# L'éditeur de texte par défaut du système est modifiable via les alternatives existantes. # Pour remplacer nano par vi, ou l'inverse, utiliser la commande suivante : update-alternatives --config editor
Configurer Vim
cd ~/Téléchargements # Le domaine formation-debian.via.ecp.fr est tombé. Les informations peuvent encore être récupérées via les archives du web : wget https://web.archive.org/web/20140709051043/http://formation-debian.via.ecp.fr/fichiers-config/vimrc sudo -s mkdir -p /etc/vim cp vimrc /etc/vim cd /etc/vim nano /etc/vim/vimrc
REMPLACER LA LIGNE ORIGINALE AVEC CE CODE
"set statusline=%<%f%h%m%r%=%l,%c\ %P set statusline=%<%f%h%m%r%=%{&ff}\ %l,%c%V\ %P " " Contenu de la barre de status "
ORIGINAL
" Contenu de la barre de status set statusline=%<%f%h%m%r%=%l,%c\ %P
La partie du code final concernée
Cette modification permet de ... !
Enregistrer cette configuration modifiée avec nano et revenir sur le terminal.
" Affiche la position du curseur 'ligne,colonne' set ruler " Affiche une barre de status en bas de l'écran set laststatus=2
"set statusline=%<%f%h%m%r%=%l,%c\ %P set statusline=%<%f%h%m%r%=%{&ff}\ %l,%c%V\ %P " " Contenu de la barre de status "
" Largeur maxi du texte inséré " '72' permet de wrapper automatiquement à 72 caractères " '0' désactive la fonction set textwidth=0
Lancer vi
vi /etc/vim/vimrc
Saisir /delek qui va sélectionner le mot clé delek dans la configuration.
/delek
Pour quitter appuyer suréchap
puis:q!
Tester vi
vi /etc/apt/sources.list.d/official-package-repositories.list
Fermer :q!
Comment ecrire comme un grand sous Linux avec Vi
1 – Plusieurs modes d’interaction :
Le mode ECHAP, par défaut lors que VI est lancé (ou manuellement via le bouton Echap). Le mode INSERTION via le bouton Inser ou la lettre i (le mode de saisie normal). Le mode REPLACE via la lettre R ou r (en mode ECHAP).
2 – Lancer VI:
Il suffit de lancer depuis la ligne de commande : vi <nom du fichier à modifier ou à créer>. VI ouvre alors le fichier à modifier ou à créer en mode ECHAP.
3 – Quelques commandes simples:
En mode ECHAP, pour effacer le caractère à droite du curseur : x En mode ECHAP, pour effacer le caractère à gauche du curseur : X En mode ECHAP, pour effacer la ligne courante : dd En mode ECHAP, pour rechercher un mot : / <mot à rechercher> <Entrée> En mode ECHAP, pour sauvegarder sans sortir : :w <Entrée> En mode ECHAP, pour sortir : :q <Entrée> En mode ECHAP, pour sortir sans sauvegarder : :q! <Entrée>
4 – Quelques commandes répétitives:
Où <n> est un nombre entier (conseil, éviter le pavé numérique). En mode ECHAP, pour effacer <n> caractères à droite du curseur : <n>x En mode ECHAP, pour effacer <n> caractères à gauche du curseur : <n>X En mode ECHAP, pour répéter la dernière action : . En mode ECHAP, pour annuler la dernière action : u
5 – Quelques commandes sur les mots:
Où <n> est un nombre entier (conseil, éviter le pavé numérique). En mode ECHAP, pour effacer le mot à droite du curseur : dw En mode ECHAP, pour effacer le mot à gauche du curseur : db En mode ECHAP, pour effacer <n> mots à droite du curseur : <n>dw En mode ECHAP, pour effacer <n> mots à gauche du curseur : <n>db
6 – Quelques commandes sur les déplacements:
En mode ECHAP, pour aller à la phrase suivante : ) En mode ECHAP, pour aller à la phrase précédente : ( En mode ECHAP, pour aller au paragraphe suivant : } En mode ECHAP, pour aller au paragraphe précédent : { En mode ECHAP, pour aller au mot suivant : W En mode ECHAP, pour aller au mot précédent : B
7 – Quelques commandes pour couper/copier/coller/effacer:
Où <n> est un nombre entier (conseil, éviter le pavé numérique). En mode ECHAP, pour couper <n> lignes : <n>d En mode ECHAP, pour copier <n> lignes : <n>Y En mode ECHAP, pour coller à droite du curseur : p En mode ECHAP, pour coller à gauche du curseur : P En mode ECHAP, pour effacer le reste de la phrase : D
8 – Quelques commandes pour passer en majuscules/minuscules des mots:
Où <n> est un nombre entier (conseil, éviter le pavé numérique). Nota Bene : R et r font passer en mode REPLACE. En mode ECHAP, pour passer en majuscules les <n> caractères suivants : <n>~R En mode ECHAP, pour passer en miniscules les <n> caractères suivants : <n>~r En mode ECHAP, pour passer en majuscules les <n> caractères suivants : <n>~R En mode ECHAP, pour passer en miniscules les <n> caractères suivants : <n>~r
9 – Quelques commandes sur les fenêtres:
En mode ECHAP, pour ajouter une nouvelle fenêtre : CTRL+w n En mode ECHAP, pour ouvrir un fichier dans une nouvelle fenêtre : :e <nom du fichier à modifier ou à créer> En mode ECHAP, pour aller à la première fenêtre (top) : CTRL+w t En mode ECHAP, pour aller à la dernière fenêtre (bottom) : CTRL+w b En mode ECHAP, pour monter d’une fenêtre : CTRL+w k En mode ECHAP, pour monter d’une fenêtre : CTRL+w <Flèche du haut> En mode ECHAP, pour descendre d’une fenêtre : CTRL+w j En mode ECHAP, pour descendre d’une fenêtre : CTRL+w <Flèche du bas>
Source de l'article : arcturien.wordpress.com/2006/09/22/comment-ecrire-comme-un-grand-sous-linux-avec-vi/ Publié le 22 septembre 2006 par arcturien
Exercice de prise en main
cd /home/user/Téléchargements
Télécharger vimrc wget http://formation-debian.via.ecp.fr/fichiers-config/vimrc
Ouvrir 2 fenêtres et comparer les différences entre 2 fichiers
La version finale vs la version qui a été téléchargée.
vi -d /etc/vim/vimrc vimrc
Pour passer d'une fenêtre à l'autre ctrl w (2x)
Aller dans la fenêtre du /etc/vim/vimrc
Lancer la commande /set statusline
Le texte est sélectionné en rouge : " Contenu de la barre de status
Saisir
Y ctrl w (2x) P
Afficher la numérotation
:se nu
Aller au numéro de ligne sélectionné
:25
Afficher les caractères invisibles
Pour afficher les caractères invisibles passer en mode commande en pressant le caractère deux points (:)
:set list
Pour faire disparaître les caractères invisibles : :set nolist # ou :set list!
Afficher la fin de ligne
# Je ne trouve pas comment afficher clairement les caractères de fin de ligne avec vi.
# Je préfère passer par Eclipse : Délimiteur de ligne avec Eclipse.
Effacer une ligne
Pour effacer une ligne avec Vim saisir la commandedd
A mon premier essai il me semble queddd
m'a effacé 3 lignes. A vérifier.
Annuler une modification
Pour revenir en arrière sur un écran de Vim suite à une modification saisir u
Write et Quit
:wq!
Quitter ( 2 fois, pour chacune des fenêtres ?) avec :wq!
ou :q!
Commandes de mouvements
Utiliser le cours de kikim5959 : https://kikim5959.github.io/VIM/
Quelques commandes avec Vim
Passer en mode édition
Depuis Vim passer en mode édition avec la touche a
Insérer / Remplacer
Pour insérer du texte : FN insert
Pour remplacer un caractère : Fn insert ( x2 )
Renommer le nom d'un des écran de vim
:e! NOMDELAFENÊTRE
Attention, si un contenu est présent et non enregistré, il est perdu.
Exemple de manipulation avec Vim
mkdir -p exemple cd exemple vi .screenrc :split toto (Ouvrir une fenêtre toto) :%! elinks http://www.softpanorama.org/Utilities/Screen/screenrc_examples.shtml :se nu 200 Y (Placer le curseur à l'endroit souhaité) ctrl w x2 P (pour coller le texte copié) Penser à la touche insert ( fn insert sur portable ) pour ajouter du texte ( ou alt i ) Enregistre vers un fichier :w! NomDuNouveauFichier ( Sans espaces sinon, on crée 2 fichiers, ou plus )
Supprimer 80 lignes depuis la position
:se nu 80dd :wq!
Liens complémentaires pour appréhender Vim
http://www.tuteurs.ens.fr/unix/editeurs/vim.html https://doc.ubuntu-fr.org/vim http://www.gogolplex.org/?vim
Tutoriel la suite
Commandes généralistes
# Quelques commandes vi : i : Insérer du texte a : Ajouter du texte Echap : Sortir du mode choisi précédemment (i ou a) x : Effacer un caractère dd : Effacer/couper une ligne Y : Copier une ligne p : Coller une ligne o : Insérer une nouvelle ligne u : Annuler la dernière action :w : Enregistrer le fichier :q : Quitter :q! : Quitter sans sauvegarder /mot_à_chercher : Rechercher un mot n : Rechercher le mot suivant :g/mot1/s//mot2/g : Rechercher dans tous le fichier le mot1 pour le remplacer par le mot2
Sauvegarder un fichier - quitter vi
:w sauvegarde le contenu du fichier (l'enregistrer), penser à write
:x sauvegarde puis quitte vi (exit)
:wq sauvegarde puis quitte (write and quit)
ZZ sauvegarde si nécessaire puis quitte
:q quitte vi sans sauvegarder les modifications (quit)
:e! ignore les modifications et recharge le fichier (le point d'exclamation marque l'impératif)
:q!
quitte immédiatement, sans rien faire d'autre (donc sans sauvergarder ni demande de confirmation) :w nom_de_fichier sauvegarde le fichier sous le nom nom_de_fichier :w! nom_de_fichier remplace le contenu du fichier nom_de_fichier
Ce deplacer avec le curseur
- H en haut de l'écran
- M au milieu de l'écran
- L en bas de l'écran (lower = au plus bas)
- h décale d'un caractère à gauche
- j descend d'une ligne
- k monte d'une ligne
- l décale d'un caractère à droite
- 0 au début de la ligne
- $ à la fin de la ligne ('$', dans un motif de regexp, désigne la fin d'une ligne)
- w au début du mot suivant (word = mot)
- e à la fin du mot suivant (end = fin)
- b recule d'un mot (back = retour)
- { recule jusqu'au paragraphe suivant
- } avance jusqu'au paragraphe précédent
- ( recule jusqu'à la phrase suivante
- ) avance jusqu'à la phrase précédente
Se déplacer dans le document édité
# Descendre d'une page (forward = en avant) [CTRL] + f
# Remonter d'une page (back = en arrière) : [CTRL] + b
# Descendre d'une demie page : [CTRL] + d
# Aller à la ligne numérotée X ou X est un entier : :X
Remplacer du texte
- rx remplace le caractère à la position du curseur par x (x remplace ici n'importe quel caractère)
- R remplace, avec ce qui sera saisi ([ESC] pour terminer)
- R remplace, avec ce qui sera saisi ([ESC] pour terminer)
- cw remplace uniquement le mot à la position du curseur (word, mot) ([ESC] pour terminer)
- cnw remplace n mots ([ESC] pour terminer)
- C remplace la ligne ([ESC] pour terminer)
Supprimer du texte
- x supprime un caractère (« faire une croix dessus »)
- dw supprime un mot (delete, détruire)
- dnw supprime n mots
- dd supprime une ligne
- ndd supprime n lignes
Copier-coller
- Y copie une ligne, donc la place dans un tampon, pour pouvoir ensuite la coller (yank, tirer)
- nY copie n lignes
- P colle les lignes avant le curseur (paste, coller)
- p colle les lignes après le curseur
Annuler ou répéter des modifications
- u annule la dernière modification (undo, défaire)
- U annule toutes les modifications effectuées sur la ligne courante
- . (un point) répète les dernières modifications
Copier-coller de texte dans un fichier
- ma marque la position "a" dans le fichier
- ma marque la position "a" dans le fichier
- :'a,'b nom_de_fichier copie dans le fichier nommé nom_de_fichier le texte situé entre la position "a" et la position "b"
Insertion du contenu d'un autre fichier
- :r nom_de_fichier insère tout le contenu du fichier nommé nom_de_fichier (read, lire)
Rechercher et remplacer
n
répète la dernière recherche (next, suivant)
N
retourne au résultat de la précédente recherche effectuée
//[RET]
répète la dernière recherche
:x,y s/motif/motif2/g
recherche le motif, en allant de la ligne numérotée x à la ligne y, et le remplace par motif2
:g/motif/s//motif2/g
recherche dans tous les fichiers le motif et la remplace par motif2 (global)
:g/motif/s//motif2/gc
idem, mais demande une confirmation avant de remplacer
:s/texte_à_trouver/nouveau_texte/g
Remplacer un texte.
Rafraîchir l'affichage
C'était très utile avec les anciens terminaux et les liaisons réseau erratiques provoquant des problèmes d'affichage.
Cela ne l'est guère plus.
[CTRL] l (control-L) rafraîchit l'affichage rafraîchit l'affichage et place le curseur en haut rafraîchit l'affichage et place le curseur au milieu
rafraîchit l'affichage et place le curseur en bas
Bibliographie
Syntaxe SQL avec Vim : http://www.vim.org/scripts/script.php?script_id=3702 Tutoriel en vidéo pour utiliser Vim : https://youtu.be/zdhNMiY6zfo
NAVIGATION
PARTICIPER ET PARTAGERBienvenue sur le wiki de Amis SH. De nombreuses pages sont partagées sur ce wiki. Créer un compte utilisateur pour participer sur le wiki. Les pages présentées sur le wiki évoluent tous les jours. Certaines recherches sont peu abouties et incluent des erreurs. Utiliser la recherche interne du wiki pour trouver votre contenu. La page de discussion de Amis SH vous permet de poser vos questions. Consulter le site amis-sh.fr pour installer votre propre serveur web. Améliorer le contenu des pages avec vos retours depuis l'onglet discussion. Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique. Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité. |
SOUTENIR CE WIKISoutenir le wiki avec un don en monnaie numérique : AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash OBTENIR DE LA MONNAIE NUMERIQUEObtenir gratuitement de la monnaie numérique : Miner de la cryptomonnaie. |