Nearly all of the interesting files for users live under the data directory. The data directory is ~/.config/sublime-text-3 for Linux
The Package Directory is located under the data directory. All resources for supported programming and markup languages are stored here.
You can access the packages directory from the main munu (Preference -> Browse Packages...), by means of an API call (sublime.packages_path()), and by other means that will be explained in later topics.
The packages folder may be referred to as Packages, packages path, packages folder or packages directory.
Packages/User is a catch-all directory for custom plugins, snippets, macros, etc. Consider it your personal area in the packages folder. Additionly, it will ocntains most of your personal application or plugin settings.
Updates to ST will never overwrite the contents of Packages/User.
ST is programmable, enabling users with programming skills to add their own features to the editor.
ST exposes its internal via an API that programmers can iteract with using the Python programming language. An enbedded Python interpreter is included in the editor. The embedded interpreter is useful to inspect the editor's settings and to quickly test API calls while developing plugins.
ST and plugins output info to a console. To open the console, press Ctrl + ` or select View -> Show Console from the main menu.
ST3 comes with its own Python interpreter that's separate from your system's Python interpreter (if available). The embedded interpreter is only intended to interact with the plugin API, not for general development.
Almost every aspects of ST can be extended or customized. You can modify the editor's behavior, add macros and snippets, extend menus and much more. You can even create whole new features using the editor's API to build complex plugins.
ST's vast flexibility is the reason why you will learn about so many config. files: there simply must be a place to specify all available preferences and settings.
Config. files in ST are text files that conform to a predefined structure or format: JSON predomimates, but you'll find XML files too. For the more advanced extensibility options, Python source code files are used.
In this guide, for brevity, we sometimes refer collectively to all these disparate configuration files as resources.
ST will look for resources inside the package folder. We'll take at length about packages later, but the short version is that, to keep things tidy, ST has a notion of a package, that is, a folder (or zip archive) that contains resources that belong together (maybe they help compose emails fast , write HTML efficiently, enhance the coding experience for C, Ruby, Go...).
Build systems let you run your files through external programs like make, tidy, interpreters, etc.
Executables called from build systems must be in your PATH.
Build systems are JSON files and have the extension .sublime-build.
Build systems must be located somewhere under the Packages folder (e.g. Packages/User). Many packages include their own build systems.
Build sys. can be run by pressing F7 or from Tools->Build.
The sidebar provides an overview of the active project.
Files and folders in the sidebar will be available in Goto Anythng and project-wide actions like, for example, project-wide searches.
Projects and the sidebar are closely related. It's important to note that there's always an active project, whether it's explicit or implicit.
File opened from the sidebar create semi-transient views. Unlike transient views, semi-transient views show up as a new tab. The tab title of semi-transient views appears in italics. Before a new semi-transient view is opened, any other pre-existing semi-transient view in the same pane gets automatically closed.
Projects group sets of files and folders to keep your work organized.
There is always an active project. If you haven't created one, an implicit one is created by ST.
Set up a project in a way that suits you by adding folders, and then save your new config.. You can add and remove folders to/from a project using the Project menu or the side bar's context menu. If you drag a folder onto a ST window, it will be added to the project too.
To save a project, go to Project -> Save Project As...
Using the menu, you can switch projects by selecting Projects -> Recent Projects
Projects can define settings applicable to that project only.
You can open a project from the command line by passing the .sublime-project file as an argument to the subl command line helper included with ST. (What is a command line helper?)
---------------------------------------------------------------------------------
ST can be fully customized. In the following topics, we outline the most common options. In particular, we don't cover themes, an immensely configurable area of ST.
ST stores config. data in .sublime-settings files. Flexibility comes at the price of a slightly complex system for applying settings. However, here's a rule of thumb.
Always place your personal settings files under Packages/User to guarantee they will take precedence over any other conflicting settins files.
Wiht that out of the way, let's unveil, to please masochistic readers, the mysteries of how settings work.
ST uses color schemes to HL source code and to define the colors of some items in the editing area: background, foreground, gutter, caret, selection...
Color schemes are fully customizable.
Installing Packages
Regular users rarely need to know how to install packages by hand, as automatic package managers are vailable.
The de facto package manager for ST is Package Control: the ST package manager that makes it exceedingly simple to find, install and keep packages up-to-date.
.by copying ST resources to a folder under Packages, or
.by copying a .sublime-package file to Installed Packages.