```html
Qu'est-ce que Neovim ?
Neovim est un éditeur de texte hyper-extensible, basé sur Vim, qui vise à moderniser et à améliorer l'expérience Vim classique. Lancé en 2014 en tant que fork de Vim, Neovim est depuis devenu un projet autonome avec sa propre identité et sa propre trajectoire de développement. Tout en maintenant une compatibilité totale avec le modèle d'édition de Vim, Neovim introduit une base de code plus maintenable, de meilleurs paramètres par défaut et une architecture de plugin robuste qui exploite l'exécution asynchrone.
À la base, Neovim préserve la philosophie d'édition modale qui a rendu Vim légendaire parmi les développeurs et les utilisateurs avancés. Cette approche sépare l'édition de texte en différents modes - principalement le mode normal pour la navigation et les commandes, le mode insertion pour taper du texte et le mode visuel pour sélectionner et manipuler des blocs de texte. Cette séparation permet une manipulation de texte incroyablement efficace une fois maîtrisée, permettant aux utilisateurs de modifier le texte à la vitesse de la pensée plutôt qu'à la vitesse des frappes.
Neovim se distingue des éditeurs de texte traditionnels par son extensibilité. Il offre une prise en charge de premier ordre des serveurs de langage via le Language Server Protocol (LSP), une émulation de terminal intégrée et une interface de script Lua qui permet aux développeurs de créer des plugins puissants avec un minimum de frais généraux. Ces fonctionnalités positionnent Neovim non seulement comme un éditeur de texte, mais aussi comme un environnement de développement personnalisable qui peut être adapté aux flux de travail individuels.
Avant de plonger dans nos commandes Neovim, j'aimerais vous présenter Apidog – une plateforme de développement d'API complète qui devient rapidement l'alternative Postman préférée de nombreux développeurs.

Si vous travaillez fréquemment avec des API tout en codant dans Neovim, Apidog offre une expérience transparente pour la conception, le débogage et la documentation des API.

Apidog combine la documentation des API, les tests automatisés et les serveurs simulés en un seul outil intégré, ce qui le rend parfait pour les développeurs individuels et les équipes. Son interface intuitive et ses fonctionnalités puissantes rationalisent votre flux de travail API tout en maintenant la compatibilité avec vos collections Postman existantes. Prenez un moment pour tester Apidog avec votre configuration Neovim – la combinaison de ces outils puissants pourrait révolutionner votre processus de développement.
Maintenant, plongeons-nous dans ces commandes Neovim essentielles !
Pourquoi vous devriez utiliser Neovim
Performance et efficacité
L'architecture de Neovim est conçue pour la vitesse. En tirant parti des E/S asynchrones, il reste réactif même lors de l'exécution de tâches intensives comme l'indexation du code ou les opérations git. Cela signifie plus de blocages ou de décalage lors du travail sur des fichiers volumineux ou des projets complexes. L'approche d'édition modale minimise également les mouvements de la main, réduisant le risque de troubles musculo-squelettiques courants chez les développeurs qui passent des heures à coder.
Personnalisation et extensibilité
Bien que de nombreux éditeurs modernes offrent des options de personnalisation, l'approche de Neovim est particulièrement puissante. Chaque aspect de l'éditeur peut être configuré selon vos préférences, des liaisons de touches à l'apparence. L'écosystème de plugins robuste vous permet d'étendre les fonctionnalités dans pratiquement toutes les directions - transformez Neovim en un IDE pour votre langage préféré, un environnement d'écriture pour la documentation, ou tout ce qui se trouve entre les deux.
Compétences à l'épreuve du temps
Apprendre Neovim développe des compétences d'édition qui transcendent des outils ou des environnements spécifiques. L'édition de style Vim est disponible en tant que plugin ou mode dans presque tous les éditeurs et IDE populaires, y compris VS Code, IntelliJ IDEA et même les navigateurs. Maîtriser ces commandes crée des compétences transférables qui améliorent votre productivité sur plusieurs plateformes.
Efficacité des ressources
L'empreinte minimale des ressources de Neovim en fait un excellent choix pour le travail à distance ou les appareils moins puissants. Il démarre instantanément et consomme beaucoup moins de mémoire que les éditeurs graphiques, laissant plus de ressources disponibles pour vos tâches de développement réelles.
Communauté et écosystème
Neovim a favorisé une communauté active qui contribue continuellement à son amélioration. L'écosystème de plugins est riche et diversifié, avec des outils disponibles pour pratiquement tous les besoins de développement. De la recherche floue et de la navigation dans les fichiers à l'intégration git et à la coloration syntaxique, la communauté a créé des solutions qui rivalisent ou dépassent celles que l'on trouve dans les IDE commerciaux.
Éthique Open Source
En choisissant Neovim, vous adoptez un outil entièrement open source avec un processus de développement transparent. Votre éditeur n'est pas soumis aux caprices d'une entreprise ou aux changements soudains des modèles de licence ou de tarification.
Comment installer Neovim sur Windows, Mac, Linux
Installation Windows
En utilisant Windows Package Manager (winget)
winget install Neovim.Neovim
En utilisant Chocolatey
choco install neovim
En utilisant Scoop
scoop install neovim
Installation manuelle
- Visitez la page des versions de Neovim GitHub
- Téléchargez la dernière archive ZIP stable de Windows
- Extrayez le contenu vers un emplacement de votre choix (par exemple,
C:\Program Files\Neovim
) - Ajoutez le répertoire
bin
à votre variable d'environnement PATH - Vérifiez l'installation en ouvrant une invite de commande et en tapant
nvim --version
Installation macOS
En utilisant Homebrew
brew install neovim
En utilisant MacPorts
sudo port install neovim
Installation manuelle
- Téléchargez la dernière archive macOS depuis la page des versions de Neovim GitHub
- Extrayez l'application dans votre dossier Applications
- Facultativement, ajoutez un alias à votre fichier de configuration shell :
alias nvim='/Applications/Neovim.app/Contents/MacOS/nvim'
Installation Linux
Ubuntu/Debian
sudo apt update
sudo apt install neovim
Fedora
sudo dnf install -y neovim python3-neovim
Arch Linux
sudo pacman -S neovim
Compilation à partir des sources
Pour les dernières fonctionnalités ou sur les distributions sans paquets à jour :
git clone https://github.com/neovim/neovim
cd neovim
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
Vérification de votre installation
Après l'installation, ouvrez un terminal ou une invite de commande et tapez :
nvim --version
Vous devriez voir une sortie affichant la version de Neovim et les informations de construction. Pour démarrer Neovim, tapez simplement :
nvim
Configuration initiale
Neovim stocke sa configuration aux emplacements suivants :
- Windows :
%LOCALAPPDATA%\nvim\
- macOS/Linux :
~/.config/nvim/
Créez un fichier init.vim
dans ce répertoire pour la configuration Vimscript ou un init.lua
pour la configuration Lua. De nombreux utilisateurs commencent par une configuration minimale et construisent au fur et à mesure qu'ils apprennent :
Exemple init.vim de base :
" Paramètres de base
set number " Afficher les numéros de ligne
set relativenumber " Afficher les numéros de ligne relatifs
set expandtab " Utiliser des espaces au lieu des tabulations
set tabstop=4 " Définir la largeur des tabulations sur 4 espaces
set shiftwidth=4 " Définir la largeur de décalage sur 4 espaces
set autoindent " Activer l'auto-indentation
set smartindent " Activer l'indentation intelligente
set termguicolors " Activer la prise en charge des vraies couleurs
Top 100 des commandes Neovim pour les débutants
Neovim s'est imposé comme un éditeur de texte puissant et extensible pour les développeurs et les utilisateurs avancés. S'appuyant sur la base de Vim, Neovim offre des performances améliorées, une meilleure architecture de plugins et une communauté dynamique qui améliore constamment ses capacités. Que vous soyez un vétéran chevronné de Vim ou un nouveau venu dans l'édition modale, avoir une référence de commandes complète à portée de main peut considérablement améliorer votre efficacité et votre flux de travail.
Cette feuille de triche compile 100 commandes Neovim essentielles que chaque utilisateur devrait connaître, organisées par catégorie pour une référence rapide. De la navigation de base à la manipulation de texte avancée, ces commandes représentent la boîte à outils qui fait de Neovim un environnement d'édition si formidable. Maîtriser ne serait-ce qu'un sous-ensemble de ces commandes augmentera considérablement votre productivité et vous aidera à exploiter tout le potentiel de Neovim.
Navigation de base
h
,j
,k
,l
- Déplacer le curseur vers la gauche, le bas, le haut, la droite (les touches de mouvement de base dans Neovim)w
- Aller au début du mot suivant (la ponctuation est considérée comme des mots)W
- Aller au début du MOT suivant (mots séparés par des espaces)b
- Aller au début du mot précédentB
- Aller au début du MOT précédente
- Aller à la fin du motE
- Aller à la fin du MOT0
- Aller au début de la ligne (première colonne)^
- Aller au premier caractère non blanc de la ligne$
- Aller à la fin de la lignegg
- Aller à la première ligne du documentG
- Aller à la dernière ligne du document{number}G
- Aller à un numéro de ligne spécifique{
- Aller au paragraphe/bloc de code précédent}
- Aller au paragraphe/bloc de code suivantCtrl-u
- Déplacer vers le haut d'un demi-écranCtrl-d
- Déplacer vers le bas d'un demi-écranCtrl-b
- Déplacer vers le haut d'un écran entierCtrl-f
- Déplacer vers le bas d'un écran entierzz
- Centrer le curseur sur l'écran (la ligne actuelle devient la ligne du milieu)zt
- Positionner le curseur en haut de l'écranzb
- Positionner le curseur en bas de l'écran
Commandes d'édition
i
- Entrer en mode insertion avant le curseur (pour insérer du texte)I
- Entrer en mode insertion au début de la lignea
- Entrer en mode insertion après le curseur (ajouter)A
- Entrer en mode insertion à la fin de la ligneo
- Insérer une nouvelle ligne en dessous de la ligne actuelle et entrer en mode insertionO
- Insérer une nouvelle ligne au-dessus de la ligne actuelle et entrer en mode insertionr
- Remplacer un seul caractère sous le curseur (sans entrer en mode insertion)R
- Entrer en mode remplacement (écraser le texte existant)x
- Supprimer le caractère sous le curseurX
- Supprimer le caractère avant le curseurdd
- Supprimer toute la ligne (et stocker dans le registre){number}dd
- Supprimer plusieurs lignesD
- Supprimer du curseur à la fin de la ligneyy
ouY
- Yank (copier) toute la ligne{number}yy
- Yank plusieurs lignesy$
- Yank du curseur à la fin de la lignep
- Coller après le curseurP
- Coller avant le curseuru
- Annuler la dernière modificationCtrl-r
- Refaire (annuler l'annulation)~
- Changer la casse du caractère sous le curseur>>
- Indenter la ligne<<
- Désindenter la ligne.
- Répéter la dernière commande (puissant pour les modifications répétitives)cc
ouC
- Changer toute la ligne (supprimer la ligne et entrer en mode insertion)cw
- Changer le mot (supprimer le mot et entrer en mode insertion)c$
ouC
- Changer jusqu'à la fin de la ligneJ
- Joindre la ligne actuelle avec la ligne suivante
Rechercher et remplacer
/pattern
- Rechercher en avant le motif?pattern
- Rechercher en arrière le motifn
- Répéter la recherche dans la même directionN
- Répéter la recherche dans la direction opposée*
- Rechercher en avant le mot sous le curseur#
- Rechercher en arrière le mot sous le curseur:%s/old/new/g
- Remplacer toutes les occurrences de 'old' par 'new' dans tout le fichier:%s/old/new/gc
- Remplacer toutes les occurrences avec des confirmations:s/old/new/g
- Remplacer toutes les occurrences sur la ligne actuelle:noh
- Effacer la surbrillance de la recherchegd
- Aller à la définition locale du mot sous le curseurgD
- Aller à la définition globale du mot sous le curseur
Mode visuel
v
- Entrer en mode visuel caractère par caractère (sélectionner des caractères)V
- Entrer en mode visuel ligne par ligne (sélectionner des lignes entières)Ctrl-v
- Entrer en mode visuel par blocs (sélectionner des blocs rectangulaires)gv
- Resélectionner la sélection visuelle précédenteo
- En mode visuel : Aller à l'autre extrémité de la sélectionO
- En mode bloc visuel : Aller à l'autre coin du blocaw
- Sélectionner un mot (en mode visuel)ab
- Sélectionner un bloc avec () (en mode visuel)aB
- Sélectionner un bloc avec {} (en mode visuel)at
- Sélectionner un bloc avec des balises HTML/XML (en mode visuel)
Opérations sur les fichiers
:e filename
- Modifier un fichier (créer s'il n'existe pas):w
- Écrire (enregistrer) le fichier:w filename
- Écrire dans le nom de fichier spécifié (enregistrer sous):q
- Quitter (échoue en cas de modifications non enregistrées):q!
- Quitter sans enregistrer (ignorer les modifications):wq
ou:x
- Écrire et quitter:saveas filename
- Enregistrer le fichier sous le nom de fichier:r filename
- Insérer le contenu du fichier sous le curseur:r !command
- Insérer la sortie de la commande shell sous le curseur
Travailler avec des fenêtres et des onglets
:split
ou:sp
- Diviser la fenêtre horizontalement:vsplit
ou:vs
- Diviser la fenêtre verticalementCtrl-w h/j/k/l
- Naviguer entre les fenêtres (gauche/bas/haut/droite)Ctrl-w +/-
- Augmenter/diminuer la hauteur de la fenêtreCtrl-w </>
- Augmenter/diminuer la largeur de la fenêtreCtrl-w =
- Rendre toutes les fenêtres de taille égaleCtrl-w o
- Faire de la fenêtre actuelle la seule:tabnew
- Créer un nouvel ongletgt
- Aller à l'onglet suivantgT
- Aller à l'onglet précédent:tabclose
- Fermer l'onglet actuel:tabonly
- Fermer tous les autres onglets
Gestion des tampons
:ls
- Lister tous les tampons:b number
- Basculer vers le tampon par numéro:bn
- Tampon suivant:bp
- Tampon précédent:bd
- Supprimer le tampon (fermer le fichier):bufdo command
- Exécuter la commande sur tous les tampons:e #
- Modifier le fichier alternatif (généralement le fichier précédemment modifié)
Marques et sauts
m{a-z}
- Définir une marque à la position actuelle (minuscule pour le fichier local)m{A-Z}
- Définir une marque à la position actuelle (majuscule pour global)'{mark}
- Aller à la ligne de la marque`{mark}
- Aller à la position de la marqueCtrl-o
- Aller à une position plus ancienne dans la liste des sautsCtrl-i
- Aller à une position plus récente dans la liste des sauts'.
- Aller à la position de la dernière modification`.
- Aller à la position exacte de la dernière modification
Objets de texte et mouvements
ci(
- Changer à l'intérieur des parenthèsesdi"
- Supprimer à l'intérieur des guillemets doublesyi]
- Yank à l'intérieur des crochetsva{
- Sélectionner visuellement autour des accolades (y compris les accolades)dap
- Supprimer autour du paragraphecit
- Changer à l'intérieur de la balise HTML/XMLdiw
- Supprimer à l'intérieur du motdaw
- Supprimer autour du mot (y compris les espaces)dab
- Supprimer autour du bloc (parenthèses)daB
- Supprimer autour du bloc (accolades)
Commandes de pliage
zf
- Créer un pli (en mode visuel)zo
- Ouvrir le pli sous le curseurzc
- Fermer le pli sous le curseurza
- Basculer le pli sous le curseurzR
- Ouvrir tous les pliszM
- Fermer tous les pliszj
- Aller au pli suivantzk
- Aller au pli précédent
Fonctionnalités spécifiques à Neovim
:terminal
ou:term
- Ouvrir le terminal intégréCtrl-\ Ctrl-n
- Quitter le mode terminal pour le mode normal:checkhealth
- Exécuter l'outil de diagnostic de Neovim:lua require('telescope.builtin').find_files()
- Utiliser le plugin Telescope pour trouver des fichiers:TSInstall language
- Installer l'analyseur syntaxique treesitter pour une langue:LspInfo
- Afficher l'état du Language Server Protocol:TSBufToggle highlight
- Basculer la surbrillance treesitter:highlight
- Afficher les groupes de surbrillance actuels:Tutor
- Démarrer le tutoriel intégré de Neovim:help nvim-features
- Afficher les fonctionnalités spécifiques de Neovim
Fonctionnalités avancées
q{a-z}
- Enregistrer une macro dans le registre@{a-z}
- Jouer la macro à partir du registre@@
- Répéter la dernière macro jouéeg&
- Répéter la dernière substitution sur toutes les lignes:norm cmd
- Exécuter la commande en mode normal sur les lignes sélectionnéesgf
- Aller au fichier sous le curseurCtrl-a
- Incrémenter le nombre sous le curseurCtrl-x
- Décrémenter le nombre sous le curseur:sort
- Trier les lignes sélectionnées!motion command
- Filtrer le texte via une commande externe
Conclusion
La puissance de Neovim réside dans son ensemble de commandes étendu, et la maîtrise de ces commandes améliorera considérablement votre efficacité d'édition. N'oubliez pas que la compétence vient avec la pratique - commencez par incorporer quelques nouvelles commandes dans votre flux de travail chaque jour, et bientôt elles deviendront une seconde nature.
La philosophie d'édition modale de Neovim permet une manipulation de texte incroyablement précise et efficace une fois que vous avez développé une mémoire musculaire pour ces commandes. Envisagez de créer vos propres mappages de touches personnalisés pour les opérations fréquentes afin d'améliorer encore votre productivité.
Au fur et à mesure que vos compétences se développent, vous souhaiterez peut-être explorer l'écosystème de plugins pour étendre les fonctionnalités de Neovim. Les plugins populaires comme Telescope pour la recherche floue, les configurations LSP pour l'intelligence du code et Treesitter pour une meilleure coloration syntaxique peuvent transformer Neovim en un environnement de développement intégré puissant adapté à vos besoins spécifiques.
Pour ceux qui travaillent avec des API tout en utilisant Neovim, n'oubliez pas d'essayer Apidog comme alternative complète à Postman. Son interface simplifiée et ses fonctionnalités puissantes complètent l'approche axée sur l'efficacité de Neovim pour créer un environnement de développement optimal.
Que vous écriviez du code, documentiez des projets ou modifiez des fichiers de configuration, ces commandes Neovim fournissent la base d'une expérience d'édition de texte qui grandit avec vos besoins et s'adapte à votre flux de travail personnel. Avec le temps et la pratique, vous découvrirez que la courbe d'apprentissage initiale de Neovim rapporte des dividendes extraordinaires en termes de productivité à long terme et de joie d'édition.
Bonne édition !
```