VimPdb é um módulo que fornece uma integração do depurador pdb Python para o editor VIM.
Uso:
Código Python
Usando vimpdb é fácil - basta inserir uma chamada para set_trace em seu código quase como de costume:
vimpdb importação; vimpdb.set_trace ()
Em seguida, iniciar a sua aplicação python / script.
Quando o interpretador Python atinge essa linha, vimpdb vai lançar uma instância VIM. VIM deve obter o foco; ele carrega o arquivo de origem na linha certa.
Comandos VIM
Em VIM, você pode agora usar os seguintes comandos:
: PDBNext n APO (n) ext
: Pdb PDBStep s (s) tep
: PDBArgs um APO (a) rgs
: PDBUp u APO (u) p
: PDBDown d APO (d) próprio
: PDBReturn r PDB (r) egressar
: PDBContinue c APO (c) ontinue
: PDBBreak b Define um ponto de interrupção na linha em que o cursor está sentado; semelhante ao APO b (reak)
: PDBClear B Limpa um ponto de interrupção na linha em que o cursor está sentado; semelhante ao cl APO (orelha)
: W PDBWord Avalia o valor do identificador na qual o cursor está sentado.
: PDBEval? Avalia uma expressão Python depois de ter perguntado para ele.
: PDBReset x Alterne de volta para a depuração normal em shell com pdb padrão.
N / A v (im) Volte para vimpdb; apenas no APO simples.
Gancho pdb Padrão
Se você achar que é difícil mudar hábitos e continuar a digitação
importar APO; pdb.set_trace ()
você pode adicionar a seguinte linha ao arquivo .pdbrc sentado em sua pasta pessoal:
vimpdb importação; vimpdb.hookPdb ()
Desta forma, o comando v (im) mencionado acima é adicionado ao seu APO padrão e você pode alternar para vimpdb a qualquer momento.
Requisitos
vimpdb foi usado com sucesso em Linux, Mac OSX e Windows.
É compatível com o Python 2.7, 2.6, 2.5 e 2.4. Ele não é compatível com o Python 3.1 (que deve ser o mesmo para 3,0).
vimpdb requer uma instalação do VIM que suporta ambas as opções python e ClientServer.
Descubra se é o caso, emitindo o seguinte comando no prompt do VIM:
: Versão
Se as opções são suportados, você verá + ClientServer e + python na saída. No caso contrário, você vai ver -clientserver ou -python.
No Linux e Windows, a compilação VIM padrão já deve estar habilitado no servidor.
No Windows, a opção python compilados em VIM depende de uma versão específica Python. Descubra se essa versão específica está instalado e funciona em VIM, emitindo o seguinte comando no prompt do VIM:
: import sys python; impressão sys.version
No Mac OSX, você vai querer usar MacVim. MacVim também tem a opção de python compilados por padrão.
Instalação:
Instalação padrão com easy_install
easy_install vimpdb
Você pode, obviamente, também usam pip.
& Nbsp; Se você olhar dentro do pacote, você verá um arquivo de script VIM: vimpdb.vim. Não movê-lo para o diretório de configuração VIM (como ~ / .vim / plugin). vimpdb sabe como fazer o script disponível para VIM.
Configuração:
História curta
vimpdb tenta evitar depender de nenhuma configuração do usuário. Se ele não consegue detectar a configuração correta, por si só, vai fazer algumas perguntas que você deve ser capaz de responder facilmente.
Longa história
Quando lançado, vimpdb procura seu arquivo RC: ~ / .vimpdbrc. Se não encontrá-lo, vimpdb cria esse arquivo para você a partir de valores padrão.
vimpdb tenta um conjunto de valores padrão que devem funcionar. Ele verifica se esses valores padrão são adequados. Se os valores padrão não funcionam, vimpdb pede outros valores interativamente até que tenha verificado que os valores fornecidos realmente funcionar.
Os valores padrão por OS estão listados abaixo.
Para Linux:
vim_client_script = vim
vim_server_script = gvim
server_name = gVim
port = 6666
Para MacOSX:
vim_client_script = mvim
vim_server_script = mvim
server_name = VIM
port = 6666
Para Windows:
vim_client_script = vim.exe
vim_server_script = gvim.exe
server_name = VIM
port = 6666
Veja abaixo para obter detalhes sobre cada opção.
Você está obviamente permissão para criar e ajustar esse arquivo RC. No entanto, o arquivo RC deve conter valores para todos os 4 opções. Se um deles estiver faltando, quebras vimpdb e queixa-se de acordo.
Script de cliente VIM - vim_client_script
Para se comunicar com a instância VIM onde a depuração acontece, vimpdb precisa iniciar outra instância VIM no modo cliente.
opção vim_client_script detém o script usado para iniciar essa instância VIM com o apoio ClientServer.
No Windows, ele deve segurar vim.exe, não gvim.exe. Além disso, não inclua aspas no valor de cuidar de espaços em branco no caminho.
Script de servidor VIM - vim_server_script
No caso de nenhuma instância VIM está em execução, vimpdb lança uma instância VIM no modo de servidor.
opção vim_server_script detém o script usado para iniciar essa instância VIM com o apoio ClientServer. Como depuração na instância VIM é escrito com python, essa instância deve ter suporte python.
No MacOSX e Linux, vim_server_script e vim_client_script pode manter o mesmo valor.
No Windows, apenas o VIM gráfica pode ser utilizado como servidor, a razão para os dois valores padrão separadas como visto acima.
Name Server - server_name
A instância VIM no modo de servidor tem um nome.
Por padrão, vimpdb fala com o servidor nomeado VIM, que é o nome do servidor padrão usado pelo VIM.
Se você quiser vimpdb para usar outro nome do servidor, modificar a opção server_name. Ele deveria manter o nome do servidor VIM você quer ser usado para depuração.
Você pode listar os servidores VIM actualmente em execução usando:
$ Vim --serverlist
VIM
Ou, em um Mac:
$ /Applications/MacVim.app/Contents/MacOS/Vim --serverlist
VIM
Quando uma instância VIM com o apoio ClientServer está em execução, você pode encontrar seu nome, emitindo o seguinte comando no prompt do VIM:
: Echo v: servername
Porta UDP - porto
VIM comunica com vimpdb através de um soquete UDP. Por padrão, o socket é aberto na porta 6666.
Se esse socket não está disponível em seu sistema, você pode especificar um número de porta disponível com a opção de porta.
Compatibilidade com versões anteriores
Antes da versão 0.4.1, arquivo RC vimpdb (~ / .vimpdbrc) tiveram uma única opção de script. Essa opção foi transformado em a opção vim_client_script. A atualização deve ser transparente.
Antes da versão 0.4.0, vimpdb foi configurado através de variáveis de ambiente. Se você tivesse uma configuração de trabalho, atualização deve ser transparente. Os valores das variáveis de ambiente VIMPDB_SERVERNAME e VIMPDB_VIMSCRIPT são configurados no arquivo RC (~ / .vimpdbrc). Eles são colocados respectivamente nas opções server_name e de script
O que é novo nesta versão:.
- Fix valorização da linha atual.
O que é novo na versão 0.4.4:
- testes de limpeza: se livrar de classe auxiliar e funções .
- código de limpeza:. Melhorar o estilo importações
- após c (ontinue), mapeamento de teclas foi quebrado (de novo).
O que é novo na versão 0.4.3.2:
- fix valores padrão Linux na documentação.
- PDBxx documento.
- menos ruído na linha de comando VIM.
- melhor valorização da linha atual.
Comandos
O que é novo na versão 0.4.2:
- PDBEval (mapeado para chave?) Para pedir uma expressão Python para avaliar.
- PDBClear (mapeado para chave B) para limpar um ponto de interrupção definido anteriormente.
- nova aba aberta apenas se já houver um arquivo aberto no VIM.
- tampão vimpdb perto quando continuar (c), reset (x) ou sair (q).
- servidor lançamento VIM também se outro servidor está em execução.
O que é novo na documentação versão 0.4.1.2:
- polish.
O que é novo na versão 0.3.8:
- CORRECÇÃO: algumas versões do VIM precisa importação explicite mesmo embora a maioria não. (Http://github.com/gotcha/vimpdb/issues/issue/5)
O que é novo na versão 0.3.7:
- correção: não poderia ir & quot; o & quot; após terem mudado de pdb para vimpdb depois de ter passado & quot; se & quot; (Http://github.com/gotcha/vimpdb/issues/issue/4)
O que é novo na versão 0.3.6:
- CORRECÇÃO: & quot; continuar & quot; comando foi quebrada após breakpoint foi definido (http://github.com/gotcha/vimpdb/issues/issue/3)
- CORRECÇÃO: mapeamentos de chave foram deixados quebrado depois de & quot; continuar & quot; comando. (Http://github.com/gotcha/vimpdb/issues/issue/2)
O que é novo na versão 0.3.5:
- melhor documentação, especialmente para o Windows
- correção captura de saída que foi quebrado para Python 2.5 e 2.6
- compatibilidade com o Windows (XP, pelo menos)
Requisitos :
- Vim
- Python
Comentários não encontrado