Отключить весь автоматический код в Jedi-Vim

Я пытаюсь использовать python-jedi в vim, но на данный момент он совершенно непригоден для использования, потому что он пытается выполнить код в нечетное время.

Я добавил следующую строку:

 let g:jedi#popup_on_dot = 0

в мой файл vimrc, и это действительно остановило автозаполнение на "." но когда я попытался добавить пробелы после запятых в следующий код:

upper_blue = np.array([130,255,255])

Автозаполнение продолжало появляться, по-видимому, всякий раз, когда я находился в квадратных скобках, и все же это не имело отношения к массиву.

У меня также установлен pymode, но я отключил функцию веревки... Признаюсь, я понятия не имею, как полностью отключить pymode.

ВимРК:

    " Better command-line completion
set wildmenu

" Show partial commands in the last line of the screen
set showcmd

" Highlight searches (use <C-L> to temporarily turn off highlighting; see the
" mapping of <C-L> below)
set hlsearch

" Modelines have historically been a source of security vulnerabilities. As
" such, it may be a good idea to disable them and use the securemodelines
" script, <http://www.vim.org/scripts/script.php?script_id=1876>.
" set nomodeline


"------------------------------------------------------------
" Usability options {{{1
"
" These are options that users frequently set in their .vimrc. Some of them
" change Vim's behaviour in ways which deviate from the true Vi way, but
" which are considered to add usability. Which, if any, of these options to
" use is very much a personal preference, but they are harmless.

" Use case insensitive search, except when using capital letters
set ignorecase
set smartcase

" Allow backspacing over autoindent, line breaks and start of insert action
set backspace=indent,eol,start

" When opening a new line and no filetype-specific indenting is enabled, keep
" the same indent as the line you're currently on. Useful for READMEs, etc.
set autoindent

" Stop certain movements from always going to the first character of a line.
" While this behaviour deviates from that of Vi, it does what most users
" coming from other editors would expect.
set nostartofline

" Display the cursor position on the last line of the screen or in the status
" line of a window
set ruler

" Always display the status line, even if only one window is displayed
set laststatus=2

" Instead of failing a command because of unsaved changes, instead raise a
" dialogue asking if you wish to save changed files.
set confirm

" Use visual bell instead of beeping when doing something wrong
set visualbell

" And reset the terminal code for the visual bell. If visualbell is set, and
" this line is also included, vim will neither flash nor beep. If visualbell
" is unset, this does nothing.
set t_vb=

" Enable use of the mouse for all modes
set mouse=a

" Set the command window height to 2 lines, to avoid many cases of having to
" "press <Enter> to continue"
set cmdheight=2

" Display line numbers on the left
set number

" Quickly time out on keycodes, but never time out on mappings
set notimeout ttimeout ttimeoutlen=200

" Use <F11> to toggle between 'paste' and 'nopaste'
set pastetoggle=<F11>


"------------------------------------------------------------
" Indentation options {{{1
"
" Indentation settings according to personal preference.

" Indentation settings for using 2 spaces instead of tabs.
" Do not change 'tabstop' from its default value of 8 with this setup.
set shiftwidth=2
set softtabstop=2
set expandtab

" Indentation settings for using hard tabs for indent. Display tabs as
" two characters wide.
"set shiftwidth=2
"set tabstop=2


"------------------------------------------------------------
" Mappings {{{1
"
" Useful mappings

" Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy,
" which is the default
map Y y$
map <F2> :NERDTreeToggle<CR>

" Map <C-L> (redraw screen) to also turn off search highlighting until the
" next search
nnoremap <C-L> :nohl<CR><C-L>

execute pathogen#infect()

au FileType html compiler html
au QuickFixCmdPost make cwindow
"------------------------------------------------------------

"----Python Vim---"
"let g:pymode_rope = 0
" Documentation
"let g:pymode_doc = 1
"let g:pymode_doc_key = 'K'
"
" "Linting
"let g:pymode_lint = 1
"let g:pymode_lint_checker = "pyflakes,pep8"
" " Auto check on save
"let g:pymode_lint_write = 1
"
" " Support virtualenv
"let g:pymode_virtualenv = 0
"
" " Enable breakpoints plugin
"let g:pymode_breakpoint = 1
"let g:pymode_breakpoint_key = '<leader>b'
"
" " syntax highlighting
"let g:pymode_syntax = 0
"let g:pymode_syntax_all = 0
"let g:pymode_syntax_indent_errors = g:pymode_syntax_all
"let g:pymode_syntax_space_errors = g:pymode_syntax_all



set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/nerdtree'
" Bundle 'klen/python-mode'
Plugin 'davidhalter/jedi-vim'
Plugin 'altercation/vim-colors-solarized'
call vundle#end()            " required
filetype plugin indent on    " required

"jedi"
let g:jedi#popup_on_dot = 0
let g:jedi#auto_initialization = 1


"---PowerLine--"
set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 9
set laststatus=2

"--Look and feel--"
if has('gui_running')
    set background=light
    else
        set background=dark
        endif

person chrispepper1989    schedule 04.01.2015    source источник


Ответы (3)


Использовать это :

let g:jedi#completions_enabled = 0
person meain    schedule 24.05.2016

Почти уверен, что единственный раз, когда jedi-vim запускает автозаполнение, это .. Во всем остальном, вероятно, виноват другой плагин (может быть, supertab или что-то вроде autocomplpop).

jedi-vim также оборачивает CtrlПробел. Но это не должно вызывать никаких проблем (если только вы не используете именно эту команду.

person Dave Halter    schedule 05.01.2015
comment
отправил vimrc и удалил pymode, все равно возникает та же проблема :( - person chrispepper1989; 05.01.2015
comment
и akaik у меня нет supertab или autocomplpop - person chrispepper1989; 05.01.2015
comment
Серьезно, я не думаю, что проблема в jedi-vim. Вы первый, кто заметил, и есть только один триггер, который вызывает автодополнение: точка. Добавление пробелов после запятых может вызвать окно подписи вызова, но это нечто иное, чем окно автозаполнения. - person Dave Halter; 05.01.2015
comment
Ах, это может быть окно подписи, я могу его отключить? - person chrispepper1989; 05.01.2015
comment
Конечно! let g:jedi#show_call_signatures = "0" Вы также можете использовать значение 2, чтобы оно отображалось по-другому (прочитайте документацию, если вам интересно). - person Dave Halter; 05.01.2015

Как объясняется в файле readme-vim Отключение автозаполнения когда есть точка, должно быть достаточно. Я вижу, что у ОП уже есть это в его ~/.vimrc (в вопросе):

let g:jedi#popup_on_dot = 0

В этом ответе на аналогичный вопрос упоминается auto-complete manual, в котором есть несколько стратегий отключения автозаполнения и различные комбинации клавиш для его повторного включения.

Обновление: эта часть ответа больше связана с вопросом, как копировать и вставлять с включенным jedi-vim.

Кроме того, Jedi-vim выпуск 211 предлагает использовать режим pastetoggle vim. На странице Vimwiki, посвященной вставке с автоотступом, упоминается, как установить ярлыки для pastetoggle. Существует даже плагин под названием vim-bracketed-paste, который автоматически определяет вставку в " Эмулятор терминала, совместимый с xterm, который поддерживает режим вставки в квадратных скобках».

person Paul Rougieux    schedule 13.05.2020