VimPdb is een module die een integratie van de Python debugger pdb in de VIM uitgever verschaft.
Gebruik:
Python code
Met behulp van vimpdb is eenvoudig - plaatst u gewoon een oproep om set_trace in uw code bijna zoals gebruikelijk:
import vimpdb; vimpdb.set_trace ()
Dan start je python application / script.
Wanneer de python interpreter raakt die lijn, zal vimpdb een VIM instantie lanceren. VIM moet de nadruk krijgen; laadt het bronbestand op de juiste lijn.
VIM commando
In VIM, kunt u nu gebruik maken van de volgende opdrachten:
: PDBNext n pdb (n) ext
: PDBStep s pdb (s) TEP
: PDBArgs een pdb (a) RGS
: PDBUp u pdb (u) p
: PDBDown d pdb (d) eigen
: PDBReturn r pdb (r) eturn
: PDBContinue c pdb (c) ontinue
: PDBBreak b Stelt een breekpunt in de lijn waarop de cursor zit; vergelijkbaar met pdb b (reak)
: PDBClear B Wist een breekpunt in de lijn waarop de cursor zit; vergelijkbaar met pdb cl (oor)
: PDBWord w Evalueert de waarde van de identifier, waarop de cursor zit.
: PDBEval? Evalueert een Python uitdrukking na om gevraagd.
: PDBReset x Ga terug naar de normale debugging in de dop met standaard pdb.
N / A v (im) Ga terug naar vimpdb; alleen in duidelijke pdb.
Standard pdb haak
Als u vindt het moeilijk om gewoonten te veranderen en te houden op het typen
importeren pdb; pdb.set_trace ()
kunt u de volgende regel toe te voegen aan de .pdbrc bestand zit in je thuismap:
import vimpdb; vimpdb.hookPdb ()
Op deze manier, het commando v (im) bovengenoemde wordt toegevoegd aan uw standaard pdb en kunt u overschakelen naar vimpdb op elk moment.
Eisen
vimpdb is met succes gebruikt onder Linux, Mac OSX en Windows.
Het is compatibel met Python 2.7, 2.6, 2.5 en 2.4. Het is niet compatibel met Python 3,1 (moet gelijk voor 3,0 zijn).
vimpdb vereist een installatie van VIM dat zowel de python en clientserver opties ondersteunt.
Zoek uit of dit het geval is door de uitgifte van de volgende opdracht bij de VIM prompt:
: Versie
Als de opties worden ondersteund, wordt u + clientserver en + python in de output te zien. In het tegenovergestelde geval, zal u -clientserver of -python zien.
Op Linux en Windows, moet de standaard VIM build al-server ingeschakeld zijn.
Op Windows, de optie python opgesteld VIM afhankelijk van een specifieke Python versie. Zoek uit of dat specifieke versie is geïnstalleerd en werkt in VIM door de uitgifte van de volgende opdracht bij de VIM prompt:
: Python import sys; afdruk sys.version
Op Mac OSX, zult u wilt MacVim gebruiken. MacVim heeft ook de mogelijkheid python standaard meegecompileerd.
Installatie:
Standaard installatie met easy_install
easy_install vimpdb
U kunt uiteraard ook gebruik maken van pip.
Vimpdb.vim:; & nbsp Als je kijkt in het pakket, zal je een VIM script-bestand te zien. Niet verplaatsen naar VIM configuratie directory (zoals ~ / .vim / plugin). vimpdb weet hoe het script beschikbaar voor VIM te maken.
Configuratie:
Kort verhaal
vimpdb probeert te vermijden, afhankelijk van elke gebruiker configuratie. Als het de juiste configuratie die niet kan detecteren op zichzelf, zal het een paar vragen die u moet in staat zijn om gemakkelijk te beantwoorden.
Lang verhaal
Bij de lancering, vimpdb zoekt haar RC bestand: ~ / .vimpdbrc. Als het niet vinden, vimpdb creëert dat bestand voor u van standaardwaarden.
vimpdb probeert een reeks van standaardwaarden die zou moeten werken. Het controleert als die standaard waarden geschikt zijn. Als de standaardwaarden niet werken, vimpdb vraagt om andere waarden interactief totdat zij heeft gecontroleerd of de waarden daadwerkelijk verleende werken.
De standaardwaarden per OS zijn hieronder opgesomd.
Voor Linux:
vim_client_script = vim
vim_server_script = gvim
server_name = gvim
port = 6666
Voor MacOSX:
vim_client_script = mvim
vim_server_script = mvim
server_name = VIM
port = 6666
Voor Windows:
vim_client_script = vim.exe
vim_server_script = gvim.exe
server_name = VIM
port = 6666
Zie hieronder voor meer informatie over elke optie.
U bent uiteraard toegestaan om te maken en af te stemmen dat de RC-bestand. Toch moet de RC-bestand waarden voor alle 4 opties te houden. Als een van hen ontbreekt, vimpdb breaks en klaagt dienovereenkomstig.
VIM client script - vim_client_script
Om te communiceren met het VIM geval waarin debugging gebeurt, vimpdb moet een andere VIM bijvoorbeeld in client-modus te starten.
vim_client_script optie houdt het script gebruikt om die VIM bijvoorbeeld bij clientserver steun te lanceren.
Op Windows, moet het te houden vim.exe niet gvim.exe. Bovendien, niet quotes in de waarde onder te verzorgen van witruimte te nemen in het pad.
VIM server script - vim_server_script
In het geval dat er geen VIM exemplaar wordt uitgevoerd, vimpdb lanceert een VIM bijvoorbeeld in server mode.
vim_server_script optie houdt het script gebruikt om die VIM bijvoorbeeld bij clientserver steun te lanceren. Zoals debugging in de VIM instantie met python geschreven is, moet die instantie python ondersteuning.
Op MacOSX en Linux, kunnen vim_server_script en vim_client_script dezelfde waarde te houden.
Op Windows, kan alleen de grafische VIM worden gebruikt als server, reden voor de twee afzonderlijke standaardwaarden zoals hierboven gezien.
Server Naam - server_name
De VIM bijvoorbeeld in server-modus heeft een naam.
Standaard vimpdb spreekt tot de server met de naam VIM, dat is de standaard servernaam gebruikt door VIM.
Als u wilt vimpdb naar een andere server naam te gebruiken, wijzigen de optie servernaam. Het moet in het bezit van de naam van de VIM server die u wilt gebruiken voor het debuggen.
U kunt een lijst van de momenteel lopende VIM servers met:
$ Vim --serverlist
VIM
Of, op een Mac:
$ /Applications/MacVim.app/Contents/MacOS/Vim --serverlist
VIM
Wanneer een VIM met bijvoorbeeld clientserver steun loopt, kunt u de naam door de uitgifte van de volgende opdracht bij de VIM prompt vinden:
: Echo v: servernaam
UDP-poort - port
VIM communiceert met vimpdb via een UDP-socket. Standaard wordt de socket geopend op poort 6666.
Als dat socket is niet beschikbaar in uw systeem, kunt u een beschikbaar poortnummer met de optie poort opgeven.
achterwaartse compatibiliteit
Voor versie 0.4.1, vimpdb RC bestand (~ / .vimpdbrc) had een script optie. Die optie is omgezet in de optie vim_client_script. De upgrade moet transparant zijn.
Voor versie 0.4.0, werd vimpdb geconfigureerd via omgevingsvariabelen. Als u een werkende configuratie had, zou upgrade transparant zijn. De waarden van VIMPDB_SERVERNAME en VIMPDB_VIMSCRIPT omgevingsvariabelen zijn opstelling in de RC-bestand (~ / .vimpdbrc). Ze zijn respectievelijk gezet in server_name en script opties
Wat is nieuw in deze release:.
- Fix accentuering van de huidige regel.
Wat is nieuw in versie 0.4.4:
- testen cleanup: zich te ontdoen van helper klasse en functies .
- code opruiming:. Verbeteren invoer stijl
- na c (ontinue), key mapping kapot was (weer).
Wat is nieuw in versie 0.4.3.2:
- fix Linux standaardwaarden in documentatie.
- document PDBxx commando's.
- minder ruis op VIM command-line.
- een betere accentuering van de huidige regel.
Wat is nieuw in versie 0.4.2:
- PDBEval (toegewezen aan sleutel?) Om te vragen om een Python uitdrukking te evalueren.
- PDBClear (toegewezen aan B-toets) om een eerder ingestelde breekpunt te wissen.
- geopend nieuw tabblad alleen als er al een geopend bestand in VIM.
- close vimpdb buffer bij blijven (c), reset (x) of stoppen (q).
- lancering VIM server ook als een andere server draait.
Wat is nieuw in versie 0.4.1.2:
- polish documentatie.
Wat is nieuw in versie 0.3.8:
- fix: sommige versies van VIM moet expliciete import zelfs hoewel de meeste niet. (Http://github.com/gotcha/vimpdb/issues/issue/5)
Wat is nieuw in versie 0.3.7:
- fix: kon niet naar & quot; beneden & quot; na het overschakelen van pdb tot vimpdb na gegaan & quot; up & quot; (Http://github.com/gotcha/vimpdb/issues/issue/4)
Wat is nieuw in versie 0.3.6:
- fix: & quot; blijven & quot; commando was gebroken na breekpunt is ingesteld (http://github.com/gotcha/vimpdb/issues/issue/3)
- fix: Key mappings werden gebroken links na & quot; blijven & quot; commando. (Http://github.com/gotcha/vimpdb/issues/issue/2)
Wat is nieuw in versie 0.3.5:
- betere documentatie, vooral voor Windows
- fix vastleggen van de output die werd gebroken voor Python 2.5 en 2.6
- Windows-compatibiliteit (tenminste XP)
Eisen
- Vim
- Python
Reacties niet gevonden