如何将字符串替换绑定到 Light Table 中的命令

How to tie a string replace to a command in Light Table

我的工作要求我们在输入文档时使用左右双引号。我想用 LaTeX 风格的,因为我经常用 LaTeX 写论文,而且我已经自动打字了。

我是 clojure 的新手,但确实找到了这个:

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

这将输出:

“quoted string”

所以我想使用键绑定将此功能绑定到命令。我正要问如何绑定上面的命令。但是后来我读到了关于标准 clojure 库如何不能很好地与 LightTable 集成的内容:How to integrate libraries (clojars) into Lightable plugins

我一直在阅读有关正则表达式的内容。有没有办法在整个文件中应用正则表达式?

我在想的是,我将输入文档,然后在某个时候,点击 (ctrl-i) 或其他任何方式,让它自动将 LaTeX 字符替换为我工作所需的字符。

如果可以在我打字时自动替换它们,那就太棒了。但我是新手,所以要循序渐进。

我最终使用的解决方案是以下键绑定:

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

当我按下组合键时,在本例中为 control-shift-q,它会将左双引号和右双引号放到文档中,我的光标在中间。

我仍然希望有一些东西可以用左双引号代替任何双反引号“``”,用右双引号代替任何双撇号“''”,但现在效果很好。