Я использую GVim 8.1 на Windows 10 без внешних плагинов.
В моем файле .gvimrc настроено следующее:
let g:build_file_abs_path = fnamemodify(findfile("windows-build.bat", ";."), ":p:h")
" This build script is a basic wrapper for 'clang.exe file.c -o file.exe' style invocation
let &makeprg=g:build_file_abs_path . "\\windows-build.bat"
nnoremap <silent> <C-B> :cd <C-R>=g:build_file_abs_path<CR> <bar> make! <bar> copen <bar> redraw <bar> cd -<CR>
Теперь это автоматически открывает окно быстрого исправления с правильным выводом компилятора. Однако, когда я нажимаю клавишу ВВОД над ошибкой, курсор переходит в буфер для затронутого файла, но он полностью пуст с одной строкой. Кроме того, это происходит, когда я использую команды :cn
и :cp
внутри окна быстрого исправления. например:
Изображения, показывающие эти два состояния:
до
после
Обратите внимание, что:
:verbose nmap <CR>
не возвращает сопоставлений, поэтому здесь нет конфликта.
Я был бы признателен, если бы кто-нибудь смог дать представление о том, как избежать того, чтобы буфер стал пустым, и действительно перейти к ошибке в соответствующем файле. Большое спасибо.