Я хочу написать функцию, которая увеличивает / уменьшает размер текста LaTeX.Например, когда курсор находится над словом \ footnotesize , я хочу позвонить Tex_ChangeSize(-1)
, чтобы изменить его на \ small и Tex_ChangeSize(1)
, чтобы изменить его на \ normalsize .
У меня есть следующее:
function! Tex_ChangeSize(direction)
let sizes = ["tiny", "scriptsize", "footnotesize", "small", "normalsize", "large", "Large", "LARGE", "huge", "Huge"]
let cursize = index(sizes,expand("<cword>"))
if cursize != -1
"FIXME: replace current word under cursor with the following
echo sizes[cursize + a:direction]
endif
endfunction
imap <C-h> <C-o>:call Tex_ChangeSize(-1)<Enter>
imap <C-g> <C-o>:call Tex_ChangeSize(1)<Enter>
Чего я не знаю, так это как заменить слово под курсором (см. FIXME).Чтобы быть более точным: есть ли лучший способ, чем синтаксический анализ getline(line('.'))
и восстановление его с помощью setline()
?