Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/07/2007, à 09:56

darksh3ll

Toutes les commandes vim

Bonjour a tous.

Je dois dire que depuis que j'apprend la programation Informatique je suis devenue accros tongue

Certes pas facile mais tellement de satisfaction.C'est vraiment bon wink


Donc pour moi un éditeur de texte est mon outil de travail.Je passe beacoup de temps dessus.

Donc j'en prend soins.


Passage de l'editeur Emacs à Vim pour divers raison que j'ai expliqué récemment.

Cela fait Environ 4 mois que j'apprend Vim à fond pour être plus efficace quand je Programme.

Voir ce post pour ma config vim:
http://forum.ubuntu-fr.org/viewtopic.php?id=132048

J'ai donc depuis 4 mois regardé tous ce qui parler de VIM

-Livres
  -vi précis est concis
  -Linux en action
 
-Documentation Officiels au passage "merci a dindinx  pour la traduction fr"

-Divers sites
Ect..............................................


Au debut de mon, apprentissage VIM ca etait difficiles tellement de commandes tellement d'astuces que j'avais mal a la têtes tous les jours.:|

J'ai donc decidé de marqué sur un bougt de papiers les commandes de Vim

J'ai recuperé les meillieures car y'as des commandes inutiles à apprendre


un avant gout:

14 #option de la ligne de commande
 15 
 16 
 17 vi fichier1 fichier 2                               invoque vi est charge une séquence de fichier
 18 
 19 vi -R                                               invoque vi est charge un fichier en mode lecture seul
 20 
 21 vi +12                                              ouvre un fichier a la ligne 12
 22 
 23 vi+/pattern fichier                                 ouvre fichier directement a pattern
 24 
 25 vim -x                                              ouvre un fichier vi avec un mot de passe
 26 
 27 vim -d fichier1,fichier2                            compare 2 fichiers
 28 
 29 :set patchmode=.orig                                conservé le fichier original
 30 
 31 vim -r                                              restaure un fichier qui a planté
 32 
 33 vim -S session.vim                                  ouvre une session vim dasn la console
 34 
 35 :source tradvim.vim                                 ouvre une session vim dasn vim
 36 
 37 '0                                                  vous ramène où vous étiez avant votre départ
 38 
 39 vi fichier                                          invoque i est charge un fichier
 40 
 41 vim -b                                              edite des fichiers binaires
 42 
 43 :sp                                                  ouvre un fichier est coupe le buffer en 2
 44 
 45 vim -o   un.txt deux.txt trois.txt                   ouvre une fenêtre pour chaque fichier en verticale
 46 
 47 vim -O   un.txt deux.txt trois.txt                 ouvre une fenêtre pour chaque fichier en horizonatle
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 #Sortir de vim
 58 
 59 
 60 :wq                                                 enregistre est quitte vim
 61 
 62 :w                                                  sauvegrade le fichier
 63 
 64 :w lol.txt                                          sauvegarde le fichier sous un autre nom
 65 
 66 :q                                                  quitte vim
 67 
 68 
 69 
 70 
 71 
 72 
 73 
 74 
 75 
 76 
 77 
 78 #commandes d'insertion
 79 
 80 
 81 i                                   Insère du texte à gauche du caractère
 82 
 83 Gi                                  Insère au début de la ligne
 84 
 85 I                                   Insère du texte au début de la ligne .
 86 
 87 a                                   Insère du texte à droite du caractère
 88 
 89 A                                   Insère du texte à la fin de la ligne .
 90 
 91 o                                   Crée une nouvelle ligne sous la ligne et y insère du texte.
 92 
 93 O                                   Crée une nouvelle ligne au dessus de la ligne courante et y insère du texte.
 94 
 95 c$                                  effacera le texte du curseur à la fin de la ligne et entrera en mode d'insertion
 96 
 97 :r                                  inclut un autre fichier dans le buffer
 98 
 99 :r!                                 inclut une commande shell dans le buffer
100 
101 :find nom du fichier                trouve le fichier a édité
102 
103 :buffers                            affiche la liste des tampons
104 
105 q:                                  affiche l'historique
106 
107 q/                                  search dans l'historique
108 
109 
110 
111 
112 
113 
114 #information du fichier avec vim
115 
116 :=           affiche le nombre total de lignes
117 
118 g CTRL-g     compte les mots
119 
120 
121 
122 
123 
124 
125 
126 
127 #commande de deplacement
128 
129 b              recule d'un mot
130 
131 w              avance d'un mot
132 
133 0(zéro)        debut de ligne
134 
135 $              fin de ligne
136 
137 gg             début du buffer
138 
139 G              fin du buffer
140 
141 (              fin de phrase
142 
143 )              debut de phrase
144 
145 {  }           début du paragraphe précédent, suivant
146 
147 10G            va a la ligne 10
148 
149 e              fin du mot suivant
150 
151 ge             fin du mot précedent
152 
153 fx             Déplace le curseur en avant jusqu'à la prochaine occurence du caractère x
154 
155 tx             Pareil que f, mais bouge le curseur juste avant le caractère
156 
157 Fx             Déplace le curseur en arrière jusqu'à la prochaine occurence de x .
158 
159 xp             inverse 2 lettre
160 
161 m a            Marquer la position courante avec le nom "a"
162 
163 ' a            Se positionner a la position marquee "a" debut de ligne
164 
165 ` a            Se positionner a la position marquee "a" debut de ligne position exact
166 
167 ''             revenir à votre position de départ
168 
169 J              joint 2 lignes
170 
171 3J             joint 3 ligne
172 
173 Ctrl-B         Page précédente
174 
175 Ctrl-F         Page suivante
176 
177 Ctrl+D         demi-page suivante
178 
179 Ctrl+U         demi-page précédente
180 
181 M              milieu de l'écran
182 
183 H              première ligne de l'écran
184 
185 L              dernière ligne de l'écran
186 
187 %              autre parenthèse, crochet, commentaire, #define
188 
189 6+            Descend de 6 lignes
190 
191 6-            remonte de 6 lignes
192 
193 
194 
195 #commande de suppression
196 
197 x                    supprime le caractére sur le curseur
198 
199 X                    supprime le caractére précédent
200 
201 de                   supprime le mot suivant
202 
203 db                   supprime le mot précédent
204 
205 dd                   supprime la ligne courant
206 
207 4dd                  supprime 4 ligne
208 
209 d$ ou D              supprime le reste de la ligne
210 
211 d0                  Efface jusqu'au début de la ligne
212 
213 dw                   supprime le mot entier sur le curseur
214 
215 :3,5dd               supprime la ligne 3 a la ligne 5 .
216 
217 8s                   supprime 8 caractére est passe en mode insertion
218 
219 .                    repete la derniere commande de vi
220 
221 S (ou cc)            remplace toute la ligne
222 
223 s (ou cc_)           efface une lettre et passe en insertion
224 
225 CTRL u               supprime la ligne courante en mode insertion
226 
227 CTRL w               supprime le mot precedent en mode insertion
228 
229 d+                  Efface la ligne actuelle et la ligne suivante
230 
231 
232 
233 
234 
235 #copier avec vim
236 
237 yw                  copie le mot suivant
238 
239 yb                  copie le mot précédent
240 
241 yiw                 Yank inner word (copie tout le mot sur lequel on est sans avoir besoin d'etre au debut de celui-ci)
242 
243 yy                  copie la ligne courant
244 
245 p                   Coller le texte à la position du curseur
246 
247 P                   Coller le texte après le curseur (p pour paste)
248 
249 :9,11t34            copie les lignes 9 à 11 après la ligne 34
250

Voici le liens html:

http://www.darksh3ll.com/commandes-vim.html

Voila j'éspere que cela vous seras utilies comme ca la était pour moi


gnu-project@darksh3ll.com
http://www.darksh3ll.com
Coding Vim version 7.0.235
Programmation:Python

Hors ligne

#2 Le 07/07/2007, à 18:48

abetsic

Re : Toutes les commandes vim

Voici mon petit aide mémoire, évidemment il y a beaucoup de choses identiques mais sait on jamais ça pourra peut être servir à quelqu'un smile

Déplacement dans le fichier :
  h : gauche
  j : bas
  k : haut
  l : droite
  ctrl-f : page down
  ctrl-b : page up
  ctrl-d : half page down
  ctrl-u : half page up
  ctrl-e : descend d'une ligne
  ctrl-y : monte d'une ligne
  zz / zt / zb : Met la ligne avec le curseur au milieu / haut / bas de la page
  M / H / L : Met le curseur au milieu / haut / bas de la page

fusionner une ligne et la suivante
  J

avoir le code ascii du caractère sous le curseur
  ga


Highlight de la ligne courante
  :set cursorline

ctrl-r X : insère le contenu du registre X en mode commande

Inverser les lignes d'un fichier :
  :g/^/m 0
sur une plage
  :i,jg/^/m i-1 # avec i,j première et dernière ligne
g : global cherche le pattern après le / et execute la commande après le second /


lister les buffers
  :ls

changer de buffer
  :bn (où n est le numéro du buffer ou son nom)


Executer des commandes sur tous les buffers
  :bufdo commande1 | commande2 | commande3 | update
update sert à sauvegarder si une modification a été faite sur le fichier

search & replace
  :%s/search/replace/gce
% = dans tout le fichier
g = toutes les occurences de la ligne
c = confirmation de remplacement
e = pas de message d'erreur si "search" n'est pas trouvé (utile pour les bufdo)

tabulations en espace :
  :set expandtab
  :retab

recherche case insensitive/sensitive
  : set ic (ignorecase)
  : set noic

deplacer des lignes :
 :i,jm k # avec i,j range et k ligne d'arrivée

daw : efface le mot sous le curseur
diw : idem sans l'espace après
daW : efface le MOT sous le curseur (separe par un espace)
diW : idem sans l'espace après
dib : efface le contenu des ()
diB : idem pour {}
dab : efface les () et le contenu
daB : idem pour {}


Remplace GNU par Gnu is Not Unix lorsque GNU est tappé
  :iab GNU Gnu is Not Unix

Utiliser des registres pour stocker quelque chose :
  "xy3y  # copie trois lignes dans le registre x


trier :
  en visual sur plusieurs lignes
  :!sort

inserer un caractère spécial :
  ctrl-v caractère spécial


manpage du mot sous le curseur :
  K

incrémenter / décrémenter d'un la valeur sous le curseur
  ctrl-a / ctrl-x
incrémenter / décrémenter de n la valeur sous le curseur
  n ctrl-a / n ctrl-x

copier/coller en visuel :
  v - selectionner la région puis y et p pour coller


Completion d'un mot déjà utilisé dans les buffers
  ctrl-n / ctrl-p

Completion sur une ligne déjà utilisé :
  ctrl-x ctrl-l

Completion d'un mot d'un langage (C, latex...)
  ctrl-x ctrl-d


Macros :
enregistrement de la macro dans le registre a
  qa
  commandes à enregistrer
  q (fin de l'enregistrement)
Execution de la macro :
  @a


Correction orthographique, les dictionnaires utilisateurs sont dans ~/.vim/spell/
telechargeables sur http://ftp.vim.org/pub/vim/runtime/spell/
:set spell spelllang=fr [en_US]
(Possibilité d'en mettre plusieurs)
proposer une suggestion du mot sous le curseur
  en mode insertion
    ctrl-x s
  en mode commande :
    z=

ouvrir en scindant la fenêtre verticalement / horizontalement
  :vs file / :sp file
changer de fenêtre :
  ctrl-w fleche
echanger deux fenêtres :
  ctrl-w x | ctrl-w ctrl-x
Envoyer une fenêtre vers un bord
  ctrl-w H J K L

ouvrir dans un nouvel onglet :
  :tabe file
onglet suivant / précédent
  gt / gT

forcer retour chariot à 70 caractères du bord droit:
:set wrapmargin=70
le faire sur le paragraphe courant quand le curseur est au début du §
gq}

utiliser les modèles de couleurs définis dans /usr/share/vim/vimcurrent/colors
:colo[rscheme] model

Et un aide mémoire à imprimer qui contient les principales commandes et leur utilisation peut être trouvé à cette adresse : http://tnerual.eriogerg.free.fr/

Hors ligne

#3 Le 07/07/2007, à 19:29

Watchwolf

Re : Toutes les commandes vim

Il y a pas mal d'infos interessant dans tous ca big_smile

Hors ligne

#4 Le 07/07/2007, à 19:36

hells_dark

Re : Toutes les commandes vim

Moi aussi, j'ai essayé de me mettre à vi ces derniers temps.
Mais je dois dire qu'il m'arrive encore d'ouvrir gedit quand je dois faire des selections, plein de copier coller ou autre.

Le fait de devoir revenir en mode commande pour faire un bete copier/coller me fait perdre un temps fou.

Bref, va me falloir encore pas mal de temps pour être productif avec vi.


"You caught me at a strange time in my life."
devianArt - site perso

Hors ligne

#5 Le 08/07/2007, à 19:45

Yoshiball

Re : Toutes les commandes vim

Quelques petites infos concernant vim, sur mon site : http://ngressier.developpez.com/#ancre_vim

wink


VIM un éditeur pour la VIe : http://www.vim.org
Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com
Mon espace perso : http://ngressier.developpez.com

Hors ligne

#6 Le 09/07/2007, à 19:41

abetsic

Re : Toutes les commandes vim

Voilà une adresse avec beaucoup de petits trucs bien pratique :

http://rayninfo.co.uk/vimtips.html

Hors ligne

#7 Le 09/07/2007, à 21:48

Fabounet

Re : Toutes les commandes vim

très enrichissant ! merci à tous !


"Quiconque est prêt à sacrifier sa liberté pour une sécurité provisoire ne mérite ni l'un ni l'autre." (Benjamin Franklin)
>> Changez le look de votre bureau, essayez Glx-Dock ! [http://glx-dock.org] <<

Hors ligne

#8 Le 10/07/2007, à 11:06

Luc Hermitte

Re : Toutes les commandes vim

abetsic a écrit :

Voilà une adresse avec beaucoup de petits trucs bien pratique :

http://rayninfo.co.uk/vimtips.html

Ce qui me fait penser que nous sommes en train de réorganiser des tips du site officiel dans un wiki
http://vim.wikia.com/wiki/Main_Page (Il reste encore pas mal de boulot)

Sinon, je vois beaucoup de petites commandes, mais pas leur pourquoi/comment. Toutes les énumérer n'a pas forcément un intérêt énorme quand on sait qu'en fait elles se construisent par composition, ce qui fait qu'en tout il y a plusieurs centaines de commandes de ce type, alors qu'il y a beaucoup d'"atomes".

D'un côté on a :
- les opérateurs (:h operator --> c(change), d(elete), y(ank), ... (et beaucoup d'autres, cf l'aide)),
- et de l'autre les déplacements ; qu'ils soient "simples" (i.e. ceux partent dans une direction (prochain caractère, pattern, mot, phrase, ...)), ou plus complexes (:h text-objects -> a(after)/i(nner) + identifiant de block-> (, {, t, [, ", ',  w(ord), p(aragraph), ...)

Bref, plein de bonne lecture dans ":h motion.txt".

#9 Le 10/07/2007, à 12:03

Yoshiball

Re : Toutes les commandes vim

Merci beaucoup pour le lien Luc Hermitte, entre ici et developpez.com, tu es toujours à l'affût d'une conversation concernant Vim lol


VIM un éditeur pour la VIe : http://www.vim.org
Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com
Mon espace perso : http://ngressier.developpez.com

Hors ligne

#10 Le 06/06/2008, à 11:57

geenux

Re : Toutes les commandes vim

Un pdf avec un résumé des raccourcis les plus utiles:
http://tnerual.eriogerg.free.fr/vimqrc-fr.pdf

Hors ligne