Ключевые слова:vim, mail, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Artem Chuprina 2:5020/371.32 26 Aug 99 10:15:28
Subj : функция для vim для поддеpжки в хедере References:
________________________________________________________________________________
Привет!
On Wed, 25 Aug 99 19:40:05 +0400 mrv@mrv.home.org wrote:
AC>> Проверить хедер на предмет ^References:.
mmho> гым... как ни бился-не смог этот участок заставить правильно заработать.
mmho> При запуске vim говорит,что нашел в .vimrc ошибку и "Pattern not found:
mmho> ^References"
Вообще говоря, если в .vimrc, то надо это всё функцией оформлять. И на
модификаторы ? посмотреть, чтобы если не найдено, не стопилось по ошибке.
AC>> normal mz?^References: <CR>
mmho> здесь вроде^ понятно - маркируешь текущую позицию курсора, а <CR>-вот
mmho> это зачем?
Чтобы ? запустилась. Да, есть ещё момент: я не уверен, что vim делает раньше:
выполняет autocommand BufRead или +N командной строки. Если первое, то надо /,
а не ?. Впрочем, вроде бы раньше делается +N...
AC>> if line(".") < line("'z")
AC>> normal 'z2ddO
AC>> else
AC>> normal
AC>> 'zi
AC>> endif
mmho> потом-логика не совсем понятна - проверяем позицию курсора и сравниваем
mmho> текущую с запомненной-так?
Именно. Если в хедере было References:, то мы оказываемся в той строке. Hа
самом деле можно заведомо избежать ругани про отсутствие паттерна следующим
честным образом:
function PrepareMessage ()
let lineno = 1
let ref_found = 0
while match(getline(lineno),'^$') != -1
if match(getline(lineno),'^References: ') == 0
let ref_found = 1
break
endif
endwhile
if ref_found
normal 2ddO
else
normal i
endif
endfunction
И в au BufRead про соответствующие файлы делать
:call PrepareMessage()
--
Счастливо!
Ран.
--- ifmail v.2.14.os-p7 * Origin: Ran in PIRIT (2:5020/371.32@fidonet)