Come posso fare in modo che gVim su Windows si comporti come su Linux?


13

Sono un utente frequente dell'editor Vim su Linux e ora voglio usarlo su Windows.

Ho scaricato Vim per Windows, che sembra essere gVim. Diverse funzioni di Vim non funzionano in gVim 7.4 come blocchi visivi, rxcomandi e molte altre combinazioni di tasti.

Voglio che lo stesso / originale Vim di Linux sia usato su Windows. Quella versione è disponibile anche per Windows? Oppure, posso usare impostazioni simili al formato Unix?



6
Inoltre, controlla il _vimrcfile per una riga che dice qualcosa di simile source $VIMRUNTIME/mswin.vim. Questo file consente a molte cose di configurazione di essere compatibili con MSWindows (inclusi molti mapping).
Roflo,

7
Uso gvim quotidianamente su Windows, sia la GUI di gvim che la vim non grafica tramite la console cmder. Anch'io ero frustrato fino a quando non ho spento il file di configurazione mswin.vim e fatto alcune modifiche. Ho semplicemente eliminato il file _vimrc installato con il programma e copiato il mio .vimrc Linux su Windows, quindi sono passato da lì.
Dan Jones,

6
Altri commentatori hanno accennato a questo, ma nessuno lo ha mai detto apertamente: il blocco visivo funziona bene in Windows Vim. Devi solo disabilitare le associazioni di tasti "compatibili con Windows" che sostituiscono la ctrl-vcombinazione di tasti con un mapping incolla. È possibile (probabilmente?) Che gli altri tuoi problemi con Windows Vim derivino dallo stesso problema, anche se non dici cosa sono tutti, quindi è difficile dirlo con certezza.
Rich

4
OOTB gvim su Windows funziona come su Linux (modulo impostazioni predefinite diverse per alcune opzioni). Devi averlo configurato in modo diverso.
Antony,

Risposte:


14

Quando devo lavorare su Windows (che è più spesso di quanto vorrei), uso Cygwin per ottenere un terminale un po 'meno scadente della riga di comando originale di Windows. Cygwin fornisce un ambiente che cerca di essere vicino a una console Bash con comandi Linux standard, e ovviamente è ben lungi dall'essere impeccabile.

Vedi la pagina del progetto di Cygwin. Durante l'installazione finirai su una finestra che ti permetterà di scegliere quali pacchetti vuoi installare. La barra di ricerca permette di cercare i pacchetti da installare, tra le altre cose utili (come git, tmux, curl, wget, etc.) è possibile digitare vime selezionare pacchetti come vim, vim-common, vim-doc, gvim. Questo installerà un editor Vim abbastanza vicino a quello a cui sei abituato su Linux.

Una volta installato tutto (che a volte può essere un po 'lungo) sarai in grado di avviare Cygwin che mostrerà un terminale, e sarai in grado di avviare Vim come al solito e utilizzare Linux .vimrce il tuo solito gestore di plugin. Lo svantaggio principale è la compatibilità dei colori che spesso devono essere modificati e sembrano ancora scadenti.

Nota che uso Cygwin per abitudine, ma esistono altre soluzioni (come ad esempio cmder ). Nessuno di questi è impeccabile, quindi potresti voler provare diversi e trovare il tuo preferito.

Nota anche che la menta è un buon modo per rendere Cygwin un po 'meno schifoso.


1
Ha diversi problemi. Non mostra correttamente i caratteri Unicode. Alcuni caratteri multibyte sono nascosti.
SibiCoder,

1
Sì, è proprio per questo che ho specificato che "Nessuno di loro è perfetto": finora Cygwin (e equivalenti) sono solo una soluzione alternativa. Non sono un esperto di Windows, ma forse il nuovo lavoro collaborativo tra Canonical e Microsoft porterà a delle alternative migliori.
statox

Sto usando Babun in questi giorni anche se penso che il cygwin sottostante non sia fresco come un'installazione vanilla.
Rolf,

Da Windows 10 e soprattutto dagli aggiornamenti extra che hanno aggiunto ad esso (arricciatura, openssh, overflow del testo corretto, supporto del colore a 24 bit), il prompt DOS diretto ora è migliore. Il rendering dei caratteri nei prompt di DOS / powershell è in genere il migliore che abbia mai visto per le app del terminale Windows. Inoltre, se installi Git per Windows, questo contiene quasi tutti gli strumenti della riga di comando di Linux di cui hai bisogno, aggiungi C:\Program Files\Git\usr\bino simili al tuo percorso.
icc97,

11

A partire dall'aggiornamento dell'anniversario di Windows 10, puoi usare il terminale Bash su Ubuntu per eseguire un sottosistema Linux in cui puoi fare apt installtutto ciò a cui sei abituato all'interno di Ubuntu. Il file system di Windows è montato in modo da poter utilizzare Vim all'interno della shell per modificare i file.


2
Ricorda che stai ancora accedendo a Vim tramite la console di Windows, che è molto limitata con l'evidenziazione dei colori e della sintassi. Anche con l'aggiornamento dei creatori che dovrebbe portare 256 colori sulla console non sono riuscito a migliorare l'evidenziazione della sintassi.
icc97,

@ icc97 Non ricordo esattamente cosa ho fatto (non capisco bene i colori e i terminali) ma sono stato in grado di ottenere colori che sembrano vim su Vim e risolvere il problema con il testo blu su nero che è apparso in il bash sull'output del terminale Ubuntu. Ora è un po 'colorato ma funziona benissimo. Anche con Xming gVim funziona bene su Ubuntu su Windows (ho appena testato l'interfaccia e ho provato a salvare file ecc.).
Formagella,

@Formagella Sono un po 'pignolo con i miei colori. Ho passato ore a cercare di far funzionare i colori solarizzati con uno standard simile di Linux Vim - ho scritto alcune delle cose che ho fatto in questo numero . GVim ha comunque l'evidenziazione della sintassi piuttosto perfetta (e grassetto / corsivo) in Windows, quindi ho smesso di lottare e l'ho appena usato. Dato che sei nel prompt del DOS, solo l'evidenziazione della sintassi OK è ottima ed è molto utile per le sessioni SSH, ma per l'editing a tempo pieno ho rinunciato.
icc97,

1
È ora disponibile una versione di Mintty che funge da terminale per Bash su Ubuntu su Windows e un'implementazione di Solarized progettata per Mintty. L'ho fatto proprio ora ed è stata un'esperienza relativamente indolore!
Amndeep7,

@Formagella Ho finalmente i colori che funzionano correttamente nella console di Windows, ci voleva una correzione in Vim . Ma a partire da Vim 8.1 + un colourscheme a 24 bit puoi ottenere colori adorabili nel semplice prompt DOS e nel prompt WSL. Ho una risposta separata che fa esperimenti con i vari schemi di colori della console di Windows e fa funzionare un paio.
icc97,

4

Come Roflo e Rich hanno menzionato nel loro commento qui e qui , il tuo problema con l'incapacità di usare il blocco visivo (non sono sicuro di quale sia il rxcomando) è perché le $VIM\_vimrcfonti vimrc ( ) a livello di sistema $VIMRUNTIME\mswin.vimche definiscono i mapping in stile Windows come Ctrl+ vper incolla, Ctrl+ cper copia, Ctrl+ xper taglio.

Il modo più semplice per aggirare questo problema è creare un _vimrcfile nella tua home directory (nota che la versione Windows di vim utilizza _vimrcinvece di .vimrc). Come puoi vedere :h vimrc, vim cerca vimrc in diverse posizioni e usa solo il primo che trova ignorando il resto. Quello nella home directory viene sempre cercato / utilizzato per primo.

Passaggi minimi:

  • apri gvim o vim
  • :e ~/_vimrc
  • :w

0

Un ulteriore aggiornamento abbastanza piccolo ma non meno importante è successo a Windows 10 per la build del 1803. Hanno aggiunto il supporto a 24 bit per la console (prompt cmd / powershell). In Vim 8.1 ( https://www.vim.org//download.php/#pc ) hanno aggiunto il supporto per il termguicolorsche significa che è possibile ottenere il pieno supporto del colore a 24 bit all'interno della console di Vim. Di recente ho pubblicato una risposta per far funzionare il supporto colore .

Ma ciò significa che esiste un supporto praticamente completo per l'esecuzione di Vim nel prompt di DOS - quindi non è necessario installare alcun sottosistema Linux o altre dipendenze oltre Vim stesso per far funzionare Vim puro. Lo trovo ancora un po 'lento, ma è bello vedere i progressi.

inserisci qui la descrizione dell'immagine

Cose che funzionano nella console di Vim (in Windows 10 build 1803+):

  • Compagnia aerea con caratteri Powerline
  • 24 bit colortheme(ad es. Vim-solarized8, tender)
  • Praticamente qualsiasi plug-in (ad esempio qualsiasi plug-in Tim Pope, FZF e Ripgrep)
  • vimdiff
  • La finestra della console si aggancia correttamente con il testo che scorre correttamente - questo è gestito meglio di GVim

Cose che non funzionano / problemi:

  • È più lento di GVim
  • Caratteri grassetto / corsivo
  • I caratteri UTF-8 sono limitati, ad esempio alcune icone di compagnie aeree predefinite non vengono visualizzate
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.