2
我想this plugin从崇高文本2转换为崇高的文本3,但我一直运行到这个错误崇高的文本3插件,去掉引号,
File "/Users/macintoshhd/Library/Application Support/Sublime Text 3/Packages/magiclessquotesjon.py", line 17, in on_pre_save
edit = view.begin_edit()
TypeError: begin_edit() missing 2 required positional arguments: 'edit_token' and 'cmd'
我知道,API版本之间和改变,因此是porting guide,但我仍然不确定如何获得正确的TextCommand或如何使用它。
插件代码在这里:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = "Daryl Tucker"
import sublime, sublime_plugin
class RemoveMagicFromMagic(sublime_plugin.EventListener):
def on_pre_save(self, view):
replacements = [
[u'[’‘`]{1}',u'\''],
[u'[“”]{1}',u'"'],
[u'[…]{1}',u'...'],
[u'[—]{1}',u'---'],
[u'[–]{1}',u'--'],
[u'[•]{1}',u'*'],
[u' & ',u' & '],
]
edit = view.begin_edit()
for replacement in replacements:
x = view.find_all(replacement[0])
for position in x:
view.replace(edit, position, replacement[1])
view.end_edit(edit)
供您参考:我遇到了一个类似的问题:收到了极好的__ [解决方案](https://forum.sublimetext.com/t/solved-issue-using-edit-objects-recursively/18400)__在Sublime Text论坛上,我现在非常喜欢使用'edit'的标准方法对象。这是线程中提到的解决方案的__ [工作版本](https://gist.github.com/Enteleform/8b46387a5e0d9341fc88)__。它的实现如下:'edit = Edit(view)'&'edit.replace(region,text)' – Enteleform