all repos — blog @ 15cfcc735dd774458db83036cc90605d17d9141e

Code and content for 5ika.ch

content/garden/cli/vim.md (view raw)

  1---
  2Title: Utiliser Vim et Vimwiki
  3Date: 2024-04-19
  4---
  5
  6## Cheatsheet
  7
  8### Créer une nouvelle page à partir d'un lien
  9
 101. Créer un lien avec `[[Nom de la page]]`
 112. Placer le curseur sur le lien et appuyer sur `Enter`
 12
 13Une nouvelle page Markdown est créée avec le nom du lien dans le dossier Wiki.
 14
 15### Checker une tâche
 16
 171. Place le curseur sur la tâche
 182. Appuyer sur CTRL+Space
 19
 20> Si le curseur est un élément de liste, l'action ajoute une checkbox.
 21
 22## Shortcuts
 23
 24### Copier/Coller
 25
 26- `yy`: Copie la ligne actuelle
 27- `dd`: Supprime la ligne actuelle
 28- `du`: Supprime à partir du curseur jusqu'à la fin du mot
 29- `cc`: Supprime la ligne actuelle et passe en mode _insertion_
 30- `p`: Colle une sélection
 31- `D`: Supprime à partir du curseur jusqu'à la fin de la ligne
 32- `C`: Supprime à partir du curseur jusq'à la fin de la ligne et passe en mode
 33  _insertion_
 34- `J`: Merge la ligne actuelle et la suivante
 35
 36### Déplacement
 37
 38- `w`: Va au prochain mot
 39- `b`: Va au précédent mot
 40- `e`: Va à la fin du mot
 41- `0`: Va au début de la ligne
 42- `$`: Va à la fin de la ligne
 43- `gg`: Va à la première ligne du fichier
 44- `G`: Va à la dernière ligne du fichier
 45- `H`: Va en haut de la fenêtre (High)
 46- `M`: Va au milieu de la fenêtre (Middle)
 47- `L`: Va en bas de la fenêtre (Low)
 48- `zz`: Place la ligne actuelle au milieu de la fenêtre
 49- `Shift+↑`: Déplace la ligne actuelle vers le haut (commande custom)
 50- `Shift+↓`: Déplace la ligne actuelle vers le bas (commande custom)
 51
 52### Workspace
 53
 54- `:new`: Créer un nouveau workspace au dessus de l'existant
 55- `:vnew`: Créer un nouveau workspace à gauche de l'existant
 56- `Ctrl+W <arrow>`: Se déplace d'un workspace à l'autre
 57- `Ctrl+W +/-`: Agrandi/rétrécit le workspace courant verticalement
 58- `Ctrl+W </>`: Agrandi/rétrécit le workspace courant horizontalement
 59
 60### Opérations
 61
 62- `u`: Annule l'action précédente
 63- `Ctrl+r`: Refait l'action annulée
 64- `>>`: Ajoute une tabulation au début de la ligne
 65- `<<`: Enlève une tabulation au début de la ligne
 66- `N>>`: Ajoute une tabulation au N lignes suivantes
 67- `N<<`: Enlève une tabulation au N lignes suivantes
 68- `x`: Supprime le caractère au niveau du curseur
 69- `~`: Switch la casse pour le caractère au niveau du curseur
 70- `rX`: Remplace le caractère au niveau du curseur par 'X'
 71
 72### Recherche
 73
 74- `:/term`: Va à la première occurence de 'term'
 75- `n`: Va à la prochaine occurence de 'term'
 76- `N`: Va à la précédente occurence de 'term'
 77- `*`: Va à la prochaine occurence du mot au niveau du curseur
 78
 79### Correction ortographique
 80
 81- `:set spell`: Activer la correction
 82- `:set nospell`: Désactiver la correction
 83- `:set spelllang=fr`: Configurer la correction pour le français
 84- `]s`: Se déplacer vers le prochain mot mal orthographié
 85- `[s`: Se déplacer vers le précédent mot mal orthographié
 86- `z=`: Au dessus d'un mot mal orthographié, affiche la liste de propositions
 87
 88### Marquage
 89
 90- `m<lettre>`: Marquer la position actuelle (ligne et colonne) avec l'identifiant `<lettre>`
 91- `'<lettre>`: Se rendre à la ligne marquée avec l'identifiant `<lettre>`
 92- ```<lettre>``: Se rendre à la position marquée avec l'identifiant `<lettre>`
 93- `d'<lettre>`: Supprimer de la ligne actuelle jusqu'à la ligne marquée avec `<lettre>`
 94- `:marks`: Liste toutes les marques
 95- `:delmark a`: Supprime la marque 'a'
 96- `:delmarks!`: Supprime toutes les marques dans le buffer courant
 97
 98Marques spéciales:
 99
100- ```.``: Va à la position du dernier changement effectué
101- ```"``: Va à la position avant la dernière fermeture du buffer courant
102- `''`: Retourne à la ligne avant le dernier saut
103- ` `` `: Retourne à la position avant le dernier saut
104
105### Enregistrement d'actions
106
107- `qx`: Lance l'enregistrement des actions avec le nom 'x'
108- `q`: Arrête l'enregistrement en cours
109- `@x`: Applique les actions enregistrées avec le nom 'x' (1x)
110- `55@x`: Applique les actions 'x' 55 fois
111- `@@`: Ré-applique l'action précédente
112- `qxq`: Supprime l'enregistrement 'x'
113
114## Ressources
115
116- [Vimwiki](https://vimwiki.github.io/)
117- [Guide Working with vim](https://mkaz.blog/working-with-vim/)