Я редактирую довольно много файлов BibTeX и регулярно забываю запятые:
Например:
@Book{cooke2015british,
author = {Cooke, Lez},
title = {British Television Drama},
publisher = {Palgrave on behalf of the British Film Institute},
year = {2015},
keywords = {about}
address = {London},
isbn = {978-1844576234}
}
Вы увидите, что я забыл добавить запятую после keywords = {about}
, что будет означать, что мне придется тратить время на отладку. Есть ли способ, которым Вим может заставить меня вспомнить? Кстати, у меня есть плагин bib_autocomp.vim ...
autocompletion
Кристиан Нордестгаард
источник
источник
:%s/[^ ,]\zs\ze\n\s*[^ }]/,/
.Ответы:
Быстрое и грязное решение:
Вы также можете создать специальный синтаксис для файлов BibTeX, используя тот же шаблон.
Некоторые пояснения по используемому регулярному выражению:
^\s\+
ищет ключевые слова с отступом.\ze
останавливает сопоставление с образцом, так что следующая строка не помечается.,\@<!\n
ищет строки, не заканчивающиеся запятой.\n\s\+\w
гарантирует, что есть новая запись после текущего сканирования.Тот же шаблон можно использовать для перехода между ошибочными строками, используя
vimgrep
следующее:Если окно быстрого исправления не открывается автоматически, его можно открыть с помощью
:copen
. А:cnext
и:cprevious
может быть использовано для перехода между ошибками.источник
Одной из возможностей является определение
.vimrc
ярлыка для добавления отсутствующего,
Пример:
и использовать
\q
перед отъездом или при отладке.источник
E10: \ should be followed by /, ? or & 24,1 60%
, но, возможно, я делаю это неправильно?.vimrc
мы должны удалить начальное ":". Пожалуйста, попробуйтеmap \q :%s/\v([}"])(\s*\n\s*\S+\s*\=)/\1,\2/e<CR><CR>