加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Sublime Text 3 – Clean Paste

发布时间:2020-12-16 21:49:52 所属栏目:Python 来源:网络整理
导读:Sublime Text 3看起来很棒,但是一个阻止我切换的项目是Clipboard Commands的兼容性.我唯一使用这个插件的是“clean_paste”功能,它基本上粘贴了从Microsoft Word(或任何其他文本)复制的内容编辑)去掉它通常带来的有趣人物.有没有人知道ST3提供的本机功能,我

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'

我已经分叉了链接的插件并上传了更改here

在sublime3中测试它似乎工作,但没有测试用例我将留给你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读