187 lines
7.8 KiB
Plaintext
187 lines
7.8 KiB
Plaintext
/MODE NORMAL/
|
|
***** search the next occurence of the word under cursor
|
|
|
|
/MODE INSERTION/
|
|
**i** mode insertion avant le curseur
|
|
**I** mode insertion au debut de la ligne
|
|
**a** mode insertion apres le curseur
|
|
**A** mode insertion a la fin de la ligne
|
|
**o** mode insertion a la ligne
|
|
**O** mode insertion a la ligne du dessus
|
|
**3iTEXT** ecrira trois fois TEXT
|
|
**ctrl r** * colle depuis le clipboard en mode insertion
|
|
|
|
/COMMANDES/
|
|
**:w** enregistrer
|
|
**:w !sudo tee %** trick to save a page with sudo
|
|
**:q** quitter
|
|
**:wq** ou **ZZ** enregister et quitter
|
|
**:q!** force a quitter
|
|
**:** mode commande
|
|
**work with multiple files :**
|
|
**:e** open a new file in new buffer
|
|
**:e C-d** print the list of files in current directory
|
|
**:e <word>C-d** auto complete <word> with a mathing name of files in current directory
|
|
**:b <tab>** roll between opened files
|
|
**:set hidden** add that to be able to cancel changes
|
|
**:ls** list buffer oppened
|
|
**:x bw** delete buffer number x, even if it's a directory
|
|
**:bd** delete buffer
|
|
**:bp** go to previous buffer
|
|
**:bn** go to next buffer
|
|
**:b#** switch to last edited buffer
|
|
**:e.** open a temporary navigation explorer
|
|
**:Explore / :ex<tab>** navigate through directory, rename, and plus
|
|
**:Lexplore / :Lex<tab>** buffer directory open in left split window
|
|
**:Lexplore 30** Explore window is of size 30
|
|
**:vertical resize 40**
|
|
**search through files :**
|
|
**:vim** the one function that gets to be name as the software ;)
|
|
performes a kind of grep search on a list of files
|
|
**:vim pattern *\* ** performs search on all sub folders
|
|
**:vim pattern *.xml *.cpp** (without space between the two dots) performs search on all files of these extensions
|
|
**:cn** go to next search result (might be in same file)
|
|
**:cp** go to previous search result (might be in same file)
|
|
**:cnf** go to next search result in next file
|
|
**:cpf** go to previous search result in previous file
|
|
**:cw** list all results
|
|
**:%y+** copie toutes les lignes DANS LE CLIPBOARD
|
|
**:set paste** copier sans les effets des tabulations
|
|
**: up** affiche les dernieres commandes
|
|
**:set number** ecrit les numeros de lignes
|
|
**:set syntax=ON** active la coloration du texte
|
|
**:set tabstop=4** montre les tabulations (meme existantes) de longueur 4
|
|
**:set colorcolumn=80** ajoute une ligne verticale a la colone 80
|
|
**transformer des espaces en tab :**
|
|
**:set ts=2** ts pour tabstop, 2 si 2 espaces
|
|
**:set noet** noet pour noexpandtab == use tabs no spaces
|
|
**:%retab!** retabule tous le fichier
|
|
**:set autoindent** copie l'indentation de la ligne precedente
|
|
**:source ~/.vimrc** actualise le fichier vimrc sans redémarrer vim
|
|
**:sav newname** save as with a new name
|
|
**:!rm oldname** or **:!rm <ctr r>#** to delete the old copy
|
|
**:sp** split windows (**<ctr w arrow>** to navigate)
|
|
**:vsp** split verivally
|
|
**:on** unsplit by closing all windows except the active one
|
|
**:sp filename** open a new or already existing filename in split mode
|
|
**:sp %:h/filename** open new file in the same directory
|
|
**%** refers to the current directory
|
|
**:h** current directory minus file name and slash
|
|
**:colo** active un systeme de coloration a choisir parmis :
|
|
-- darkblue -- blue -- default -- delek -- desert --
|
|
-- elflord -- evening -- koehler -- morning --
|
|
-- murphy -- pablo -- peachpuff -- ron -- shine --
|
|
-- slate -- torte -- zellner --
|
|
(pour le modifier de manniere permanente :
|
|
- pour l'utilisateur courant:
|
|
ouvrir ou creer le fichier ~.vimrc
|
|
et ajouter dedans: colo "nom du jeu de couleur";
|
|
- pour tous les utilisateurs:
|
|
ouvrir le fichier /etc/vim/vimrc
|
|
et y ajouter: colo "nom du jeu de couleur")
|
|
|
|
/MODE VISUEL/
|
|
**v** mode visuel, selectionne avec le deplacement du curseur
|
|
**v** **:s/o/n** remplace la premiere occurence par ligne en mode visuelle
|
|
**v :s/o/n/g** remplace toutes les selections de chaque ligne
|
|
**v :s/o/n/gc** demande confirmation (y:yes, n:no, a:all remaining, q:quit, l:last)
|
|
|
|
/MODE REMPLACEMENT/
|
|
**R** mode remplacement (esc pour sortir)
|
|
|
|
/MODE VISUAL BLOCK/
|
|
**ctrl v** passe en mode remplacement
|
|
1-mettre le curseur au debut d'un ligne a commenter
|
|
2-passer en visual block mode
|
|
3-avec les fleches descendre jusqu'a la derniere ligne
|
|
4-appuyer sur shift+i pour passer en mode insertion
|
|
5-inserer le.s signe.s de commentaire (par exemple: //)
|
|
6-appuyer sur esc (ttes les lignes vont se commenter)
|
|
|
|
/MODE INTERACTIF/
|
|
**esc** quitte le mode insertion pour rentrer en mode interactif
|
|
**x** supprime une lettre
|
|
**r** remplace une lettre (rs remplace la lettre par s)
|
|
**u** annuler
|
|
**0** et **$** debut et fin de ligne
|
|
**gg** et **G** aller a la premiere et derniere ligne
|
|
**w** avancer le curseur au debut du mot suivant
|
|
**b** reculer le curseur au debut du mot actuel
|
|
**e** avancer le curseur a la fin du mot actuel
|
|
**5G** aller a la ligne 5
|
|
**5g up/down** va 5 lignes up ou down
|
|
**g,** va a la position du curseur avant la derniere modification
|
|
**f** va au prochain signe demandé, par exemple "fa" va au prochain a
|
|
**ctrl r** refaire
|
|
**ctrl r 0** colle la derniere selection copiee avec y
|
|
**ctrl n** auto-completion
|
|
**dd** coupe une ligne
|
|
**dw** coupe du curseur a la fin du mot
|
|
**diw** coupe le "inner" mot
|
|
**bde** pareil (begining delete end)
|
|
**bdw** pareil mais en mangeant en plus l'espace en trop avec le mot suivant
|
|
**d0** coupe du curseur jusqu'au debut de ligne
|
|
**d$** coupe du curseur jusqu'a la fin de ligne
|
|
**yy** copie la ligne
|
|
**p** colle une ligne
|
|
**.** repete la derniere commande
|
|
**"ayy** copie la ligne dans le buffer a
|
|
**"ap** colle la ligne du buffer a
|
|
**g up/down** go a la ligne du dessous meme quand c la meme ligne en wrap
|
|
**gUU** passe la ligne en uppercase
|
|
**guu** passe la ligne en lowercase
|
|
**bgUw** change le mot en uppercase
|
|
**~** change casse du caractere sous le cursor
|
|
***** va a la prochaine occurence du mot sous le curseur
|
|
**q:** affiche les dernieres commandes
|
|
**==** rétablit la bonne indentation pour la ligne
|
|
**=G** rétablit la bonne indentation pour toute la page
|
|
**''** go to last cursor position
|
|
**gx** open the file under cursor, or url or links
|
|
**g ctrl a** increment a column of numbers :
|
|
- create a column of "0"
|
|
- then select them in visual block **ctrl v arrow**
|
|
- then hit **g ctrl a**
|
|
- or **g ctrl a a** if using screen
|
|
- **ctrl a** is a vim feature to increase a number
|
|
|
|
/REMPLACER/
|
|
**:s/old/new** remplace la 1ere occurence de ancien par nouveau
|
|
**:%s/old/new** remplace toutes les occurences
|
|
**:s/o/n/gi** i veut dire case insensitive
|
|
**:s/A\zsB\zeC/X** remplace ABC par AXC
|
|
**:s/A\zs[0-9]** * **\zeC/#\0@** remplace A865C par A#865@C, ou A123C par A#123@C
|
|
replacement : **/old** va a la premiere prochaine occurence de 'old'
|
|
**n** va a la prochaine occurence
|
|
**:s//new** remplace 'old' par 'new'
|
|
**N** va a la precedente occurence
|
|
**&** repete la substitution
|
|
**u** annule la deniere substitution
|
|
etc...
|
|
replacement2: **vim old %** va a la toute premiere occurence de 'old'
|
|
**:s/old/new** remplace 'old' par 'new'
|
|
**:cn** va a la prochaine occurence
|
|
**&** repete la substitution
|
|
**:p** va a la precedente occurence
|
|
**u** annule la derniere sunstitution
|
|
etc...
|
|
|
|
**command! Name %s//** a écrire dans le fichier ~/.vimrc, créer une fonction
|
|
**Name** (tjrs avec une majuscule) qui s'execute quand on
|
|
l'appel. => **:command! Name %s/a/b <bar> %s/A/B** <=> grace à
|
|
<bar> on peut écrire plusieurs fonctions a la suite
|
|
**function! Test()** dans ~/.vimrc définit une fonction qui execute plusieurs
|
|
commandes. Il faut les appeler avec :exec Test(), le ! est
|
|
tres important pour que la fonction se réecrive a chaque
|
|
fois, sinon conflit
|
|
|
|
/SET SYNTAX FOR A FILE WITH EXTENSION NOT RECOGNIZE/
|
|
/in case the syntax already exist/
|
|
/like .tpp files with same syntax than .hpp, that have same syntax than .cpp/
|
|
/.hpp files are detected but not .tpp files/
|
|
**:set syntax=cpp** say to use cpp syntax
|
|
**in .vimrc :** filetype on
|
|
au BufNewFile,BufRead *.tpp set filetype=cpp
|
|
|
|
|