Как привязать замену строки к команде в Light Table

Моя работа требует, чтобы мы использовали левые и правые двойные кавычки при наборе документации. Я хочу использовать документы в стиле LaTeX, потому что я часто пишу статьи в LaTeX и уже печатаю их автоматически.

Я новичок в clojure, но мне удалось найти это:

(def mystring "``quoted string''")
(clojure.string/replace mystring #"``|''" {"``" "“" "''" "”"})

Это выведет:

“quoted string”

Поэтому я хочу связать эту функциональность с командой, используя привязки клавиш. Я собирался спросить, как связать вышеуказанную команду. Но затем я прочитал немного о том, как стандартные библиотеки clojure не так хорошо интегрируются с LightTable: -plugins">Как интегрировать библиотеки (clojars) в плагины Lightable

Я продолжаю читать о регулярных выражениях. Есть ли способ применить регулярное выражение ко всему файлу?

Я думаю, что я напечатаю документ, а затем в какой-то момент нажму (ctrl-i) или что-то еще, и он автоматически заменит символы LaTeX на нужные символы моей работы.

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


person Darrell    schedule 23.05.2015    source источник
comment
Какую версию светового стола вы используете? Если это позже, чем .5 или .7, я определенно могу помочь вам с этим.   -  person Adam    schedule 23.07.2015
comment
Я использую 0.7.2 на данный момент. В качестве альтернативы этому может быть включено автоматическое закрытие и функция для двойной левой кавычки и двойной правой кавычки. Но мне все равно нужно сопоставить конкретный ключ с двойной левой кавычкой. Я не совсем согласен с удерживанием клавиши Alt и вводом четырех цифр. :)   -  person Darrell    schedule 06.08.2015
comment
На данный момент я остановился на этой привязке клавиш в качестве обходного пути: [:editor ` (:editor.open-pair "")] Это связывает обратную кавычку с выполнением пары двойной левый и двойной правый. Я пытался использовать открытую пару и близкую пару, но близкая пара никогда не работала.   -  person Darrell    schedule 06.08.2015
comment
Если у вас есть дополнительные вопросы, просто дайте мне знать, какую версию Lighttable вы используете. В противном случае вы должны ответить на свой вопрос и принять его.   -  person Adam    schedule 06.08.2015


Ответы (1)


Решение, которое я использовал, - это следующая привязка клавиш:

[:editor "ctrl-shift-q" (:editor.open-pair "“”")]

Когда я нажимаю комбинацию клавиш, в данном случае control-shift-q, она опускает двойную кавычку влево и двойную кавычку в документ с моим курсором посередине.

Я бы все же предпочел иметь что-то, что заменяло бы любую двойную обратную кавычку "``" на двойную левую кавычку и любой двойной апостроф "''" на двойную правую кавычку, но пока это прекрасно работает.

person Darrell    schedule 26.08.2016