{{tag>howto app vim}} ====== Déplacements du curseur ======= Notes concernant le déplacement du curseur sous vim. Les touches fléchées sont disponibles dans tous les modes. En mode commande les touches **hjkl** permettent de déplacer le curseur: ^ h | gauche | ^ k | haut | ^ j | bas | ^ l | droite | ===== Déplacement vertical ===== En mode commande, on peut ramener le curseur rapidement sur des positions particulières de l'écran ^ H | Curseur en haut de l'écran (High). | ^ M | Curseur au centre (Middle). | ^ L | curseur au bas (Low). | ^ ctrl+u | remonte le curseur d'une demi-page (UP). | ^ ctrl+b | remonte le curseur d'une page (BACKWARD). | ^ ctrl+d | descend d'une demi page (DOWN). | ^ ctrl+f | descend d'une page (FORWARD). | ===== Déplacement horizontal ===== Vim fait la distinction entre les lignes affichées (dont la longueur dépend du nombre de colonnes du terminal) et les lignes réelles délimitée par le caractère de fin de ligne. ^ 0 | Première colonne de la ligne. | ^ %%^%% | Premier caractère non blanc de la ligne. | ^ w | Déplace le curseur sur le mot suivant. | ^ W | Déplace le curseur sur le mot suivant, ignore la ponctuation. | ^ e | Fin de mot suivant | ^ E | Fin de mot suivant, ignore la ponctuation. | ^ b | Début du mot précédent | ^ g_ | Saut vers le dernier caractère non blanc de la ligne. | ^ $ | Dernière colonne de la ligne. | Ces **mouvements** permettent de déplacer le curseur en mode normal mais ils peuvent également être utilisés avec les commandes. (**''d$''** par exemple applique la commande de suppression "d" jusqu'à la fin de la ligne courante via le mouvement "$"). ===== Parenthèses et accolades ===== Lorsque le curseur est placé sur une parenthèse ouvrante (ou fermante), la touche **%** permet d'atteindre la parenthèse fermante (ou ouvrante) associée. Ce comportement est également valable pour les accolades et les crochets. ===== Sauts ===== La commande **G** sans quantificateur permet de déplacer le curseur à la fin du fichier. [Quantificateur] G ^ G | Curseur en fin de fichier | ^ gg | Curseur en début de fichier. | ^ 70G | Curseur sur la ligne 70 | Pour afficher l'état du fichier et la position actuelle du curseur **ctrl-G** ===== Utilisation des marques ===== On peut ajouter des marques (**marks**) pour passer rapidement d'une position à une autre à l'intérieur du document ou entre plusieurs fichiers. Vim crée automatiquement les marques suivantes: ^ {0-9} | Les 10 derniers fichiers édités | ^ ( et ) | Déplace le curseur sur la phrase précédente ou la phrase suivante. | ==== Gérer les marques ==== * Pour créer une marque, en mode commande, placer le curseur et appuyer sur la **m** suivie d'une lettre **m{a-zA-Z}** * Pour les lister, en mode commande taper **:marks**. * Pour effacer une marque, en mode commande **:delmarks {a-zA-Z}** ou **:delmarks !** pour les effacer toutes. Pour déplacer le curseur sur une marque: ^ '{a-zA-Z} | Place le curseur sur la ligne marquée. | ^ `{a-zA-Z} | Place le curseur exactement sur la marque (ligne et colonne) | ===== Utiliser ctags ===== Concernant les fichiers sources en C, le programme **ctags** permet de générer des tags pour les fichiers sources passés en paramètre. Il est alors possible de démarrer vim en positionnant directement le curseur sur la définition d'une fonction. Pour générer le fichier tag contenant la liste des tags: $ ctags ./*.c Pour démarrer vim en positionnant le curseur: $ vim -t main ===== Références ===== * http://blog.interlinked.org/tutorials/vim_tutorial.html * http://www.tldp.org/HOWTO/Tips-HOWTO-2.html#ss2.18