Сделать буфер быстрого исправления модифицируемым - PullRequest
0 голосов
/ 18 ноября 2018

В настоящее время я пытаюсь очистить окно быстрого исправления при использовании cscope и для этого использую следующие команды:

augroup quickfix
    autocmd!
    autocmd BufRead qf set modifiable
    autocmd FileType qf
                \   set modifiable        |
                \   set hidden            |
                \   execute ":%s/<<.*>>//g"
augroup END

Таким образом, при открытии файла теги <<>> удаляются. Тем не менее, так как по умолчанию окно быстрого исправления nomodifiable, я вынужден заставить его.

Во время тестирования я обнаружил, что замена выполняется, но окно быстрого исправления все еще остается nomodifiable; поэтому я не могу редактировать его содержание или использовать его в качестве заметок. Изменяемость может быть установлена ​​вручную после открытия окна, но это не удобно. Возможно я что-то упускаю или использую неправильное событие. Может кто-нибудь объяснить, что не так?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Я подозреваю, что в вашем процессе использования списка быстрых исправлений есть что-то неэффективное, но если вы хотите злоупотребить этим способом и сделать его модифицируемым, для меня работает следующее:

au! FileType qf set ma hidden | execute ":%s/<<.*>>//g"
au! BufReadPost quickfix set ma

См. :h CTRL-W-<Enter> для получения дополнительной информации.

0 голосов
/ 18 ноября 2018

Не нужно разбираться с autogroup, прежде чем вы их достаточно хорошо освоите.

Просто попробуйте или сделайте это в вашем .vimrc с помощью строки, как показано ниже: au BufRead errors.err set ma hidden | execute ":%s/<<.*>>//g"

тогда файл быстрого исправления (обычно называемый 'errors.err') должен быть изменяемым.

(Если вы используете другое имя, замените его на «errors.err» или используйте шаблон как «* .err».)

Подробнее см. :h au.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...