sublime text的高亮是它的一大特色,让程序员看得赏心悦目。但是当我们需要将代码复制到word或博客中时却发现高亮没了,只剩下白底黑字的文字。这里就说一下如何复制才能保留高亮。
你需要的插件是SublimeHighlighter
一般来说这个插件无法在sublime text的仓库中直接搜到,这里需要先添加仓库。方法为:点击菜单栏中首选项(preference)->Package Control,在弹出页面中点击Add Repository,然后在下面的输入栏中输入如下网址:
https://github.com/n1k0/SublimeHighlight/tree/python3
稍等一会儿即可添加成功。此时再点击菜单栏中首选项(preference)->Package Control,在弹出页面中点击Install Package,搜索sublilmehighlight即可找到这个插件,点击安装就可以了。
以上的方法需要科学上网,如果条件不允许还可以直接下载包(点击打开链接),然后点击菜单栏中首选项(preference)->浏览插件目录(Browse Packages),将下载的zip文件解压到插件目录下即可。
使用方法
点击菜单栏中首选项(preference)->Package Settings->SublimeHighlight->Settings-User,将以下代码复制到打开文件中并保存:
{
"theme": "monokai",
"linenos": "inline",
"noclasses": true,
"fontface": "Menlo"
}
这样配置就完成了。
使用的时候,选中需要拷贝的文字,右键选择复制为HTML,就可以在word中粘贴了。效果如下:
有的博主推荐用RTF的方式复制到word里,但是我这里会乱码,改了编码也不行,也许是office版本的问题。
在上述的配置文件中可以修改主题,字体等。
主题字段(theme)
这里可以使用的主题有:
autumn
borland
bw
colorful
default
emacs
friendly
fruity
manni
monokai
murphy
native
pastie
perldoc
rrt
tango
trac
vim
vs
用以上的主题名称代替配置文件中的theme字段值即可。
以下是原作者提供的一些示例:
你也可以使用自己的主题文件,方法是将_theme_.py拷贝到Packages/Highlight/pygments/styles中,然后将你的主题添加到位于SublimeHighlight/pygments/styles/__init__.py文件的STYLES_MAP键值对中。举例如下:
# Maps style names to 'submodule::classname'.
STYLE_MAP = {
'default': 'default::DefaultStyle',
'mytheme': 'mytheme::MyThemeStyle',
}
行号字段(linenos)
可以使用的行号设置有"table"、"inline"和false。其中默认值是false。它们分别是:以表格形式添加行号、将行号添加至行内、不添加行号。这里需要注意的是false是不加引号的。
行内风格字段(noclasses)
只有true和false两种取值,可以用内联风格而不是CSS类来处理HTML代码。
字体字段(fontface)
可以设置为电脑上已经有的字体。需要注意的是,它只对RTF输出有效!
设置快捷键的方法
因为ctrl+C依然是普通的复制方法,所以如果需要使用该插件就需要右键->点击复制格式才行。为了更加方便,这里介绍设置快捷键的方法。
点击菜单栏中首选项(preference)->快捷键设置(Key Bindings),在弹出文件中粘贴以下代码:
[
{
"keys": ["ctrl+shift+c"],
"command": "sublime_highlight",
"args":
{
"target": "clipboard",
"output_type": "html"
}
},
]
如果之前设置过别的快捷键,就在最后一个快捷键最外面的大括号后面加上逗号,然后粘贴以上代码的大括号部分即可,不需要粘贴方括号。操作如下:
这样设置以后就可以用ctrl+shift+C将代码以HTML形式拷贝到剪贴板里了。
其中参数部分的各个字段的含义为:
目标(target)——选择复制位置
- sublime:复制到新的sublime text标签页中。
- external:复制到新的外部文件中。
- clipboard:复制到系统剪贴板中。
输出方式(output_type)——选择输出格式
- rtf:以RTF格式输出。
- html:以HTML格式输出。
尽情享受吧!