首页 > 技术文章 > sublime使用总结

tangxiaosheng 2016-04-12 17:36 原文

1. graphviz:
我把graphviz文件扩展名定为.gv,sublime不能识别。我就下载了插件:syntaxManager,参考https://packagecontrol.io/packages/Syntax%20Manager。

然后在Preference->syntaxManager中:

{
    "syntaxmgr_settings": [
        {
            // platforms, can be osx, windows or linux
            "platforms": ["linux", "windows"],
            "settings": {
                "font_size" : 14
            }
        },
        {
            // apply this setting when first line matches
            // be careful that it is not a list but a string
            "first_line_match": "#!/.*?/sh",
            "settings": {
                // the syntax can be identified by running
                //
                //     view.settings().get("syntax")
                //
                // at sublime console (ctrl + ` )
                //
                "syntax" : "Packages/ShellScript/Shell-Unix-Generic.tmLanguage"
            }
        },
        {
            // the scope of the document can be obtained by pressing
            // cmd+alt+p (mac) or ctrl+alt+shift+p (linux / windows)

            // for c and python files
            "scopes": ["source.c", "source.python"],
            "settings": {
                "trim_trailing_white_space_on_save_scope" : true,
                "auto_match_enabled" : true
            }
        },
        {
            // all text files
            "scopes": ["text"],
            "settings": {
                "spell_check": true,
                "color_scheme": "Packages/Color Scheme - Default/Twilight.tmTheme"
            }
        },
        {
            // use latex syntex for these extensions
            // make sure the syntax is applied first and then the settings
            "extensions": ["ltx", "latex", "l"],
            "settings": {
                "syntax": "Packages/LaTeX/LaTeX.tmLanguage"
            }
        },
        {
            // for all text files, excluding latex files
            "scopes": ["text"],
            "scopes_excluded": ["text.tex"],
            "settings": {
                "spell_check": false
            }
        }
    ]
}

其中增加一段 :

//"first_line_match": ["digraph", "graph"],
"extensions": ["gv", "dot"],
"settings": {
// the syntax can be identified by running
//
// view.settings().get("syntax")
//
// at sublime console (ctrl + ` )
//
"syntax" : "Packages/Graphviz/DOT.tmLanguage"
}

"first_line_match": ["digraph*", "graph*"]”不起作用。
因为first_line_match的语法不清楚,所以只能用extensions。

2. sublimeTmpl增加对erlang的支持

主要参考http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/.

我是在sublime3里添加支持,需要在sublimetmpl->settings-users中,添加:

"disable_keymap_actions": false, // "all"; "html,css"
"date_format" : "%Y-%m-%d %H:%M:%S",
"attr": {
"author": "tangjian",
"email": "jian.tang@ergchina.com",
"link": "http://example.org"
}

"Packages/test/test.tmLanguage"对于sublime3来说,值得是c:\users\<name>\roaming\..下的路径. sublime3对erlang是压缩的,我懒得解压缩,从sublime2下拷贝 erlang.tmLanguage到恰当的位置.

新增开始菜单: 可以在SublimeTmpl / Settings - Menu ....

sublime3下无法对...\roaming\...下的文件修改,于是用notepad++编辑该文件,最后测试,成功显示.

3. sublime出现混乱

因为sublim3不断要求注册,感到烦,回头接着用sublime2,结果发现老是报错,有点erlang文件不予以语法颜色提示,折腾了一些办法,把erl语法加入到syntax manager中(和erlang重复了),发现不行,卸掉syntax manager,还是不行. 安装,结果出现了sublimerl可以安装的信息,安装, 结果erl文件可以正常显示了. 但是graphviz的.gv文件不能正常显示,那么安装syntax manager, 于是一切正常了.

修改编译选项

尝试用rebar,配置rebar的路径后,发现实际不起作用。但是直接用erlang的话,编译出来的.beam和.erl在一个目录下,而且没有加+debug_info选项,对erlang\erlang.sublime-build进行修改,只改了第一行,修改后:

{
"cmd": ["erlc", "+debug_info", "-o", "..\\ebin", "$file"],
"file_regex":"^([^:]+):(?:([0-9]+):)?(?:([0-9]+):)? (.*)",
"selector": "source.erlang, source.yecc, source.leex"
}

先前第一行是 "cmd": ["erlc", "+debug_info -o, ..\\ebin", "$file"], 结果提示出错。

 

推荐阅读