Нечетные символы отображаются в подсказках аргументов функций в Jedi-Vim

Я пробую доступную в настоящее время основную ветку Jedi-Vim и библиотеку Jedi с gVim 7.4 (Windows), +python доступен и работает. Я установил Jedi-Vim с патогеном. Другие плагины не установлены, у меня есть только Jedi-Vim и Pathogen. Мой.vimrc не реализует ничего необычного.

Джедай-Вим был потрясающим инструментом до сих пор, почти все работает; однако я заметил, что всплывающие подсказки с аргументами функции всплывают с некоторыми искаженными символами перед началом текста всплывающей подсказки, например, всплывающая подсказка print() выглядит так (у a на самом деле акцентирование окружности):

^          ^                                                               ^      ^
a%ijedi=0, a%i    (*value*, ..., sep = ' ', end = '\n', file = sys.stdout) a%ijedia%i 
print(

Итак, справка аргумента функции print() есть, но она окружена нечетными строками символов. Кто-нибудь еще сталкивался с этой проблемой? Фотографии на репо показывают подсказки без лишних сумасшедших персонажей. Я думаю, что это может быть связано с моим использованием этого в Windows, или с тем фактом, что я использую библиотеку Jedi в качестве подрепортажа в C: \ vim \ vim74 \ bundle \ jedi-vim-master \ jedi. Какие-либо предложения?

1 ответ

Это случилось со мной также пару месяцев назад. И я не смог найти ни одного элегантного решения с помощью jedi-vim, но, к счастью, я нашел python-mod, который стал частью моего решения этой проблемы.

Хорошо, мой путь был:

1. вызвать патоген

call pathogen#infect()

2. Отключить подписи вызовов в джедай-вим

let g:jedi#show_call_signatures = 0

Согласно документации, есть три режима для этой опции, 0 обозначает вообще не показывать подписи, 1 (по умолчанию) показывать все подписи в всплывающем маленьком окне (с которым у меня были проблемы), и наконец 2 обозначает показывать подписи в команде линия. Вы можете предпочесть использовать командную строку, чтобы показать подписи.

3. установить Python-режим

Я использую Python-режим без "веревки". Мне кажется, что jedi-vim лучше в автозаполнении, и я использую его в этом поле, но в python-mode есть много функций, которые могут быть полезны даже без автозаполнения.

" Settings for python-mode

let g:pymode_virtualenv = 1 
let g:pymode_folding = 0                                
let g:pymode_utils_whitespaces = 0                                
let g:pymode_syntax = 0                                           
let g:pymode_lint_ignore = "C0110 Exported"
let g:pymode_lint_minheight = 5       
let g:pymode_lint_maxheight = 15
let g:pymode_lint_write = 1
let g:pymode_lint_mccabe_complexity = 10
let g:pymode_syntax_highlight_self = 0
let g:pymode_doc = 0
let g:pymode_rope = 0

let g:pymode_run = 1
let g:pymode_python = "python"
let g:pymode_run_bind ='<F5>'


" Settings for jedi-vim

let g:jedi#usages_command = "<leader>z"
let g:jedi#popup_on_dot = 1
let g:jedi#popup_select_first = 0
map <Leader>b Oimport ipdb; ipdb.set_trace() # BREAKPOINT<C-c>

Я надеюсь, что это поможет вам.

Другие вопросы по тегам