Как мне избежать символов в аббревиатуре vim? - PullRequest
1 голос
/ 05 июня 2019

Я пытаюсь сделать это сокращение в моем Vimrc для редактирования уценки:
iabbrev ,,img ![<alt-text>](<img-link>)

Я думаю, что здесь нужно избегать скобок, но я не уверен, как избежать этихсимволы без включения символа escape в сокращение.
Что мне делать?

Ответы [ 2 ]

3 голосов
/ 07 июня 2019

Сокращения имеют следующие формы (см. :h abbreviations):

There are three types of abbreviations:

full-id   The "full-id" type consists entirely of keyword characters (letters
      and characters from 'iskeyword' option).  This is the most common
      abbreviation.

      Examples: "foo", "g3", "-1"

end-id    The "end-id" type ends in a keyword character, but all the other
      characters are not keyword characters.

      Examples: "#i", "..f", "$/7"

non-id    The "non-id" type ends in a non-keyword character, the other
      characters may be of any type, excluding space and tab.  {this type
      is not supported by Vi}

      Examples: "def#", "4/7$"

,,img не может быть full-id, поскольку начинается с ,. Это не может быть end-id, так как все остальные символы должны быть не ключевыми словами. Это также не может быть non-id.

Я бы порекомендовал изменить ваши сокращения. например img,,

1 голос
/ 05 июня 2019

В моих попытках воспроизвести вашу проблему я обнаружил, что vim выдает ошибку из-за двух запятых в левой части вашего сокращения: ,,img.

Это работает для меня:

iabbrev img ![<alt-text>](<img-link>)
iabbrev __img ![<alt-text>](<img-link>)

пока это:

iabbrev ,,img ![<alt-text>](<img-link>)

выдает ошибку:

E474: неверный аргумент

...