2016-09-15 2 views
0

Я использую атом в качестве основного редактора для .tex документов. Особенность, которая дает пакет-матчер, который мне очень нравится, заключается в том, что он автоматически вставляет закрытие}, каждый раз, когда я вхожу в открытие {. Я хотел бы добавить подобную функцию для $, так как часто использую mathmode в латексе. Где я могу это добавить? Я не хочу добавлять его в фрагмент, где мне нужно будет нажать вкладку для появления другого $. Я просто хотел бы, чтобы второе закрытие $ было автоматически добавлено (после моего курсора), когда я его открываю. Если это можно сделать с настройкой, которая делает его включенным только в .tex-файлах, это было бы здорово.Где я могу добавить свои собственные фрагменты автозаполнения в редакторе атомов?

ответ

2

Поскольку стандартный сниппет не запускается при одном нажатии клавиши, вам придется решить эту проблему программно. Вам нужно будет отредактировать следующие два файла.

i. Сценарий инициализации (init.coffee или init.js):

atom.commands.add 'atom-text-editor', 'custom:insert-dollar-pair', -> 
    snippetBody = '\$ $1 \$$0' 
    atom.packages.activePackages.snippets?.mainModule?.insert snippetBody 

II. Раскладка (keymap.cson или keymap.json):

'atom-text-editor[data-grammar="text tex latex"]': 
    '\$': 'unset!' 
    '\$': 'custom:insert-dollar-pair' 

PS: Я думаю, что вы даже не придется бежать знак доллара, но это делает для хорошего визуального разделения.

+0

Да, именно так у меня есть это, и хотя это быстрее, чем просто набирать $ вручную в конце каждый раз, я бы хотел, чтобы программа автоматически добавляла его в любое время, когда я вводил $. – Devilius

+1

См. Мой пересмотренный ответ – idleberg