Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

vim

Page mise à jour le 12/06/2024 18:19

Vous êtes dans un espace restreint en écriture.

<< | Vim | vim Plugins >>

Sommaires des Pages

vim est un éditeur de texte, Logiciel libre, Caritaticiel, hautement paramétrage.


Lancement de vim

  • editer un fichier:
$ vim <file>
  • editer un fichier et aller à la ligne N:
$ vim <file> +N
  • ouvrir un fichier en lecture:
$ vim -R <file>

Configuration de vim

Cela se passe dans le fichier $HOME/.vimrc:

" ceci est un commentaire
" le strict minimun des options


" mode non-compatible avec le vieux vi

set nocompatible

" activation de la colorisation syntaxique

syntax on

Principaux raccourcis clavier

commandes de base

Principaux mode
escpassage en mode commande, pour lancer une commande (par défaut au démarrage)
esc:passage en mode commande, pour taper une commande (apparaît dans la barre du bas)
i passage en mode insertion, pour taper du texte
v passage en mode visuel, pour sélectionner une zone et puis appliquer une commande à cette zone
Déplacement (tous les modes)
, , , , Page Up, Page Downdéplacements classiques
:help
Édition (mode commande)
xsupprimer le caractère sous le curseur
Xsupprimer le caractère à gauche
ddsupprimer la ligne
Dsupprimer le caractère sous le curseur jusqu'a la fin de ligne
Jfusionner la ligne courante avec celle d'en dessous
gféditer le fichier sous le curseur
:help change.txt
:help deleting
:help delete-insert
Corriger/Supprimer (mode commande)
Pour toutes ces commandes c (change) corrige (c'ad supprime et passe en mode édition) et d (delete) supprime (et reste en mode commande)
cw (resp. dw)corriger (resp. supprimer) les caractères depuis le curseur jusqu'a la fin de mot
caw (resp. daw)corriger (resp. supprimer) tout le mot sous le curseur
cascorriger toute la «phrase»
capcorriger tout le «paragraphe»
Corriger/Supprimer de bloc (mode commande)
ca[corriger tout le bloc [], inclu [ et ]
ci[corriger dans le bloc [], exclu [ et ]
ci(, ci<, ci{, ci', ci"idem pour bloc (), <>, {}, '', ""
cib, ciBidem pour bloc (), {}
:help object-select
plugin surround.vim
dssupprimer un «surrounding»
ex: ds"supprimer "
cschanger un «surrounding»
ex: cs({(coucou vim) >> {coucou vim}
ysajouter un «surrounding»
ex: ysaw}$QWE >> ${QWE}
ex: ysiW"$QWE >> "$QWE"
Sajouter un «surrounding» en mode visuel
:help surround

Commandes utiles

rechercher/remplacer (mode commande)
:s/regex/string/cgremplacer le regex par string
option c: confirmation à chaque fois
option g remplacement plusieurs fois par ligne
:s/regexsupprimer le regex
/stringrechercher
/\cAstringrechercher sans case

HOW-TOs

éditer un fichier sur une machine distante

Pour éditer, par exemple, le fichier /etc/hosts sur la machine asterix avec le compte patrick

vim scp://patrick@asterix///etc/hosts
Remarquez, les deux ``//`` avant le chemin.

reindenter du code

Ce truc permet de refaire l'indentation de tout ou partie d'un fichier de code. Pour cela, il faut préparer vim:

:filetype indent on
:set filetype=html # abbrev - :set ft=html
:set smartindent # abbrev - :set si
:set shiftwidth=2 # abbrev - :set sw=2
  • Pour un bout de code :
    1. V (mode visual)
    2. (selection des lignes)
    3. =
  • Ou pour tout le texte:
    1. gg=G

voir [1]

remplacer les espaces par un newline

Il faut taper les commandes suivantes:

  1. V (mode visual)
  2. (selection des lignes)
  3. :%s/ / Ctrl+v Enter /g

Lire un fichier en DOS -- aka ^M problem

Une commande etrange mais finalement assez logique:

:%s/\r/\r/g
la commande :ff=dos ne marche pas chez moi

Encoder un texte un UTF-8

Car iconv de fonctionne pas a tout les coup.

Utiliser la commande:

 :set fileencoding=utf-8

voir [2] et [3]

Supprimer les lignes vides

:g/^$/d

voir [4]

Définir une macro

  • Pour définir une macro par exemple dans z:

qz (faire les commandes désirées) q

  • pour utiliser:

@z

Modifier une macro.

Supposons que l'on ait défini la macro q. Pour la modifier, il faut faire en mode commande:

  :let @q='Ctrl+rCtrl+rq'

Changer la séquence de touche et valider

Voir Aussi

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 12/06/2024 18:19