Нечетные символы отображаются в подсказках аргументов функций в 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>
Я надеюсь, что это поможет вам.