Comment puis-je faire en sorte que gVim sous Windows se comporte comme sous Linux?

13

Je suis un utilisateur fréquent de l'éditeur Vim sous Linux et maintenant je veux l'utiliser sous Windows.

J'ai téléchargé Vim pour Windows, qui se trouve être gVim. Plusieurs fonctionnalités de Vim ne fonctionnent pas dans gVim 7.4 comme le bloc visuel, la rxcommande et plusieurs autres combinaisons de touches.

Je veux que le même / original Vim de Linux soit utilisé sur Windows. Cette version est-elle également disponible pour Windows? Ou puis-je utiliser des paramètres similaires au format Unix?

SibiCoder
la source
2
Essayez le Vim de tuxproject.de/projects/vim/x64
muru
6
Vérifiez également dans votre _vimrcfichier une ligne indiquant quelque chose comme source $VIMRUNTIME/mswin.vim. Ce fichier permet à de nombreux éléments de configuration d'être compatibles avec MSWindows (y compris de nombreux mappages).
Roflo
7
J'utilise gvim quotidiennement sur Windows, à la fois l'interface graphique de gvim et le vim non graphique via la console cmder. Moi aussi, j'étais frustré jusqu'à ce que j'éteigne le fichier de configuration mswin.vim et fasse quelques autres ajustements. J'ai simplement supprimé le fichier _vimrc installé avec le programme et copié mon Linux .vimrc sur Windows, puis je suis parti de là.
Dan Jones
6
D'autres commentateurs y ont fait allusion, mais personne ne l'a vraiment dit: le blocage visuel fonctionne bien dans Windows Vim. Il vous suffit de désactiver les raccourcis clavier "conviviaux pour Windows" qui remplacent le ctrl-vcombo de touches par un mappage de collage. Il est possible (probable?) Que vos autres problèmes avec Windows Vim proviennent du même problème, bien que vous ne mentionniez pas ce qu'ils sont tous, il est donc difficile de dire avec certitude.
Rich
4
OOTB gvim sur Windows fonctionne de la même manière que sur Linux (modulo différentes valeurs par défaut pour quelques options). Vous devez le configurer différemment.
Antony

Réponses:

14

Quand je dois travailler sur Windows (ce qui est plus souvent que je le souhaiterais), j'utilise Cygwin pour obtenir un terminal un peu moins merdique que la ligne de commande Windows d'origine. Cygwin fournit un environnement qui essaie d'être proche d'une console Bash avec des commandes Linux standard, et bien sûr, il est loin d'être parfait.

Voir la page du projet de Cygwin. Pendant l'installation, vous vous retrouverez sur une fenêtre vous permettant de choisir les packages que vous souhaitez installer. La barre de recherche permet de chercher des paquets à installer, entre autres choses utiles (comme git, tmux, curl, wget, etc.) vous pouvez taper vimet sélectionner des paquetages comme vim, vim-common, vim-doc, gvim. Cela installera un éditeur Vim assez proche de ce à quoi vous êtes habitué sous Linux.

Une fois que tout est installé (ce qui peut parfois être un peu long), vous pourrez démarrer Cygwin qui affichera un terminal, et vous pourrez démarrer Vim comme d'habitude et utiliser votre Linux .vimrcet votre gestionnaire de plugins habituel. L'inconvénient principal est la compatibilité des couleurs qui doivent souvent être peaufinées et avoir toujours l'air merdique.

Notez que j'utilise Cygwin par habitude, mais d'autres solutions (comme cmder par exemple) existent. Aucun d'entre eux n'est parfait, vous pouvez donc essayer plusieurs et trouver votre favori.

Notez également que la menthe est un bon moyen de rendre Cygwin un peu moins merdique.

statox
la source
1
Il a plusieurs problèmes. Il n'affiche pas correctement les caractères Unicode. Certains caractères multi-octets sont masqués.
SibiCoder
1
Oui, c'est précisément pourquoi j'ai spécifié que «aucun d'entre eux n'est parfait»: jusqu'à présent, Cygwin (et ses équivalents) ne sont qu'une solution de contournement. Je ne suis pas un expert de Windows mais peut-être que le nouveau travail de collaboration entre Canonical et Microsoft mènera à de meilleures alternatives.
statox
J'utilise babun ces jours-ci, même si je pense que le cygwin sous-jacent n'est pas aussi frais qu'une installation vanilla.
Rolf
Depuis Windows 10 et surtout depuis les mises à jour supplémentaires qu'ils y ont ajoutées (curl, openssh, débordement de texte correct, prise en charge des couleurs 24 bits), l'invite DOS droite est meilleure maintenant. Le rendu de police dans les invites DOS / PowerShell est généralement le meilleur que j'ai vu pour les applications de terminal Windows. De plus, si vous installez Git pour Windows, il contient presque tous les outils de ligne de commande Linux dont vous avez besoin, ajoutez C:\Program Files\Git\usr\binou similaire à votre chemin.
icc97
11

À partir de la mise à jour anniversaire de Windows 10, vous pouvez utiliser le terminal Bash sur Ubuntu pour exécuter un sous-système Linux où vous pouvez apt installtout ce que vous avez l'habitude d'utiliser dans Ubuntu. Votre système de fichiers Windows est monté afin que vous puissiez utiliser Vim à l'intérieur du shell pour modifier vos fichiers.

Chad Gilbert
la source
2
Gardez à l'esprit que vous accédez toujours à Vim via la console Windows, qui est très limitée avec les couleurs et la coloration syntaxique. Même avec la mise à jour des créateurs qui est censée apporter 256 couleurs à la console, je n'ai pas réussi à améliorer la coloration syntaxique.
icc97
@ icc97 Je ne me souviens pas exactement de ce que j'ai fait (je ne comprends pas très bien les couleurs et les terminaux) mais j'ai pu obtenir des couleurs qui paraissent bien sur vim et résoudre le problème avec le texte bleu sur noir qui est apparu dans le bash sur la sortie du terminal ubuntu. Maintenant c'est un peu coloré mais ça marche bien. De plus, avec Xming, gVim fonctionne bien dans Ubuntu sous Windows (je viens de tester l'interface et d'essayer de sauvegarder des fichiers, etc.).
Formagella
@Formagella Je suis un peu tordu avec mes couleurs. J'ai passé des heures à essayer de faire fonctionner les couleurs solarisées avec un standard similaire de Linux Vim - j'ai écrit une partie de ce que j'ai fait dans ce numéro . GVim a cependant une coloration syntaxique assez parfaite (et gras / italique) dans Windows, j'ai donc cessé de me battre et je l'ai utilisé. Étant donné que vous êtes dans l'invite dos, avoir une mise en surbrillance de la syntaxe OK est génial et c'est très utile pour les sessions SSH, mais pour l'édition à temps plein, j'ai abandonné.
icc97
1
Il existe maintenant une version de Mintty disponible pour servir de terminal pour Bash sur Ubuntu sur Windows et une implémentation de Solarized conçue pour Mintty. Je l'ai fait tout à l'heure et ce fut une expérience relativement indolore!
Amndeep7
@Formagella J'ai enfin des couleurs qui fonctionnent correctement dans la console Windows, il a fallu un correctif dans Vim . Mais à partir de Vim 8.1 + un schéma de couleurs 24 bits, vous pouvez obtenir de jolies couleurs dans l'invite DOS simple et l'invite WSL. J'ai une réponse distincte qui expérimente les différents thèmes de couleurs de la console Windows et fait fonctionner quelques couples.
icc97
4

Comme Roflo et Rich l'ont mentionné dans leurs commentaires ici et ici , votre problème avec l'impossibilité d'utiliser le bloc visuel (je ne suis pas sûr de ce qu'est la rxcommande) est parce que les $VIM\_vimrcsources vimrc ( ) à l' échelle du système $VIMRUNTIME\mswin.vimqui définissent les mappages de style Windows comme Ctrl+ vpour coller, Ctrl+ cpour copier, Ctrl+ xpour couper.

Le moyen le plus simple de contourner ce problème est de créer un _vimrcfichier dans votre répertoire personnel (notez que la version Windows de vim utilise à la _vimrcplace de .vimrc). Comme vous pouvez le voir :h vimrc, vim recherche vimrc à plusieurs endroits et utilise uniquement le premier qu'il trouve tout en ignorant le reste. Celui du répertoire personnel est toujours recherché / utilisé en premier.

Étapes minimales:

  • ouvrir gvim ou vim
  • :e ~/_vimrc
  • :w
doubleDown
la source
0

Une autre mise à jour assez petite mais non moins importante est arrivée à Windows 10 pour la version 1803. Ils ont ajouté un support 24 bits pour la console (invite cmd / powershell). Dans 8.1 Vim ( https://www.vim.org//download.php/#pc ) ils ont ajouté le support pour termguicolorslequel des moyens vous pouvez obtenir le soutien couleur 24 bits dans la console Vim. J'ai récemment posté une réponse pour que le support des couleurs fonctionne .

Mais cela signifie qu'il existe à peu près un support complet pour exécuter Vim dans l'invite DOS - vous n'avez donc pas besoin d'installer de sous-système Linux ou d'autres dépendances au-delà de Vim lui-même pour faire fonctionner Vim pur. Je trouve que c'est encore un peu lent, mais c'est super de voir les progrès.

entrez la description de l'image ici

Choses qui fonctionnent dans la console Vim (dans Windows 10 build 1803+):

  • Compagnie aérienne avec polices Powerline
  • 24 bits colortheme(par exemple vim-solarized8, tender)
  • Pratiquement n'importe quel plugin (par exemple, tout plugin Tim Pope, FZF et Ripgrep)
  • vimdiff
  • La fenêtre de la console s'enclenche correctement avec le texte qui coule correctement - c'est mieux géré que GVim

Choses qui ne fonctionnent pas / problèmes:

  • C'est plus lent que GVim
  • Polices en gras / italique
  • Les caractères UTF-8 sont limités - par exemple, certaines des icônes par défaut des compagnies aériennes ne s'affichent pas
icc97
la source