Hvordan kan jeg få gVim på Windows til at opføre sig som på Linux?

Jeg er en hyppig bruger af Vim-editoren på Linux, og nu vil jeg bruge den til Windows.

Jeg downloadede Vim til Windows, som tilfældigvis er gVim. Flere funktioner i Vim fungerer ikke i gVim 7.4 som visuel blok, rx kommando og flere andre tastekombinationer.

Jeg vil have den samme / originale Vim fra Linux, der skal bruges på Windows. Er den version også tilgængelig til Windows? Eller kan jeg bruge indstillinger, der ligner Unix-formatet?

Kommentarer

  • Prøv Vim fra tuxproject.de/projects/vim/x64
  • Kontroller også din _vimrc fil til en linje, der siger noget i retning af source $VIMRUNTIME/mswin.vim. Denne fil gør det muligt for mange config-ting at være MSWindows-venlige (inklusive mange tilknytninger).
  • Jeg bruger gvim dagligt på Windows, både gvim GUI og den ikke-grafiske vim via cmder-konsollen. Jeg var også frustreret, indtil jeg slukkede mswin.vim-konfigurationsfilen og lavede et par andre tweaks. Jeg slettede simpelthen _vimrc-filen, der blev installeret med programmet og kopierede min Linux .vimrc over til Windows og gik derefter derfra.
  • Andet commen ters har hentydet til dette, men ingen ‘ s sagde det direkte: visuel blok fungerer fint i Windows Vim. Du skal bare deaktivere ” Windows-venlig ” tastebindinger, der tilsidesætter ctrl-v nøgle-combo med en pasta-kortlægning. ‘ er sandsynligt (sandsynligt?) At dine andre problemer med Windows Vim stammer fra det samme problem, selvom du ikke ‘ t nævner hvad de er alle sammen så det ‘ er svært at sige med sikkerhed.
  • OOTB gvim på Windows fungerer det samme som på Linux (modulo forskellige standardindstillinger for et par muligheder) . Du skal have det konfigureret forskelligt.

Svar

Når jeg skal arbejde på Windows (hvilket ofte er end jeg gerne vil), bruger jeg Cygwin til at få en terminal lidt mindre skør end den originale Windows-kommandolinje. Cygwin giver et miljø, der forsøger at være tæt på en Bash-konsol med standard Linux-kommandoer, og det er selvfølgelig langt fra fejlfrit.

Se -projektet side af Cygwin. Under installationen slutter du på et vindue, der giver dig mulighed for at vælge, hvilke pakker du vil installere. Søgefeltet giver mulighed for at se efter pakker, der skal installeres, blandt andre nyttige ting (som git , tmux, curl, wget osv.) du kan skrive vim og vælg pakker som vim, vim-common, vim-doc , gvim. Dette installerer en Vim-editor temmelig tæt på, hvad du plejede at være på Linux.

Når alt er installeret (som nogle gange kan være lidt lang) vil du kunne starte Cygwin, som viser en terminal, og du vil kunne starte Vim som normalt og bruge din Linux .vimrc og din sædvanlige plugin manager. Den største ulempe er kompatibiliteten af farver, der ofte skal tweakes og stadig ser skøre ud.

Bemærk at jeg bruger Cygwin af vane, men der findes andre løsninger (f.eks. cmder ). Ingen af dem er fejlfri, så du vil måske prøve flere og finde din favorit.

Bemærk også at mintty er en god måde at gøre Cygwin lidt mindre skør.

Kommentarer

  • Det har flere problemer. Den ‘ viser ikke unicode-tegn korrekt. Nogle tegn på flere byte er skjult.
  • Ja, at ‘ er netop derfor, jeg specificerede, at ” Ingen af dem er fejlfri “: indtil videre er Cygwin (og ækvivalenter) bare en løsning. Jeg ‘ er ikke en Windows-ekspert, men måske vil det nye samarbejdsarbejde mellem Canonical og Microsoft føre til nogle bedre alternativer.
  • Jeg bruger babun i disse dage, selvom jeg tror, at den underliggende cygwin ikke er så frisk som en vaniljeinstallation.
  • Siden Windows 10 og især da de ekstra opdateringer ‘ har tilføjet det (krølle, openssh, korrekt tekstoverløb, 24-bit farvestøtte), at den lige DOS-prompt er bedre nu. Fontgengivelsen i DOS / powershell-meddelelserne er typisk det bedste, jeg ‘ har set til Windows-terminalapps. Plus hvis du installerer Git til Windows, så indeholder det næsten alle de Linux-kommandolinjeværktøjer, du har brug for, tilføj C:\Program Files\Git\usr\bin eller lignende til din sti.

Svar

Fra og med Windows 10 Anniversary Update kan du bruge Bash på Ubuntu-terminal for at køre et Linux-undersystem, hvor du kan apt install alt hvad du plejede at være inde i Ubuntu. Dit Windows-filsystem er monteret, så du kan brug Vim inde i skallen til at redigere dine filer.

Kommentarer

  • Bare husk dig ‘ re stadig adgang til Vim via Windows-konsollen, som er meget begrænset med farver og syntaksfremhævning. Selv med skabernes opdatering, som formodes at bringe 256 farver til konsollen, har jeg ikke ‘ ikke formået at forbedre syntaksfremhævningen.
  • @ icc97 Jeg kan ikke ‘ husker ikke nøjagtigt, hvad jeg gjorde (jeg ‘ t forstå farver og terminaler så godt) men jeg var i stand til at få farver, der ser fint ud på vim og løse problemet med den blå-på-sort tekst, der dukkede op i n bash på ubuntu terminal output. Nu er det ‘ lidt farverigt, men det fungerer fint. Også med Xming fungerer gVim fint i Ubuntu på Windows (jeg har lige testet grænsefladen og prøvet at gemme filer osv.).
  • @Formagella I ‘ lidt af en nitpicker med mine farver. Jeg brugte timer på at få solfarvede farver til at arbejde med en lignende standard for Linux Vim – jeg skrev op noget af det, jeg gjorde i dette -udgave . GVim har dog ret perfekt syntaks fremhævning (og fed / kursiv) i Windows, så jeg stoppede med at kæmpe og brugte bare det. I betragtning af at du ‘ er i dos-prompten, er det bare fantastisk at have OK syntaks fremhævning, og det ‘ er meget nyttigt til SSH-sessioner, men for fuldtidsredigering opgav jeg.
  • Der ‘ er nu en version af Mintty tilgængelig at fungere som terminal for Bash på Ubuntu på Windows og en implementering af Solarized designet til Mintty. Jeg gjorde det lige nu, og det var en relativt smertefri oplevelse!
  • @Formagella I ‘ Endelig har jeg fået farver, der fungerer korrekt i Windows-konsol, det tog en rettelse i Vim . Men fra og med Vim 8.1 + a 24-bit farveskema kan du få dejlige farver i den almindelige DOS-prompt og WSL-prompt. Jeg har et separat svar , der eksperimenterer med de forskellige Windows-konsolfarveskemaer og får et par til at arbejde.

Svar

Som Roflo og Rich nævnte i deres kommentar her og her , dit problem med at være ude af stand til at bruge visuel blokering (jeg er ikke sikker på, hvad rx -kommandoen er) er fordi den systemomfattende vimrc ($VIM\_vimrc) kilder $VIMRUNTIME\mswin.vim som definerer tilknytninger i Windows-stil som Ctrl + v for indsæt, Ctrl + c til kopi, Ctrl + x til klipning.

nemmeste måde at komme rundt på dette er at oprette en _vimrc filer i din hjemmekatalog (Bemærk, at Windows-versionen af vim bruger _vimrc i stedet for .vimrc). Som du kan se i :h vimrc, ser vim efter vimrc på flere steder ons og bruger kun den første, den finder, mens den ignorerer resten. Den i hjemmebiblioteket søges / bruges altid først.

Minimale trin:

  • åben gvim eller vim
  • :e ~/_vimrc
  • :w

Svar

Du kan få ren Vim i DOS!

En yderligere ret lille, men ikke mindre vigtig opdatering skete med Windows 10 til 1803-bygningen. De tilføjede 24-bit support til konsollen (cmd / powershell-prompt). I Vim 8.1 ( https://www.vim.org//download.php/#pc ) tilføjede de support til termguicolors hvilket betyder, at du kan få den fulde 24-bit farvesupport inde i Vim-konsollen. Jeg sendte for nylig et svar om at få farvestøtten til at fungere .

Men hvad det betyder er, at der er stort set fuld støtte til at køre Vim i DOS-prompten – så du behøver ikke installere noget Linux-undersystem eller andre afhængigheder ud over Vim selv for at få ren Vim til at fungere. Jeg finder det stadig noget langsomt, men det er dejligt at se fremskridtene.

Skrifttyperne og farverne gengives vidunderligt inde i Vim (Klik på dette skærmbillede for at se det korrekt):

indtast billedbeskrivelse her

Ting der fungerer i Vim-konsol (i Windows 10 build 1803+):

  • Flyselskab med Powerline-skrifttyper
  • 24-bit colortheme (f.eks. vim-solarized8, bud)
  • Næsten stort set ethvert plugin (f.eks.ethvert Tim Pope-plugin, FZF og Ripgrep)
  • vimdiff
  • Konsolvinduet klikker korrekt med teksten flyder korrekt – dette er bedre håndteres end GVim

Ting, der ikke virker / problemer:

  • Det er langsommere end GVim
  • Fed / kursiv skrifttype
  • UTF-8 tegn er begrænset – f.eks nogle af standardflyselskabsikonerne vises ikke

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *