2011-01-17 17 views
44

Sto cercando di ottenere il supporto Python in gVim su Windows. C'è un modo per farlo?Come abilitare il supporto Python in gVim su Windows?

sto usando:.

  • Windows XP SP3
  • gVim v 7.3
  • Python 2.7.13 (ActivePython tramite Windows Installer i file binari)
+0

Non so cosa sia successo ma, quando ho reinstallato Python 2.7, l'ho ottenuto supportato da gvim senza alcun ritocco. – wassimans

+1

Ho scoperto che Vim si arresterebbe istantaneamente se provassi ad usare la DLL 2.7.11 ma sembra che funzioni bene con quella 2.7.9. –

risposta

36

Di solito, il supporto pitone è costruito nella distribuzione ufficiale di gvim.

Sarà necessario installare python però: Python Downloads

per controllare se vim supporta Python:

:echo has("python") 
+14

Bene, ho emesso il comando ma restituisce '0'. Ed è per questo che ho fatto la domanda. – wassimans

+4

Come ho detto nel mio commento sopra, ora funziona dopo aver reinstallato Python e riavviato il sistema. Il comando 'echo' restituisce 1 ora. Penso di dover selezionare la tua risposta come RISPOSTA. Grazie – wassimans

+3

Forse è l'ordine di installazione: ho installato Python 2.7.1 quindi gvim e non ha funzionato. Poi ho di nuovo installato Python 2.7.1 ... e funziona. Ciò significa che ho bisogno che gvim sia installato prima di Python? – Lionel

-5

si vuole attivare l'evidenziazione della sintassi

messo syntax on nella tua nel vostro vimrc (il formato del file vimrc sarà lo stesso su linux/windows o qualsiasi altro sistema operativo)

Vim supporta anche autoindenta, se si desidera abilitare l'indentazione automatica per Python, hanno un'occhiata a questa guida here

La chiave per consentire autoindenta è quello di includere quanto segue in vimrc

autocmd BufRead,BufNewFile *.py syntax on 
autocmd BufRead,BufNewFile *.py set ai 
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class 
+6

Wow, um, questo ha esattamente * nulla * da fare con il supporto Python in Gvim. –

+0

In cima alla quale, trovo che 'autocmd FileType python: : ' è più semplice e migliore per l'autoindenting. – Actorclavilis

10

Se avete installato Python tramite uno dei Installatori di Windows è probabilmente compilato con il supporto per Python 2.7. Puoi verificarlo eseguendo:

:version 

Sputerà tutte le opzioni con cui è stato compilato Vim. Il tuo dovrebbe dire qualcosa come

+python/dyn +python3\dyn 

Ciò significa che hai il supporto per python 2.7 e 3.x. Se hai già 2.5 non funzionerà. Sarà necessario eseguire l'aggiornamento a 2.7 o 3.x.

23

Ho riscontrato questo problema su Windows 7 a 64 bit. Mi sono reso conto che stavo usando 64-bit Python 2.7.3 e 32-bit vim 7.3-46. Ho reinstallato entrambe le versioni a 32 bit e quindi riavviato il computer. Ora funziona.

+0

Bene, la mia macchina all'epoca era a 32 bit. Il tuo caso è interessante però. – wassimans

+0

Assicurati anche di aver aggiunto eseguibile al percorso – coderek

22

Ho avuto lo stesso problema, ma su Windows 7 e un riavvio non l'ho risolto.

Ho già installato gVim 7.3. Al momento di scrivere la versione attuale di Python era 3.3, quindi l'ho installato. Ma: ha ("python") e: ha ("python3") ancora restituito 0.

Dopo molti tentativi ed errori, ho deciso che:

  • Se gVim è a 32 bit, e di solito è anche su Windows 64-bit (puoi confermare usando il comando: version), quindi hai bisogno anche dell'installazione python a 32-bit
  • Non è richiesto il riavvio di Windows 7
  • La versione di python deve corrispondere al versione per cui è compilato gVim poiché cerca un nome specifico per la DLL.È possibile Gwaith questo fuori dalla: comando di versione gVim, sydd dà qualcosa di simile:

Compilation: cl -c/W3/nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_ NETBEANS_INTG -DFEAT_XPM_W32 -DWINVER = 0x0400 = 0x0400 /Fo.\ObjGOLYHTR/ -D_WIN32_WINNT/Ox/GL -DNDEBUG/ZL/MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_W32 -DDYNAMI C_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL = \ "tcl83.dll \" -DDYNAM IC_TCL_VER = \ "8.3 \" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL = \ "python27.dll \" -D FEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL = \ "python31.dll \" -DFEAT_PERL -DDYNAMI C_PERL -DDYNAMIC_PERL_DLL = \ "perl512.dll \" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER = 19 1 -DDYNAMIC_RUBY_DLL = \ "msvcrt-ruby191.dll \" -DFEAT_BIG/Fd. \ ObjGOLYHTR// Zi

Così il sopra Mi ha detto tatuaggio mi dona realtà Truancy Sweep python 3.3, ho Angen 3.1 (o 2.7). Dopo l'installazione di python 3.1 ,: ha ("python") Ancora restituisce 0, ond: ha ("python3") Ora restituisce 1. Che sognerei Significa tatuaggio basato su Python script Gwaith yn Now!

immaginare versioni future di gVim maggio quello compilato con altre versioni di pitone, ond utilizzando questo metodo sognerei lasciare che chi Gwaith fuori sydd versione inferiore Obbligatorio.

+1

Ok, dopo molte installazioni frustrate di Python 3.5.1 64 bit e 32 bit e molti riavvii, questa risultò essere la risposta ... – Hubro

0

Quando ho digitato :version, ha rivelato tatuaggio mia Vim wasnt compilato con Python. Forse perché ho rovinato OES Python (a 32 bit?) Per l'Amser.

ho fatto installare un mp Python a 32 bit consigliato, ond reinstallare Vim sembrava necessario.

4

spiacenti per un tardo cyfraniad. Il vice tatuaggio chi problema non può mescolare librerie x 86 x 64 pitone con vim, e può Soluzioni suggerite riducono a reinstallare pitone x86. Beh, io doña ydych reinstallare Python, Ruby e chissà che altro solo perché dibynnol su quelli vim non darparu'r ufficialmente distribuzione equa X64 su Windows. Il gellwch vizio tatuaggio Buona Novella trovare ancora meglio nascosto alla http://vim.wikia.com/wiki/Where_to_download_Vim. Buona fortuna, e prendersi cura di versioni di libreria Python.

+0

Ho usato quello da https: //bintray.com/veegee/generic/vim_x64 e sembra funzionare bene. – joon

+0

my python e vim stavano entrambi dicendo 32 bit ma sembra che il vim7.4 predefinito non includa i collegamenti Python. I collegamenti a 64 bit sul wiki fanno però. –

1

alle sementi problema simile. Sono stato funzione di completamento omni del Vim godendo per anni rhai, Utilizzo di Windows XP, Python 2.7, gVim 7. Recentemente mi sono trasferito in un nuovo PC con Windows 8.1. Ho installato i plugin che mi piacciono gVim e, wedyn provato di tutto. Omni-completamento ha dato un errore, dicendo che mi serviva la versione di vim compilato con il supporto Python. Per palco tatuaggio, non avevo ancora installato Python. La soluzione era quella di installare Python wedyn reinstallare vim. Omni-conpletion ora funziona. Forse l'ordine delle questioni di installazione.

0

Dopo aver letto quanto sopra, posso confermare che non importa tatuaggio sul Win8.1 il chi ordine installare il tema (o leiaf per me lo ha fatto). Alle sementi 32bit Vim 7.4 installato per POCHI MESI, wedyn provato ad aggiungere Python e non poteva farlo. Python 2.7.9 installato e disinstallato sinistra/vim reinstallato e ora funziona.

0

Scarica l'hard one "OLE GUI eseguibile"

0

dopo aver provato CAN risposte in questa discussione senza fortuna ISOD lavorato per me (Win10, Python 2.7 a 32 bit, gvim 7.4 a 32 bit):

  1. Rieseguire il Python di installazione, selezionare Modifica Python
  2. Selezionare l'opzione Aggiungi Python al percorso, che è disattivata per impostazione predefinita
  3. Dopo l'installazione è fatto, riavviare la macchina
3

La risposta accettata non ha risolto il mio problema, quindi ho deciso di pubblicare la soluzione che ho trovato dopo alcuni sforzi.

In primo luogo, come sottolineato dalla risposta accettata, avrete bisogno sia di gVim compilato con python abilitato, sia di un'installazione python corrispondente. Assicurati che siano entrambi a 32 o 64 bit. Ho trovato che la build predefinita da www.vim.org non abilitava python, anche se sembrava essere a 32 bit, che non corrispondeva al mio python27. Quello che ho trovato è stato la build "gvim_8.0.0003_x64.zip" da questo vim Git repository

Ho quindi decompresso, copiato la cartella "vim80" nel percorso di installazione ufficiale di vim (creato dall'installazione a 32 bit scaricata www .vim.org).

Ora vim funziona con il mio python2.7 a 64 bit.

UPDATE 2017/02/24:

La procedura di cui sopra non è riuscito su un altro computer in cui l'installazione di Python locale è 2.7.9. La mia versione di Python è la 2.7.11 quando ci sono riuscito.

Quindi, sembra che la build dal repository Git vim funzioni per una specifica versione di Python. Prova ad aggiornare la tua installazione Python alla 2.7.11 se puoi. Se devi usare una versione precedente di Python, forse hai bisogno di creare il codice sorgente Vim sul tuo computer. Non è troppo difficile seguire le istruzioni e utilizzare il cmd di Visual Studio fornito al posto del cmd predefinito di Windows.

Problemi correlati