简介

说到最好用的编辑器,首推Sublime,感觉比notepad++胜出无数倍,支持 Windows 及 Mac 等多平台。类似于 Eclipse,IDEA,有着丰富的插件系统,完全可以满足各种编辑、开发需求。

强烈建议安装或者升级到最新版,体验不要太好。

安装

​官网​​下载最新版,如exe安装文件。安装完是试用版,即没有破解的,破解方法:输入 license,新版本的Sublime一般不易找到可用的 license。

Sublime通过 package control来统一管理安装的插件。新版本的Sublime 3,在激活之后默认就自带package control功能,无需自己安装。实际上要安装 package control功能也是非常简单的:
打开 view-show console,打开一个类似于 terminal 的终端窗口,输入以下内容来安装 package control。

安装完成之后,关闭 sublime,重启。快捷键 Ctrl + shift + p调出插件安装小窗口,点击 install package,输入想要安装的插件,比如 gist,回车即可。

基本功能

Sublime自带代码格式化功能:Edit -> Line -> Reindent。
自带的代码格式化工具不够用,如Json或者xml内容,如果希望看到格式化之后的目录层级一目了然的展示内容,也是可以安装插件的,如indent xml。有些插件并不能在 package control 里面查询到,此时就需要另外一种安装插件的方式,输入插件的地址。

快捷键

Alt +Shift + 2,会变成左右两个窗口,实现多窗口编辑。
Ctrl + shift + t:打开最近关闭的文件,和 Chrome 类似,快捷键是通用的;

多行/点编辑
Ctrl + D:选中一个单词,按此快捷键可以同时选中相同的单词;
Ctrl +Shift + L:先选中多行,再按下快捷键,可使用批量编辑功能,一般适用于类似 excel 或者 csv 这样格式统一的文本;
ctrl + 双击click: 单击想要编辑的每一个地方,都将创建一个光标
ctrl + shift + f 和 alt + enter: 在你的文件查找一个文本,然后将其全部选中
ctrl+l 选中整行,继续操作则继续选择下一行,效果和 shift+↓效果一样。
ctrl+alt+↑或 ctrl+alt+鼠标向上拖动向上添加多行光标,可同时编辑多行。
ctrl+alt+↓或 ctrl+alt+鼠标向下拖动向下添加多行光标,可同时编辑多行。
shift+↑向上选中多行。
shift+↓向下选中多行。

文本比较

工作中,不可避免需要比较两个文本的差异。简单的文本比较:

  1. 在线工具,​​diffchecker​
  2. Sublime插件 compare side by side。

拓展:对于复杂的,涉及到十几个文件,文件夹深至三四层,几百个乃至上千个文件的大型项目的文本比较,最好用的文本比较工具,beyond compare 当之无愧。参考文章​​beyond compare使用​​

插件推荐

  1. Package Control
    包管理器,有超过2000多个包,也可以添加 GitHub 仓库包;自动检查版本更新;
  2. Sublime Enhancement
    Sublime Linter includes lots of new features and provides enhancements to the operations on Sidebar of Files and Folders for Sublime, Provides the basics: new file/folder, edit, open/run, reveal, find in selected/parent/project, cut, copy, paste, paste in parent, rename, move, delete, refresh, allows to display “file modified date” and “file size” on statusbar and many more.
  3. Live Reload
    Live Reload is a web browser page reloading plugin for the Sublime Text 3 editor. With this plugin you don’t need to refresh your browser each time you make the changes to the file.
  4. Sublime Linter
    This plugin prevents syntax errors The key here is it can be run in background mode, so that as soon as you do something boneheaded, you will know about it. No save required.
  5. ApplySyntax
    ApplySyntax is a plugin for Sublime Text 2 and 3 that allows you to detect and apply the syntax of files that might not otherwise be detected properly. For example, files with the .rb extension are usually Ruby files, but when they are found in a Rails project, they could be RSpec spec files, Cucumber step files, Ruby on Rails files (controllers, models, etc), or just plain Ruby files.
  6. GIT & GitGutter & GIST:
    GIT,集成 git 插件,GitGutter 显示本地修改内容,类似 ​​​git status .​​效果,有一个指示器显示在行号的旁边,参考 idea 类似功能。GIST 是代码片段管理工具,可以连接到 GitHub gist 账户。
  7. Package Resource Viewer
    PackageResourceViewer lets you view, and edit packages that come from SublimeText easily. You can also extract package, which will copy it to the User folder so you can safely edit it.
  8. JSLint
    JSLint4Java (http://code.google.com/p/jslint4java/) is a java wrapper around the fabulous tool by Douglas Crockford, jslint. It provides a simple interface for detecting potential problems in JavaScript code. This project provide a plugin to add JSLint support for Sublime Text 2.
  9. Clipboard History
    Clipboard History plugin lets you Keep a history of your clipboard items. Let you paste them back in, as needed.
  10. SublimeFileDiffs
    Shows diffs between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. Can be configured to show diffs in an external diff tool.

Alignment
代码对齐,选中要调整的行,然后按 Ctrl+ Alt + A;

indent xml
pretty json
html-js-css prettify

进阶

Sublime安装 plantUML 工具

PlantUML 是一个快速创建UML图形的组件,常用于设计开发 uml 图。因为PlantUML是Java类库,需要具备 JDK 环境;无论是 Mac 还是 Windows 平台,要使用 plantUML 的画图功能,需要先安装graphviz(开源图片渲染库,可将 PlantUML 脚本转换为图片),对于 Mac 平台:​​brew install graphviz​​​ 在Sublime的默认包管理器仓库中,package control 里找不到 plantuml,所以需要自己输入配置源(概念都是互通的,类似于 npm)。
步骤:
快捷键 command + shift + p,输入 add repository 找到 Package Control:Add Repository,在下方出现的输入框中输入 https://github.com/jvantuyl/sublime_diagram_plugin.git, 然后回车等待安装完成,重启即可。
安装完成,对于一个 UML 文本(即包含在 @startuml和@enduml 之间的文本),快捷键 command + m,即可调出graphviz渲染器,完成文本内容的识别和渲染,最后绘图。

注意:不仅仅是有@startuml 和 @enduml就可以生成渲染图,还需要确保换行正确(没有换行信息,则报错:no @Startuml found)。

问题:command + m 快捷键在 Mac 平台默认是最小化的快捷键。
如何更改快捷键映射?
打开 Preferences -> Key Binding - User,添加一个快捷键:
​​​{"keys":["command+d"],"command":"display_diagrams"}​​ 配置成按住 Alt + d 来生成 PlantUML 图片。

Sublime text unable to load diagram plugin

报错信息如图:

Sublime Text入门使用教程_ide


由于我的ST3是安装中D盘下面,可以使用everything搜索​​sublime_diagram_plugin​​​,找到如下位置​​D:\Program Files\Sublime_Text3\Data\Packages\sublime_diagram_plugin​​​,找到并打开文本文件​​Diagram.sublime-settings​​:

{
// restart sublime to apply the changes
"viewer": "Preview", // Preview, QuickLook, EyeOfGnome, WindowsDefaultViewer
"check_on_startup": true,
"new_file": false, // generate new file each time
"output_format": "png", // valid values: png, svg, txt, utxt, latex
"charset": null // Can be "UTF-8" - to support non-latin text in diagram
}

按照示意,将键​​charset​​​的值​​null​​​修改为​​"UTF-8"​​,保存并重启ST3,但是还是相同报错,打开console查看error log:

Loading processor class: <class 'sublime_diagram_plugin.diagram.plantuml.PlantUMLProcessor'>
Detected 'D:\\Program Files\\Sublime_Text3\\Data\\Packages\\sublime_diagram_plugin\\diagram\\plantuml.1.2018.1.jar'
Version Detection:
b'PlantUML version 1.2018.01 (Mon Jan 29 02:08:22 GMT+08:00 2018)\r\n(GPL source distribution)\r\nJava Runtime: Java(TM) SE Runtime Environment\r\nJVM: Java HotSpot(TM) 64-Bit Server VM\r\nJava Version: 1.8.0_65-b17\r\nOperating System: Windows 10\r\nOS Version: 10.0\r\nDefault Encoding: GBK\r\nLanguage: zh\r\nCountry: CN\r\nMachine: johnny-pc\r\nPLANTUML_LIMIT_SIZE: 4096\r\nProcessors: 4\r\nMax Memory: 3,791,650,816\r\nTotal Memory: 257,425,408\r\nFree Memory: 250,394,240\r\nUsed Memory: 7,031,168\r\nThread Active Count: 1\r\n\r\nThe environment variable GRAPHVIZ_DOT has not been set\r\nDot executable is null\r\nError: No dot executable found\r\nError: only sequence diagrams will be generated\r\n'
PlantUML Smoke Check:
b'The environment variable GRAPHVIZ_DOT has not been set\r\nDot executable is null\r\nError: No dot executable found\r\nError: only sequence diagrams will be generated\r\n'
Unable to load processor: <class 'sublime_diagram_plugin.diagram.plantuml.PlantUMLProcessor'>
Traceback (most recent call last):
File "D:\Program Files\Sublime_Text3\Data\Packages\sublime_diagram_plugin\diagram\__init__.py", line 45, in setup
proc.load()
File "D:\Program Files\Sublime_Text3\Data\Packages\sublime_diagram_plugin\diagram\plantuml.py", line 121, in load
self.check_plantuml_functionality()
File "D:\Program Files\Sublime_Text3\Data\Packages\sublime_diagram_plugin\diagram\plantuml.py", line 153, in check_plantuml_functionality
raise Exception('PlantUML does not appear functional')
Exception: PlantUML does not appear functional
error: Unable to load diagram plugin, check console for details.
Traceback (most recent call last):
File "D:\Program Files\Sublime_Text3\Data\Packages\sublime_diagram_plugin\diagram\__init__.py", line 52, in setup
raise Exception('No working processors found!')
Exception: No working processors found!
Traceback (most recent call last):
OSError: [WinError 126] 找不到指定的模块。
Emmet: No need to update PyV8
OSError: [WinError 126] 找不到指定的模块。
warning: mnemonic w not found in menu caption 自动换行(W)
Traceback (most recent call last):
File "./python3.3/ctypes/__init__.py", line 431, in LoadLibrary
File "./python3.3/ctypes/__init__.py", line 353, in __init__
OSError: [WinError 126] 找不到指定的模块。

新建环境变量,指定​​%GRAPHVIZ_HOME%\bin​​。

IDE

可以把Sublime作为一个简单版的IDE来使用

Sublime搭建简单的go IDE

安装插件gosublime。快捷键Ctrl + b 打开一个类似 terminal 的窗口,运行go命令:​​go build main.go​​​ 或者仅仅只是查看结果:​​go run main.go​​。

Sublime搭建简单的Python IDE

按下Ctrl+b,点击python,即运行;
安装SublimeREPL插件
SublimeREPL支持各种语言解释器,方便我们在编辑器上编写完代码进行调试。
安装pep8或者pyflakes
在cmd命令行中 用pip命令安装:​​​pip install pep8​​ 安装 sublimelinter-pep8 或者 sublimelinter-pyflakes ,对应上面安装的pep8或者pyflakes

Sublime搭建简单Java IDE

Sublime搭建脚本编辑调试开发环境

Sublime搭建前端IDE

JSDoc,DocBlockr,文档注释插件,根据这些注释输出标准化的 API 文档,

JSHint Gutter:JS 语法检查工具,设置​​lint_on_edit=true​​,给出错误提示。

问题

中文字体显示异常

问题如下图:

Sublime Text入门使用教程_快捷键_02


解决方法:换字体,程序员的字体各有所爱,个人比较偏好Yahei Consolas Hybrid,显而易见是两种字体的混合体,由微软雅黑的中文字体和 Consolas 的英文字体合成的,Consolas 字体是微软专为程序员开发的一种字体。

设置方法:preference——settings,打开一个json文件,添加k-v键值对:

​"font_face":"Yahei Consolas Hybrid"​​​ 首先得确保你本机安装这个字体。​​yahei-consolas下载地址​​。

参考