V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
bearzx
V2EX  ›  Python

Sublime Text 2 对 Python Raw String 的高亮 Bug

  •  
  •   bearzx · 2014-06-12 17:34:54 +08:00 · 4028 次点击
    这是一个创建于 3847 天前的主题,其中的信息可能已经有所发展或是发生改变。
    相信不少人都遇到过这个问题吧,比如我有

    s = r'\filepath\a\b\c\d'

    这么个raw字符串,Sublime就没法正确高亮,这是个很难的task么。。。都到Sublime 3了还有这么个bug。

    各位大大都是怎么解决的?
    18 条回复    2014-06-16 11:15:40 +08:00
    Kabie
        1
    Kabie  
       2014-06-12 19:15:18 +08:00
    怎么不对了。。。我没看出来……

    你至少贴个图说明怎么样才应该对吧。。。
    chaoskmg
        2
    chaoskmg  
       2014-06-12 19:38:43 +08:00
    你是指加了r之后后面的\f \a这些就不应该显示为转义字符的颜色?
    wangxinyu
        3
    wangxinyu  
       2014-06-12 21:34:58 +08:00
    我觉的没什么啊,楼主多虑了吧
    bearzx
        4
    bearzx  
    OP
       2014-06-12 21:55:25 +08:00
    @Kabie
    @chaoskmg
    @wangxinyu
    https://farm6.staticflickr.com/5559/14405572105_9d47f7de1a_s.jpg

    真的不觉得奇怪么。。。
    倒是不影响使用,但是看着感觉很不爽
    bearzx
        5
    bearzx  
    OP
       2014-06-12 22:00:21 +08:00
    话说v2ex不是这么贴图么。。。

    bearzx
        6
    bearzx  
    OP
       2014-06-12 22:00:32 +08:00
    原来只能是新浪的图。。。
    bearzx
        7
    bearzx  
    OP
       2014-06-12 22:00:49 +08:00   ❤️ 1
    @chaoskmg 对的。
    Kabie
        8
    Kabie  
       2014-06-13 10:59:32 +08:00
    。。。哦这个……

    主要加了r之后默认会当成正则来高亮。。。所以就这样了……
    bearzx
        9
    bearzx  
    OP
       2014-06-13 12:24:43 +08:00
    @Kabie 我很奇怪这么明显的bug怎么这么久都没修复。。。
    Kabie
        10
    Kabie  
       2014-06-13 13:52:26 +08:00
    @bearzx 都说了不是bug了…………
    bearzx
        11
    bearzx  
    OP
       2014-06-14 10:31:23 +08:00
    @Kabie 但至少这也是开发过程中应该考虑的事情吧,显然这个不是用户希望看到的高亮结果
    bearzx
        12
    bearzx  
    OP
       2014-06-14 10:31:52 +08:00
    @Kabie 不叫bug叫什么。。
    Kabie
        13
    Kabie  
       2014-06-14 11:04:24 +08:00
    @bearzx 但是这就是一般人希望的结果啊……通常也就用正则的时候会用r吧
    ehs2013
        14
    ehs2013  
       2014-06-14 20:24:29 +08:00
    我也认为这是bug,写 Windows 下的路径的时候总不能总 '\\',r'\' 还是很方便的
    bearzx
        15
    bearzx  
    OP
       2014-06-14 22:19:15 +08:00
    @Kabie 还有用windows路径的时候。一般人希望的结果应该是加了r就不要把转义高亮了,因为本来加了r就不转义了。。。不加r才需要那种高亮效果。
    Kabie
        16
    Kabie  
       2014-06-16 10:16:38 +08:00
    @ehs2013 @bearzx 任何路径都应当用 '/'…… 除非你要输出。。。
    bearzx
        17
    bearzx  
    OP
       2014-06-16 10:22:39 +08:00
    @Kabie 那是linux/unix情况下。
    试考虑这个scenario:你经常需要使用windows下面非常深的目录,然后一般都是用文件浏览器点到那个地方直接从路径栏copy路径,然后那个路径出来的分隔符就都是'\'的。你会有心情每次都转换成'/'的嘛,反正我要是一天需要做100次这样的事情我更倾向于直接用'\'那种的。

    当然在linux/unix下面因为本来路径就都是'/'分割的所以天然没有这个问题。
    Kabie
        18
    Kabie  
       2014-06-16 11:15:40 +08:00
    @bearzx 好吧……2种解决方法……

    1. 自己改一个Python.tmLanguage……把正则规则去掉就行了……
    2. 写一个简单的插件……一键切换 '/' 和 '\\'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:40 · PVG 21:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.