Hur kan jag få gVim på Windows att fungera som på Linux?

Jag är en frekvent användare av Vim-redigeraren på Linux och nu vill jag använda den i Windows.

Jag laddade ner Vim för Windows, som råkar vara gVim. Flera funktioner i Vim fungerar inte i gVim 7.4 som visuellt block, rx -kommando och flera andra tangentkombinationer.

Jag vill ha samma / original Vim från Linux som ska användas på Windows. Finns den versionen också för Windows? Eller kan jag använda inställningar som liknar Unix-formatet?

Kommentarer

  • Prova Vim från tuxproject.de/projects/vim/x64
  • Kontrollera också din _vimrc -fil för en rad som säger något som source $VIMRUNTIME/mswin.vim. Den filen gör att många konfigurationssaker kan vara MSWindows-vänliga (inklusive många mappningar).
  • Jag använder gvim dagligen i Windows, både gvim GUI och den icke-grafiska vim via cmder-konsolen. Jag var också frustrerad tills jag stängde av konfigurationsfilen mswin.vim och gjorde några andra tweaks. Jag raderade helt enkelt _vimrc-filen som installerades med programmet och kopierade min Linux .vimrc till Windows och gick sedan därifrån.
  • Övrigt kommande ters har antydt detta, men ingen ’ sa det faktiskt direkt: visuellt block fungerar bra i Windows Vim. Du behöver bara inaktivera ” Windows-vänlig ” nyckelbindningar som åsidosätter ctrl-v tangentkombination med en mappning av klistra in. ’ är möjligt (troligtvis?) Att dina andra problem med Windows Vim härrör från samma problem, även om du inte ’ nämner vad de är alla så det är ’ svårt att säga säkert.
  • OOTB gvim på Windows fungerar på samma sätt som på Linux (modulo olika standardinställningar för några alternativ) . Du måste ha den konfigurerad annorlunda.

Svar

När jag måste arbeta på Windows (vilket är oftare än jag skulle vilja) använder jag Cygwin för att få en terminal lite mindre skit än den ursprungliga Windows-kommandoraden. Cygwin tillhandahåller en miljö som försöker vara nära en Bash-konsol med standard Linux-kommandon, och det är naturligtvis långt ifrån perfekt.

Se -projektet sida av Cygwin. Under installationen slutar du på ett fönster där du kan välja vilka paket du vill installera. Sökfältet gör det möjligt att leta efter paket att installera, bland andra användbara saker (som git , tmux, curl, wget, etc.) kan du skriva vim och välj paket som vim, vim-common, vim-doc , gvim. Detta kommer att installera en Vim-redaktör ganska nära det du brukade använda på Linux.

När allt är installerat (vilket ibland kan vara lite länge) kommer du att kunna starta Cygwin som visar en terminal och du kan starta Vim som vanligt och använda din Linux .vimrc och din vanliga plugin-manager. Den största nackdelen är kompatibiliteten med färger som ofta måste justeras och fortfarande ser skit ut.

Obs att jag använder Cygwin av vana, men andra lösningar (till exempel cmder finns). Ingen av dem är felfri, så du kanske vill prova flera och hitta din favorit.

Observera också att mintty är ett bra sätt att göra Cygwin lite mindre skit.

Kommentarer

  • Det har flera problem. Det ’ visar inte unicode-tecken korrekt. Vissa multi-byte-tecken är dolda.
  • Yup att ’ just varför jag angav att ” Ingen av dem är felfria ”: hittills är Cygwin (och motsvarigheter) bara en lösning. Jag ’ är inte en Windows-expert men kanske det nya samarbetsarbetet mellan Canonical och Microsoft kommer att leda till några bättre alternativ.
  • Jag använder babun i dessa dagar även om jag tror att den underliggande cygwin inte är lika fräsch som en vaniljinstallation.
  • Sedan Windows 10 och särskilt eftersom de extra uppdateringarna ’ har lagt till den (curl, openssh, rätt textöverflöd, 24-bitars färgstöd) att den raka DOS-prompten är bättre nu. Typsnittet som återges i DOS / powershell-uppmaningarna är vanligtvis det bästa jag ’ har sett för Windows-terminalappar. Plus om du installerar Git för Windows innehåller det nästan alla Linux-kommandoradsverktyg som du behöver, lägg till C:\Program Files\Git\usr\bin eller liknande din sökväg.

Svar

Från och med Windows 10 Anniversary Update kan du använda Bash på Ubuntu-terminalen för att köra ett Linux-delsystem där du kan apt install vad du än är van vid inom Ubuntu. Ditt Windows-filsystem är monterat så att du kan använd Vim inuti skalet för att redigera dina filer.

Kommentarer

  • Tänk bara på att du ’ re fortfarande tillgång till Vim via Windows-konsolen, vilket är mycket begränsat med färger och syntaxmarkering. Även med skaparnas uppdatering som ska ge 256 färger till konsolen har jag inte ’ t lyckats förbättra syntaxmarkeringen.
  • @ icc97 Jag vet inte ’ Jag kommer inte ihåg exakt vad jag gjorde (jag ’ t förstår färger och terminaler så bra) men jag kunde få färger som ser bra ut på vim och fixa problemet med den blå-svart-texten som dök upp i n bash på ubuntu terminalutgång. Nu är det ’ lite färgstarkt men det fungerar bra. Även med Xming fungerar gVim bra i Ubuntu på Windows (jag testade bara gränssnittet och försökte spara filer osv.).
  • @Formagella I ’ lite av en nitpicker med mina färger. Jag tillbringade timmar på att försöka få solfärgade färger att fungera till en liknande standard för Linux Vim – jag skrev upp några av vad jag gjorde i det här -utgåvan . GVim har dock ganska perfekt syntaxmarkering (och fet / kursiv) i Windows så jag slutade kämpa och använde bara det. Med tanke på att du ’ är i dosprompten är det bara bra att ha OK syntaxmarkering och det ’ är mycket användbart för SSH-sessioner, men för heltid redigering gav jag upp.
  • Det finns ’ nu finns en version av Mintty tillgänglig att fungera som terminal för Bash på Ubuntu på Windows och en implementering av Solarized designad för Mintty. Jag gjorde det just nu och det var en relativt smärtfri upplevelse!
  • @Formagella I ’ har äntligen fått färger som fungerar ordentligt i Windows-konsolen, det tog en fixa i Vim . Men från och med Vim 8.1 + a 24-bitars färgschema kan du få fina färger i den vanliga DOS-prompten och WSL-prompten. Jag har ett separat svar som experimenterar med olika Windows-konsolfärgkemier och får ett par att arbeta.

Svara

Som Roflo och Rich nämnde i sin kommentar här och här , ditt problem med att inte kunna använda visuellt block (jag är inte säker på vad rx -kommandot är) beror på att hela systemet vimrc ($VIM\_vimrc) källor $VIMRUNTIME\mswin.vim som definierar mappningar i Windows-stil som Ctrl + v för klistra in, Ctrl + c för kopiering, Ctrl + x för klippning.

enklaste sättet att komma runt detta är att skapa en _vimrc -filer i din hemkatalog (Observera att Windows-versionen av vim använder _vimrc istället för .vimrc). Som du kan se i :h vimrc söker vim efter vimrc på flera platser och använder bara den första den hittar medan den ignorerar resten. Den i hemkatalogen söks / används alltid först.

Minimala steg:

  • öppna gvim eller vim
  • :e ~/_vimrc
  • :w

Svar

Du kan få ren Vim i DOS!

Ytterligare en liten men inte mindre större uppdatering hände med Windows 10 för 1803-byggnaden. De lade till 24-bitars stöd för konsolen (cmd / powershell prompt). I Vim 8.1 ( https://www.vim.org//download.php/#pc ) lade de till stöd för termguicolors vilket innebär att du kan få hela 24-bitars färgstöd inuti Vim-konsolen. Jag publicerade nyligen ett svar för att få färgsupporten att fungera .

Men vad det betyder är att det finns ganska mycket fullt stöd för att köra Vim i DOS-prompten – så du behöver inte installera något Linux-delsystem eller andra beroenden utöver Vim själv för att få ren Vim att fungera. Jag tycker att det fortfarande är något långsamt, men det är fantastiskt att se framstegen.

Teckensnitt och färger återges underbart inuti Vim (Klicka på den här skärmdumpen för att se den ordentligt):

enter bildbeskrivning här

Saker som fungerar i Vim-konsolen (i Windows 10 build 1803+):

  • Flygbolag med Powerline-teckensnitt
  • 24-bitars colortheme (t.ex. vim-solarized8, anbud)
  • Nästan alla plugins (t.ex.valfritt Tim Pope-plugin, FZF och Ripgrep)
  • vimdiff
  • Konsolfönstret knäpps med korrekt medan texten flödar korrekt – det här är bättre hanteras än GVim

Saker som inte fungerar / problem:

  • Det är långsammare än GVim
  • Fet / kursiv typsnitt
  • UTF-8-tecken är begränsade – t.ex. några av standardflygbolagens ikoner visas inte

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *