Sublime Text 3看起来很棒,但是一个阻止我切换的项目是Clipboard Commands的兼容性.我唯一使用这个插件的是“clean_paste”功能,它基本上粘贴了从Microsoft Word(或任何其他文本)复制的内容编辑)去掉它通常带来的有趣人物.有没有人知道ST3提供的本机功能,我可以将键绑定映射到?这是ClipboardCommand所做的(在ST2版本中):
class ClipboardCommandsPastePlainText(sublime_plugin.TextCommand):
def run(self,edit):
copy(clean_paste(clipboard()))
self.view.run_command('paste')
一般来说可能更多的是Python问题,但你也可以创建自己的键绑定,这个基本上只引用该命令:
"caption": "Clipboard: Paste Plain Text","command": "clipboard_commands_paste_plain_text"
因此,如果命令是我可以将该函数放入那个很好的命令,但不确定它在Python中是如何工作的.谢谢你的帮助!
最佳答案
没有太多工作使这个python 3兼容:
# coding=utf8
import sublime_plugin,sublime,re,html
def clipboard():
return sublime.get_clipboard()
def copy(data):
sublime.set_clipboard(data)
# to transfer data to sublime text
def clean_paste(data):
# clean word
data = str(data)
data = data.replace(u'”','"').replace(u'“','"').replace(u'’',"'")
data = data.replace('________________________________________','\n')
# clean htmlentities
data = re.sub('&([^;]+);',lambda m: unichr(html.entities.name2codepoint[m.group(1)]),data)
return data;
# to transfer data from sublime text
def clean_copy(data):
# clean html
data = str(data)
data = re.sub(r'
在sublime3中测试它似乎工作,但没有测试用例我将留给你.