Hvordan kan jeg få gVim på Windows til å oppføre seg som på Linux?

Jeg er en hyppig bruker av Vim-editoren på Linux, og nå vil jeg bruke den på Windows.

Jeg lastet ned Vim for Windows, som tilfeldigvis er gVim. Flere funksjoner i Vim fungerer ikke i gVim 7.4 som visuell blokk, rx -kommando og flere andre tastekombinasjoner.

Jeg vil ha den samme / originale Vim fra Linux som skal brukes på Windows. Er den versjonen også tilgjengelig for Windows? Eller kan jeg bruke innstillinger som ligner på Unix-formatet?

Kommentarer

  • Prøv Vim fra tuxproject.de/projects/vim/x64
  • Sjekk også _vimrc fil for en linje som sier noe sånt som source $VIMRUNTIME/mswin.vim. Filen gjør det mulig for mange konfigurasjons ting å være MSWindows-vennlige (inkludert mange kartlegginger).
  • Jeg bruker gvim daglig på Windows, både gvim GUI og ikke-grafisk vim via cmder-konsollen. Jeg var også frustrert til jeg slo av konfigurasjonsfilen mswin.vim og gjorde noen andre justeringer. Jeg slettet ganske enkelt _vimrc-filen som ble installert med programmet og kopierte Linux .vimrc til Windows, og gikk deretter derfra.
  • Annet commen ters har hentydet til dette, men ingen ‘ sa faktisk det direkte: visuell blokk fungerer bra i Windows Vim. Du trenger bare å deaktivere » Windows-vennlig » tastebindinger som overstyrer ctrl-v nøkkelkombinasjon med limingskartlegging. ‘ er mulig (sannsynlig?) At de andre problemene dine med Windows Vim stammer fra det samme problemet, selv om du ikke ‘ ikke nevner hva de er alle så det er vanskelig å si det ‘.
  • OOTB gvim på Windows fungerer på samme måte som på Linux (modulo forskjellige standardinnstillinger for noen få alternativer) . Du må ha den konfigurert annerledes.

Svar

Når jeg må jobbe med Windows (som er oftere enn jeg ønsker), bruker jeg Cygwin for å få en terminal litt mindre crappy enn den opprinnelige Windows-kommandolinjen. Cygwin gir et miljø som prøver å være nær en Bash-konsoll med standard Linux-kommandoer, og selvfølgelig er det langt fra feilfritt.

Se -prosjektet side av Cygwin. Under installasjonen slutter du på et vindu som lar deg velge hvilke pakker du vil installere. I søkefeltet kan du se etter pakker du vil installere, blant andre nyttige ting (som git , tmux, curl, wget osv.) kan du skrive vim og velg pakker som vim, vim-common, vim-doc , gvim. Dette vil installere en Vim-editor ganske nær det du var vant til på Linux.

Når alt er installert (som noen ganger kan være litt lenge) vil du kunne starte Cygwin som vil vise en terminal, og du vil kunne starte Vim som vanlig og bruke Linux .vimrc og din vanlige plugin manager. Den største ulempen er kompatibiliteten til farger som ofte må finjusteres og fremdeles se skitne ut.

Merk at jeg bruker Cygwin av vane, men andre løsninger (som cmder for eksempel) finnes. Ingen av dem er feilfrie, så det kan være lurt å prøve flere og finne din favoritt.

Legg også merke til at mintty er en god måte å gjøre Cygwin litt mindre crappy.

Kommentarer

  • Det har flere problemer. Den ‘ viser ikke unicode-tegn riktig. Noen tegn på flere byte er skjult.
  • Ja, det er ‘ hvorfor jeg spesifiserte at » Ingen av dem er feilfri «: så langt er Cygwin (og ekvivalenter) bare en løsning. Jeg ‘ er ikke en Windows-ekspert, men kanskje det nye samarbeidsarbeidet mellom Canonical og Microsoft vil føre til noen bedre alternativer.
  • Jeg bruker babun i disse dager, selv om jeg tror den underliggende cygwin ikke er så fersk som en vaniljeinstallasjon.
  • Siden Windows 10 og spesielt siden de ekstra oppdateringene ‘ har lagt til den (krøll, openssh, riktig tekstoverløp, 24-biters fargestøtte) at den rette DOS-ledeteksten er bedre nå. Skriftgjengivelsen i DOS / powershell-instruksjonene er vanligvis det beste jeg ‘ har sett for Windows-terminalapper. I tillegg, hvis du installerer Git for Windows, så inneholder det nesten alle linux kommandolinjeverktøyene du trenger, legg til C:\Program Files\Git\usr\bin eller lignende til din bane.

Svar

Fra og med Windows 10 Anniversary Update kan du bruke Bash på Ubuntu-terminal for å kjøre et Linux-delsystem der du kan apt install alt du er vant til inne i Ubuntu. Windows-filsystemet ditt er montert slik at du kan bruk Vim inne i skallet for å redigere filene dine.

Kommentarer

  • Bare husk deg ‘ re fremdeles tilgang til Vim gjennom Windows-konsollen, som er veldig begrenset med farger og syntaksmarkering. Selv med skaperoppdateringen som skal bringe 256 farger til konsollen, har jeg ikke ‘ t klart å forbedre syntaksmarkeringen.
  • @ icc97 Jeg vet ikke ‘ t husker nøyaktig hva jeg gjorde (jeg vet ikke ‘ t forstår farger og terminaler så bra) men jeg klarte å få farger som ser bra ut på vim og fikse problemet med den blå-på-svarte teksten som dukket opp i n bash på ubuntu terminalutgang. Nå er det ‘ litt fargerikt, men det fungerer bra. Også med Xming fungerer gVim fint i Ubuntu på Windows (jeg har nettopp testet grensesnittet og prøvd å lagre filer osv.).
  • @Formagella I ‘ litt av en nitpicker med fargene mine. Jeg brukte timer på å få solfargede farger til å fungere til en lignende standard for Linux Vim – jeg skrev opp noe av det jeg gjorde i dette -utgaven . GVim har imidlertid ganske perfekt syntaksmarkering (og fet / kursiv) i Windows, så jeg sluttet å slite og bare brukte det. Gitt at du ‘ er i dos-ledeteksten, er det bare flott å ha OK syntaksmarkering, og det er ‘ veldig nyttig for SSH-økter, men for heltidsredigering ga jeg opp.
  • Der ‘ er nå en versjon av Mintty tilgjengelig å fungere som terminal for Bash på Ubuntu på Windows og en implementering av Solarized designet for Mintty. Jeg gjorde det akkurat nå, og det var en relativt smertefri opplevelse!
  • @Formagella I ‘ Vi har endelig fått farger som fungerer ordentlig i Windows-konsollen, det tok en fikse i Vim . Men fra og med Vim 8.1 + a 24-biters fargeskjema kan du få flotte farger i vanlig DOS-ledetekst og WSL-ledetekst. Jeg har et eget svar som eksperimenterer med de forskjellige fargekjemene i Windows-konsollen og får et par til å jobbe.

Svar

Som Roflo og Rich nevnte i kommentaren deres her og her , problemet ditt med å ikke kunne bruke visuell blokk (jeg er ikke sikker på hva rx -kommandoen er) er fordi den hele systemet vimrc ($VIM\_vimrc) kilder $VIMRUNTIME\mswin.vim som definerer Windows-stil-tilknytninger som Ctrl + v for lim inn, Ctrl + c for kopi, Ctrl + x for kutt.

enkleste måten å komme seg rundt dette på er å opprette en _vimrc filer i hjemmekatalogen din (merk at Windows-versjonen av vim bruker _vimrc i stedet for .vimrc). Som du kan se i :h vimrc, ser vim etter vimrc på flere steder ons og bruker bare den første den finner mens du ignorerer resten. Den i hjemmekatalogen blir alltid søkt / brukt først.

Minimale trinn:

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

Svar

Du kan få ren Vim i DOS!

En ytterligere ganske liten, men ikke mindre stor oppdatering skjedde med Windows 10 for 1803-bygningen. De la til 24-biters støtte for konsollen (cmd / powershell-ledetekst). I Vim 8.1 ( https://www.vim.org//download.php/#pc ) la de til støtte for termguicolors som betyr at du kan få full 24-biters fargestøtte inne i Vim-konsollen. Jeg la nylig ut et svar om å få fargestøtten til å fungere .

Men hva det betyr er at det er ganske mye full støtte for å kjøre Vim i DOS-ledeteksten – så du trenger ikke å installere noe Linux-delsystem eller andre avhengigheter utenfor Vim selv for å få ren Vim til å fungere. Jeg synes det fortsatt er noe tregt, men det er flott å se fremgangen.

Skriftene og fargene gjengis fantastisk inni Vim (Klikk på dette skjermbildet for å se det riktig):

enter bildebeskrivelse her

Ting som fungerer i Vim-konsollen (i Windows 10 build 1803+):

  • Flyselskap med Powerline-skrifter
  • 24-bit colortheme (f.eks. vim-solarized8, anbud)
  • Nesten alle plugins (f.eks.hvilken som helst Tim Pope-plugin, FZF og Ripgrep)
  • vimdiff
  • Konsollvinduet klikker riktig med teksten som flyter riktig – dette er bedre håndtert enn GVim

Ting som ikke fungerer / problemer:

  • Det er langsommere enn GVim
  • Fet / kursiv skrift
  • UTF-8 tegn er begrenset – f.eks noen av standardflyselskapsikonene vises ikke

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *