Vim: сделать что-нибудь в функции на основе символа под курсором?

Я пишу функцию, которая редактирует определенное окружение в LaTeX.

Окружение в основном выглядит так:

\begin{quicktikz}
    ...some stuff...
\end{quicktikz}

или так:

\begin*{quicktikz}
    ...some stuff...
\end{quicktikz}

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

  1. Получить позицию курсора с помощью let save_cursor = getpos (".")
  2. Обратный поиск для \ begin {quicktikz} используя: ? \\ begin {quicktikz} \ | \\ begin \ * {quicktikz}
  3. Найдите { и переместитесь влево, используя: нормальный 0f {h
  4. Проверить, равен ли элемент под курсором *
    • , если он выполняет нормальный x
    • , если он не выполняет нормальный a *
  5. Восстановите положение курсора с помощью call setpos ('.', Save_cursor)

Я знаю, как сделать все это, кроме шага 3. Как проверить, равен ли символ под курсором * или нет?

Если вы знаете, как это лучше сделать, мы будем рады поделиться этим.

6
задан ib. 28 September 2011 в 06:16
поделиться