После нескольких попыток и прочтения документации я не думаю, что это сопоставление возможно. Ссылаясь на :help abbreviations
:
Существует три типа сокращений:
full-id Тип «full-id» целиком состоит из ключевых слов (букв
и символы из опции 'iskeyword'). Это самый распространенный
сокращение.
Examples: "foo", "g3", "-1"
end-id Тип "end-id" оканчивается символом ключевого слова, но все остальные
символы не являются ключевыми словами.
Examples: "#i", "..f", "$/7"
non-id Тип «non-id» оканчивается символом без ключевого слова, другой
символы могут быть любого типа, кроме пробела и табуляции. {этот тип
Vi не поддерживается}}
Examples: "def#", "4/7$"
Примеры строк, которые не могут быть сокращениями: "a.b", "#def", "a b", "_ $ r"
Таким образом, такое сокращение, как <script
, кажется невозможным. Конечно, вы можете определить аббревиатуру для script
следующим образом:
:inoreabbrev script <script type="text/javascript"></script>
Таким образом, открывающая скобка не является частью аббревиатуры и поэтому не требуется в расширении . Единственная проблема заключается в том, что вы должны быть осторожны, когда хотите написать текст script
. В этом случае вы должны выйти из режима вставки в середине слова или набрать script<C-V><space>
.
Еще одна полезная уловка для размещения курсора между тегами - это отображение, подобное этому, которое переходит назад к предыдущей открывающей скобке:
:inoreabbrev script <script type="text/javascript"></script><C-O>F<
Или разместить теги на разных строках с курсором между ними:
:inoreabbrev script <script type="text/javascript"><CR></script><C-O>O