В Sublime Text 3, если я редактирую file.py
и печатаю, class
он автоматически создаст это для меня
class ClassName(object):
"""docstring for ClassName"""
def __init__(self, arg):
super(ClassName, self).__init__()
self.arg = arg
Если я редактирую файл C++, очевидно, это не то же самое. Как это сделать в vim? У меня уже есть, jedi-vim
это круто, но не делает этого.
решение1
фрагментыпохожи на встроенные :abbreviate
на стероидах, обычно с вставками параметров, зеркалированием и множественными остановками внутри них. Один из первых, очень известных (и до сих пор широко используемых) плагинов Vim — этоsnipMate(вдохновленоТекстовый помощникредактор); к сожалению, он больше не поддерживается; хотя естьвилкаСовременная альтернатива (хотя и требующая Python) — этоUltiSnips. Есть еще, см.этот список на Vim Tips Wiki.
Необходимо оценить три вещи: во-первых, возможности самого движка сниппетов, во-вторых, качество и объем сниппетов, предоставленных автором или другими лицами, и в-третьих, насколько легко добавлять новые сниппеты.