Pages : 1
#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
Certes pas facile mais tellement de satisfaction.C'est vraiment bon
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
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
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
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
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
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
Pages : 1