【问题标题】:Show info about current character in status bar in Sublime Text 2在 Sublime Text 2 的状态栏中显示有关当前字符的信息
【发布时间】:2014-02-27 08:50:31
【问题描述】:

我缺少其他文本编辑器经常提供的一项有用功能。在底部状态栏中,它们显示当前字符的 ASCII 和 UTF 代码 - 当前位置之前或之后的字符(现在不确定)。我找不到执行此操作的包或执行此操作的本机功能。

感谢您的帮助。

【问题讨论】:

    标签: character sublimetext2


    【解决方案1】:

    我为此做了一个插件:)

    在您的Packages/User/ 目录中创建一个anyname.py 文件。

    import sublime, sublime_plugin, textwrap, unicodedata
    
    class utfcodeCommand(sublime_plugin.EventListener):
        def on_selection_modified(self, view):
            # some test chars = $ €
            sublime.status_message('Copying with pretty format')
            selected = view.substr(view.sel()[0].a)
            char = str(selected)
            view.set_status('Charcode', "ASCII: " + str(ord(selected)) + " UTF: " + str(char.encode("unicode_escape"))[2:-1])
    

    这应该会在插入符号右侧字符的状态栏中显示 ASCII 和 Unicode 代码。

    告诉我这是否适合您,在 Kubuntu Linux 12.04 x64 上使用 ST3 进行了测试。 由于 Python 版本不同,可能无法在 ST2 上运行。

    【讨论】:

    • 很抱歉没有显示任何内容。除了创建文件之外还需要采取什么措施吗?我想不是。
    • 是的,这是您唯一需要的。 ST 自动运行它。查看您的 ST 控制台中是否显示任何错误。否则,您将不得不等待我或其他人在 ST2 上对此进行测试。
    • Packages/User 应该是您的本地人。你可以点击Tools/New Plugin...然后保存...
    • 这应该被释放。
    • @VajkHermecz 我认为这不是很有必要,如果你愿意,你可以做一个包,我不介意。你是什​​么意思它会覆盖默认内容?它为我将其附加到状态栏的内容
    【解决方案2】:

    这是一个这样的插件,它以十进制显示字符代码:Show Character Code

    简单的 Sublime Text 插件,用于在状态栏中显示当前字符的十进制代码

    虽然它只显示字符代码的十进制值

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • 链接不仅仅是一个 URL,它还有文本,在这种情况下是插件的名称。如果 URL 发生变化,这允许稍后搜索它。注意 OP 要求一个包裹,这是一个包裹的名称和位置;这不像我可以将整个包复制并粘贴到答案中。 (如果更新软件包,那将无济于事。)当我问与 OP 相同的问题时,我会很高兴找到这个答案。
    【解决方案3】:

    我在使用 Sergey Telshevsky 在 ST2 / Python 2.7 中发布的代码时遇到了几个问题:

    由于# some test chars = $ €,我得到了SyntaxError: Non-ASCII character '\xe2' in file ./display_character_code.py on line 7 - 删除此注释掉的代码,或在 Python 代码的顶部声明字符编码,例如# -*- coding: UTF-8 -*- 摆脱了错误。在选择样本“€”时,我也得到了UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac'(因为它不是 ASCII 字符)。即使在修复了这些问题之后,Unicode 密钥也从未显示过;例如状态栏显示ASCII: 123 UTF:。所以我修改了他的例子并提出了以下内容:

    import sublime_plugin
    
    class statusCharCodes(sublime_plugin.EventListener):
        def on_selection_modified(self, view):
            selected = view.substr(view.sel()[0].a)
    
            try: 
                ascii = str(ord(selected.encode("ascii"))).zfill(3)
            except: 
                ascii = "n/a"
    
            try:
                utf = "U+" + str(format(ord(selected),"x")).zfill(4).upper()
            except: 
                utf = "n/a"
    
            view.set_status("Charcode", "ASCII: " + ascii + " UTF: " + utf)
    

    示例输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-02
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 2016-09-25
      相关资源
      最近更新 更多