Hoe kan ik ervoor zorgen dat gVim onder Windows zich gedraagt als Linux?

Ik ben een frequente gebruiker van de Vim-editor op Linux en nu wil ik deze op Windows gebruiken.

Ik heb Vim gedownload voor Windows, wat toevallig gVim is. Verschillende functies van Vim werken niet in gVim 7.4 zoals visueel blok, rx commando, en verschillende andere toetscombinaties.

Ik wil dezelfde / originele Vim van Linux voor gebruik op Windows. Is die versie ook beschikbaar voor Windows? Of kan ik instellingen gebruiken die vergelijkbaar zijn met het Unix-formaat?

Opmerkingen

  • Probeer de Vim van tuxproject.de/projects/vim/x64
  • Controleer ook je _vimrc -bestand voor een regel die iets zegt als source $VIMRUNTIME/mswin.vim. Met dat bestand kunnen veel configuratiemateriaal MSWindows-vriendelijk zijn (inclusief veel toewijzingen).
  • Ik gebruik gvim dagelijks op Windows, zowel de gvim GUI als de niet-grafische vim via de cmder-console. Ook ik was gefrustreerd totdat ik het mswin.vim-configuratiebestand uitschakelde en een paar andere aanpassingen maakte. Ik verwijderde eenvoudig het _vimrc-bestand dat was geïnstalleerd met het programma en kopieerde mijn Linux .vimrc naar Windows, en ging van daaruit.
  • Andere begonnen ters hebben hierop gezinspeeld, maar niemand ‘ zei het eigenlijk ronduit: visual block werkt prima in Windows Vim. U hoeft alleen de ” Windows-vriendelijke ” sneltoetsen uit te schakelen die de ctrl-v key-combo met een paste mapping. Het is ‘ mogelijk (waarschijnlijk?) Dat uw andere problemen met Windows Vim voortkomen uit hetzelfde probleem, hoewel u ‘ niet vermeldt wat ze zijn allemaal dus het ‘ is moeilijk met zekerheid te zeggen.
  • OOTB gvim op Windows werkt hetzelfde als op Linux (modulo verschillende standaardinstellingen voor een paar opties) . Je moet het anders hebben geconfigureerd.

Answer

Wanneer ik op Windows moet werken (wat vaker dan ik zou willen), gebruik ik Cygwin om een terminal een beetje minder waardeloos te krijgen dan de originele Windows-opdrachtregel. Cygwin biedt een omgeving die dicht bij een Bash-console probeert te zijn met standaard Linux-opdrachten, en het is natuurlijk verre van foutloos.

Zie het project pagina van Cygwin. Tijdens de installatie “kom je terecht in een venster waarin je kunt kiezen welke pakketten je wilt installeren. Met de zoekbalk kun je zoeken naar pakketten om te installeren, naast andere nuttige dingen (zoals git , tmux, curl, wget, etc.) kun je vim en selecteer pakketten zoals vim, vim-common, vim-doc , gvim. Dit zal een Vim-editor installeren die redelijk lijkt op wat je “gewend bent op Linux.

Zodra alles is geïnstalleerd (wat soms een beetje kan zijn) lang) je “zal Cygwin kunnen starten die een terminal zal tonen, en je” zal in staat zijn om Vim zoals gewoonlijk te starten en je Linux .vimrc en je gebruikelijke plugin manager te gebruiken. Het belangrijkste nadeel is de compatibiliteit van kleuren die vaak moeten worden aangepast en er toch waardeloos uitzien.

Opmerking dat ik Cygwin uit gewoonte gebruik, maar er bestaan ook andere oplossingen (zoals cmder ). Geen van hen is foutloos, dus misschien wil je er verschillende proberen en je favoriet vinden.

Merk ook op dat mintty een goede manier is om Cygwin een beetje minder waardeloos te maken.

Reacties

  • Het heeft verschillende problemen. Het geeft niet ‘ de Unicode-tekens correct weer. Sommige multi-byte tekens zijn verborgen.
  • Ja, dat is precies waarom ‘ is waarom ik specificeerde dat ” Geen van hen zijn foutloos “: tot nu toe zijn Cygwin (en equivalenten) slechts een tijdelijke oplossing. Ik ‘ ben geen Windows-expert, maar misschien zal de nieuwe samenwerking tussen Canonical en Microsoft leiden tot betere alternatieven.
  • Ik gebruik babun tegenwoordig, hoewel ik denk dat de onderliggende cygwin niet zo vers is als een vanille-installatie.
  • Sinds Windows 10 en vooral sinds de extra updates ‘ hebben eraan toegevoegd (curl, openssh, correcte tekstoverloop, 24-bits kleurondersteuning) dat de gewone DOS-prompt nu beter is. De fontweergave in de DOS / powershell-prompts is doorgaans de beste die ik ‘ heb gezien voor Windows-terminalapps. Plus als je Git voor Windows installeert, dan bevat dat bijna alle linux commandoregel tools die je nodig hebt, voeg dan C:\Program Files\Git\usr\bin of iets soortgelijks toe aan je pad.

Antwoord

Vanaf de Windows 10 Jubileumupdate kunt u de Bash op Ubuntu-terminal om een Linux-subsysteem uit te voeren waar je apt install alles kunt wat je binnen Ubuntu gewend bent. Je Windows-bestandssysteem is aangekoppeld zodat je het kunt gebruik Vim in de shell om je bestanden te bewerken.

Reacties

  • Onthoud dat ‘ re nog steeds toegang tot Vim via de Windows-console, die zeer beperkt is met kleuren en syntaxisaccentuering. Zelfs met de update van de makers die 256 kleuren naar de console zou moeten brengen, heb ik ‘ t gelukt de syntaxisaccentuering verbeteren.
  • @ icc97 Ik ‘ kan me niet precies herinneren wat ik deed (ik heb ‘ t begrijp kleuren en terminals zo goed) maar ik kon kleuren krijgen die er goed uitzien op vim en het probleem oplossen met de blauw-op-zwarte tekst die verscheen in n de bash op ubuntu-terminaluitgang. Nu is het ‘ een beetje kleurrijk, maar het werkt prima. Ook met Xming werkt gVim prima in Ubuntu op Windows (ik heb net de interface getest en geprobeerd bestanden op te slaan, enz.).
  • @Formagella I ‘ een beetje een nitpicker met mijn kleuren. Ik heb uren besteed aan het proberen om gesolariseerde kleuren te laten werken met een vergelijkbare standaard van Linux Vim – ik schreef een deel van wat ik deed op in deze uitgave . GVim heeft echter een behoorlijk perfecte syntaxisaccentuering (en vet / cursief) in Windows, dus ik stopte met worstelen en gebruikte dat gewoon. Gezien het feit dat u ‘ in de dos-prompt staat, is het goed om de syntaxisaccentuering op OK te hebben en is het ‘ erg handig voor SSH-sessies, maar voor fulltime bewerken gaf ik op.
  • Daar ‘ is nu een versie van Mintty beschikbaar om op te treden als de terminal voor Bash op Ubuntu op Windows en een implementatie van Solarized ontworpen voor Mintty. Ik heb het zojuist gedaan en het was een relatief pijnloze ervaring!
  • @Formagella I ‘ heb eindelijk kleuren goed werkend in de Windows-console, het duurde een repareren in Vim . Maar vanaf Vim 8.1 + een 24-bits kleurenschema kun je mooie kleuren krijgen in de gewone DOS-prompt en WSL-prompt. Ik heb een afzonderlijk antwoord dat experimenteert met de verschillende kleurenschemas van de Windows-console en er een paar aan het werk krijgt.

Antwoord

Zoals Roflo en Rich in hun commentaar hier en hier , uw probleem met het niet kunnen gebruiken van visual block (ik “weet niet zeker wat het rx commando is) is omdat de systeembrede vimrc ($VIM\_vimrc) bronnen $VIMRUNTIME\mswin.vim die toewijzingen in Windows-stijl definieert, zoals Ctrl + v voor plakken, Ctrl + c voor kopiëren, Ctrl + x voor knippen.

De de eenvoudigste manier om dit te omzeilen is door _vimrc -bestanden in uw homedirectory te maken (merk op dat de Windows-versie van vim _vimrc gebruikt in plaats van .vimrc). Zoals je kunt zien in :h vimrc, zoekt vim naar vimrc in verschillende locati ons en gebruikt alleen de eerste die het vindt, terwijl de rest wordt genegeerd. De map in de homedirectory wordt altijd eerst doorzocht / gebruikt.

Minimale stappen:

  • open gvim of vim
  • :e ~/_vimrc
  • :w

Antwoord

Je kunt pure Vim krijgen in DOS!

Een andere vrij kleine maar niet minder grote update vond plaats in Windows 10 voor de 1803 build. Ze hebben 24-bits ondersteuning voor de console toegevoegd (cmd / powershell-prompt). In Vim 8.1 ( https://www.vim.org//download.php/#pc ) hebben ze ondersteuning toegevoegd voor termguicolors wat betekent dat je de volledige 24-bit kleurondersteuning kunt krijgen in de Vim console. Ik heb onlangs een antwoord gepost dat de kleurondersteuning werkt .

Maar wat het betekent is dat er vrijwel volledige ondersteuning is voor het uitvoeren van Vim in de DOS-prompt – dus je hoeft geen Linux-subsysteem of andere afhankelijkheden buiten Vim zelf te installeren om pure Vim te laten werken. Ik vind het nog steeds wat traag, maar het is geweldig om de voortgang te zien.

De lettertypen en kleuren worden prachtig weergegeven in Vim (klik op deze schermafbeelding om het goed te zien):

enter beeldbeschrijving hier

Dingen die werken in Vim-console (in Windows 10 build 1803+):

  • Luchtvaartmaatschappij met Powerline-lettertypen
  • 24-bit colortheme (bijv. vim-solarized8, tender)
  • Vrijwel elke plug-in (bijv.elke Tim Pope-plug-in, FZF en Ripgrep)
  • vimdiff
  • Het consolevenster klikt correct met de tekst correct doorlopend – dit is beter behandeld dan GVim

Dingen die niet werken / problemen:

  • Het is langzamer dan GVim
  • Vet / cursieve lettertypen
  • UTF-8-tekens zijn beperkt – bijv sommige van de standaard luchtvaartmaatschappij-pictogrammen worden niet weergegeven

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *