Не могу перейти к строке в окне быстрого исправления pyflakes - PullRequest
0 голосов
/ 03 февраля 2020

Я недавно установил расширение vim python -mode, включающее pyflakes. Когда я сохраняю файл python на диск, pyflakes автоматически обнаруживает ошибки и нарушения стиля и отображает их в окне быстрого исправления. Эта экранная передача показывает, что нажатие клавиши ввода для элемента из окна быстрого исправления должно перейти к соответствующей строке в исходном коде, но когда я нажимаю клавишу ввода, я получаю сообщение об ошибке "E21: Невозможно внести изменения," модифицируемое " выкл». Я могу сделать буфер модифицируемым с помощью :set ma, и тогда прыжки сработают, но я не хочу устанавливать это каждый раз.

Как указано в в этом ответе , я пытался выяснить, делает ли плагин буфер неизменным, но ничего не смог обнаружить.

:verbose set modifiable?
nonmodifiable

:verbose setlocal modifiable?
nonmodifiable

Вот мой .vimrc:

   "set nocompatible

autocmd! bufwritepost .vimrc source %
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1 
let g:syntastic_auto_loc_list = 0 
let g:syntastic_check_on_open = 1 
let g:syntastic_check_on_wq = 0 
set cpo&vim
set background=dark
syntax on
set smartindent
set shiftwidth=4
set expandtab
set tabstop=4
set bs=2
set tags=./tags;,/usr/share/vim/vim81/doc/tags;,$HOME/.local/lib/python3.7/site-packages/torch/tags
set tags+=$HOME/.local/lib/python3.7/site-packages/torch/tags
set tags+=$HOME/.local/lib/python3.7/site-packages/torchvision/tags
set tags+=$HOME/.local/lib/python3.7/site-packages/nltk/tags
set tags+=$HOME/anaconda3/lib/python3.7/site-packages/gensim/tags
set foldmethod=indent
set relativenumber
set number

inoremap kj <Esc>

vnoremap s: sort<CR>
vnoremap < <gv "better indentation
vnoremap > >gv "better indentation

nnoremap ZZ :update<cr>
nnoremap qq :wq<cr>
nnoremap mm :vsplit<cr><C-w><C-w>
nnoremap MM :split<cr><C-w><C-w>
" Ctrl-j/k deletes blank line below/above, and Alt-j/k inserts."
nnoremap <silent><C-j> m`:silent +g/\m^\s*$/d<CR>``:noh<CR>
nnoremap <silent><C-k> m`:silent -g/\m^\s*$/d<CR>``:noh<CR>
nnoremap <silent><A-j> :set paste<CR>m`o<Esc>``:set nopaste<CR>
nnoremap <silent><A-k> :set paste<CR>m`O<Esc>``:set nopaste<CR>
nnoremap <Enter> i<Enter><Esc>
nnoremap <S-Enter> o<Esc>
nnoremap <S-tab> i<tab><Esc>l
nnoremap <C-x> ^i#<Esc>
nnoremap <C-d> yy^i#<Esc>p
nnoremap <S-s> diwea,<Esc>p4bex

1 Ответ

2 голосов
/ 03 февраля 2020

У вас есть сопоставление для <enter>, которое переопределяет обычное поведение ввода:

nnoremap <Enter> i<Enter><Esc>

Когда вы нажмете Enter, вы go вставите режим в быстрый список, что недопустимо.

HTH

...