我使用SublimeText3并尝试更改SublimeREPL Shell的颜色,因为它全部为白色。那可能吗?或者是否可以使用系统提示中的颜色,如PS1=''
?我在ubuntu上运行。我还没有找到解决方案。
答案 0 :(得分:4)
我假设您正在尝试为SublimeREPL shell中的提示添加颜色 - 如果您希望语法突出显示您键入的命令,只需将语法更改为Shell Script (Bash)
。要永久执行此操作,请打开Packages
文件夹( Preferences -> Browse Packages...
),浏览到SublimeREPL/config/Shell
,然后打开Main.sublime-menu
作为JSON文件。第26行包含"syntax"
设置;只需将值更改为"Packages/ShellScript/Shell-Unix-Generic.tmLanguage"
,保存文件,下次启动时将应用语法。
但是,如果您只是尝试为提示设置颜色,那么您将需要做更多的工作 。首先,您必须为要突出显示的提示的各个部分创建自定义.tmLanguage
语法定义文件,创建scopes,然后您需要更改颜色方案{{1}实际调整范围的文件。 (如果您使用的是ST3 dev builds且Build 3084或更新版本,您还可以使用新的基于YAML的.sublime-syntax
格式,而不是基于XML的.tmTheme
格式。)
如果您没有使用开发构建,编写语法定义的最佳方法是使用精彩的PackageDev
包。我维持一个替代 - 更好:) :) syntax definition for Python我很多更喜欢使用PackageDev的.tmLanguage
格式,你可以告诉它也是基于YAML,但是很长在新的“官方”.YAML-tmLanguage
格式之前,当然它们是不兼容的。但是,很容易将YAML-tmL转换为tmL再转换为sub-syn,所以没什么大不了的。
但是,正如我所说,语法定义的内容将根据提示的确切结构以及您要对其进行的操作而有所不同。对于以下示例,我假设您具有默认的Ubuntu .sublime-syntax
提示符。要创建新的语法定义,请在安装PackageDev后选择 user@hostname:/present/working/directory$
,然后您将获得以下内容:
Tools -> Packages -> Package Development -> New Syntax Definition
第一行是必需的,不要乱用它。您可以根据需要制作# [PackageDev] target_format: plist, ext: tmLanguage
---
name: Syntax Name
scopeName: source.syntax_name
fileTypes: []
uuid: 7e1549b3-fb0b-44fc-a153-78a7fc2157c2
patterns:
-
...
。 name
显然是基本范围的标识符,可能类似于scopeName
。 source.shell.prompt
可以留空,fileTypes
也可以单独使用。
如果您想了解这些文件应该如何工作,请随时查看Github上的PythonImproved.YAML-tmLanguage
,并使用有关该主题的Sublime Text非官方文档page以及reference。 PackageDev的README还有一些信息。
我会让你开发其余的正则表达式,但是这里有一个用于匹配用户名来开始:
uuid
您可以看到它正常工作here。
完成# [PackageDev] target_format: plist, ext: tmLanguage
---
name: Shell Prompt
scopeName: source.shell.prompt
fileTypes: []
uuid: 7e1549b3-fb0b-44fc-a153-78a7fc2157c2
patterns:
- name: meta.username.prompt
match: ^([A-Za-z_][A-Za-z0-9_-]{0,31})(?=@)
...
后,保存文件,打开命令面板,然后选择.YAML-tmLanguage
。这将构建PackageDev: Convert (YAML, JSON, PList) to...
文件并将其放在与.tmLanguage
文件相同的目录中。如果它不在.YAML-tmLanguage
目录树下,请将其复制到Packages
目录,然后按照第一段中的说明修改Packages/User
文件。最后,打开您的配色方案的Main.sublime-menu
文件并对其进行编辑,以添加新语法中定义的范围。保存它,重新启动Sublime以获得良好的衡量标准,你应该全力以赴!