À propos du projet

hitori.vim est un plugin Vim/Neovim conçu pour garantir qu'une seule instance de l'éditeur est en cours d'exécution, fonctionnant de manière similaire à neovim-remote et vim-singleton. Construit sur denops.vim, il utilise Deno pour une compatibilité multiplateforme, y compris la prise en charge de Windows. La fonctionnalité principale consiste à exécuter un serveur WebSocket (port 7070 par défaut) dans l'instance active de Vim/Neovim. Lorsqu'une nouvelle commande d'ouverture de fichier est émise, le plugin vérifie si un serveur est déjà en cours d'exécution. Si c'est le cas, il envoie le chemin du fichier à l'instance existante au lieu de lancer un nouveau processus d'éditeur. Cela empêche plusieurs fenêtres d'éditeur d'encombrer l'espace de travail. Les fonctionnalités clés comprennent : - **Prise en charge multiplateforme** : fonctionne sur les systèmes de type Unix et Windows via denops.vim. - **Intégration WSL** : gère automatiquement la conversion de chemin entre les environnements Windows et WSL lorsqu'elle est activée. - **Outil CLI** : fournit une commande `hitori` (installable via Deno) qui peut être utilisée comme un wrapper pour `nvim`, `nvim-qt` ou `neovide`. Cette commande vérifie si un serveur WebSocket actif est présent et envoie soit le chemin du fichier à celui-ci, soit démarre une nouvelle instance d'éditeur si aucune n'est trouvée. - **Personnalisation** : configurable via des variables Vim pour ajuster la méthode d'ouverture (par exemple, tab drop, vsplit), le numéro de port, le mode de débogage et les modèles à ignorer pour les fichiers temporaires ou liés à git. - **Commandes d'activation/désactivation** : les utilisateurs peuvent basculer dynamiquement le comportement de singleton en utilisant `:Enablehitori` et `:Disablehitori`. L'installation est simple à l'aide de gestionnaires de plugins courants tels que lazy.nvim ou dvpm, nécessitant Deno et denops.vim comme dépendances.