plugins relacionados a python dão erros no vim

0

Então aqui está um exemplo de um plugin vim com problemas de python:

Error detected while processing function UltiSnipsEdit:
line    6:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Usersc.2c2c\.vim\bundle\ultisnips\plugin\UltiSnips\__init__.py", line 981, in file_to_edit
    os.mkdir(path)
WindowsError: [Error 3] The system cannot find the path specified: u'C:\Users\2c.2c2c\vimfiles\UltiSnips'
line   16:
E121: Undefined variable: file
E15: Invalid expression: ':'.mode.' '.file

Erros semelhantes a este dos fabricantes de plugins vim dizem que isso é um problema com o ambiente python. Eu tenho as últimas 27x e 3xx compilações de python e uso um vim pré-compilado do link . Eu desinstalei / reinstalei uma ou outra versão, instalei ambas as versões, com e sem caminhos definidos. Nada parece ter efeito.

:version

retorna python / dyn para ambas as versões, embora eu tenha mexido com a mudança de caminhos / desinstalação-reinstalação para tê-los sozinho e não sozinho etc. Para ver se alguma coisa muda. Além disso, python básico parece realmente funcionar, eu posso fazer

:python print ("hello")

sem problemas.

Eu também estou meio confuso porque está checando o diretório ... O Vundle adiciona o rtps em ~ / .vim / bundle / addon para qualquer coisa que ele instala.

De qualquer forma, eu não vi ninguém com um problema como este no Windows, então nenhuma das informações é muito útil. Qualquer ajuda é apreciada.

    
por 2c2c 17.05.2013 / 08:04

1 resposta

0

O erro se origina da função files_to_edit() no arquivo "C: \ Users \ 2c.2c2c.vim \ pacote \ ultisnips \ plugin \ UltiSnips__init __. py". Dado um tipo de arquivo (por exemplo, "markdown"), essa função tenta descobrir onde o arquivo com os snippets correspondentes ("markdown.snippets") pode estar localizado em seu sistema. A função verifica vários lugares:

  1. Se a variável global g:UltiSnipsSnippetsDir existir, ela aparecerá nessa pasta
  2. Se a variável global g:UltiSnipsSnippetDirectories existir, então itera sobre os itens em rtp , anexa o diretório da variável e procura nas pastas resultantes
  3. Se nenhuma das opções acima estiver configurada, ela itera sobre os itens em rtp , anexa "UltiSnips" e procura nas pastas resultantes

De acordo com sua mensagem de erro

WindowsError: [Error 3] The system cannot find the path specified: u'C:\Usersc.2c2c\vimfiles\UltiSnips'

acabou na terceira opção. Por algum motivo, ele não selecionou o item correto de rtp . O que você poderia fazer para corrigir o problema sem acessar o código-fonte do plug-in e depurá-lo é definido g:UltiSnipsSnippetsDir explicitamente como o local onde os snippets estão armazenados, ou seja, "C: \ Users \ 2c.2c2c.vim \ bundle \ ultisnips \ UltiSnips ". Basta soltar a linha

let g:UltiSnipsSnippetsDir = "C:\Usersc.2c2c\.vim\bundle\ultisnips\UltiSnips"

em algum lugar no seu .vimrc.

    
por 17.05.2013 / 10:26