Use Sublime!
Switching to Sublime has been the single biggest productivity booster in years. First, take a look at how beautiful it is:
What is it?
Sublime Text is a free, cross-platform source code editor. You can easily add multiple plugins to extend its functionality, making it possible to edit and compile Stata code, Python scripts, R, LaTeX, Julia… the list is endless. You can also customize several other aspects like multiple-column layout or keyboard shortcuts, just to name a couple of examples.
You may be wondering what’s so special about running a Python script and compiling a LaTeX document from the same editor, since you may already use a Python IDE like PyCharms and a perfectly fine LaTeX editor like Texmaker. Thing is, large projects are usually complex and require handling a wide variety of files, so having one lightweight, customizable editor that can handle all of them makes it easier to both stay on top of the big picture and quickly dive into any kind of code for additional work.
Initial set up
-
Head over to sublimetext.com, download and install Sublime Text 3 (ST3) for your operating system.
-
After installing ST3 it is essential that you also install Package Control, which lets you easily add and remove additional plugins. Just follow these instructions to install it.
That’s it!
Customization
ST3 is a bit bare bones when first installed. However, it is extremely customizable. Below I share all my custom options, which have been thoroughly tested in MacOS, Linux and Windows.
Theme
The whole look of ST3 can be customized by installing themes. I know this is a matter of personal taste, but after trying many (many) themes, my current personal favorite is Monokai Pro. It is dark (of course), minimal and looks great in Windows and MacOS.
To install it just invoke the command palette (Tools ‣ Command Palette
), type install
and hit Return
. Then search for Monokai Pro and hit Return
again to install it.
Monokai Pro also has a bunch of “color filters” which let you change the overall feel of the theme. You can play around with them by going to Tools ‣ Command Palette ‣ Monokai Pro: select theme
.
Sidebar
Although it isn’t visible at first, ST3 comes with a handy sidebar in which you can drop your project folders for easy access, besides listing all your open files. To activate it just go to View ‣ Side Bar ‣ Show Side Bar
, and you will see something like the screenshot below:
I also recommend that you install SideBarEnhancements, a plugin that adds a ton of useful functions for manipulating files and folders in the sidebar (you cannot even Move to trash
without it!).
To install it just invoke the command palette (Tools ‣ Command Palette
), type install
and hit Return
. Then search for SideBarEnhancements and hit Return
again to install it.
Development environment
Using Package Control we can easily add plugins that will let us use ST3 to edit and compile the following programs:
32 or 64 bits?
Before you continue, it is important to be sure whether you have a 32 or 64 bit operating system. The answer will determine which version of software you should install: if you have 32 bits, then you must choose 32 bit versions. If you have a 64 bits OS, then you can choose either… but it usually makes more sense to go for 64 bits software as well.
In Windows you can find out your system type by right-clicking on “This PC” (or “My Computer”, in older Windows) and selecting “Properties”. Look for “System type”, like in the screenshot below:
On macOS (macOS?), select “About This Mac” from the Apple menu () and you should see a pane like the one below:
R
Getting R to work with ST3 is pretty easy. If you haven’t already, go to the R-project and install the appropriate version for your OS. Once you’ve done that, you need to add R to you environment path. First locate your installation folder, which in Windows is something like
C:\Program Files\R
Inside you should see a folder for every version of R you have in your system. Go into the latest one and locate the bin\x64
or bin\x32
folder, depending on which version of R you installed. For example, the full directory in my Windows system is
C:\Program Files\R\R-3.4.0\bin\x64
To add this path, right-click on My Computer and choose Properties > Advanced (System Settings) > Environment Variables. Edit the Path
variable (User or System, your choice) and add a line with the path you just located above. Accept these changes and then fire up the command line, where you should be able to execute R now:
Alvaro@DESKTOP-3U3RLE3 C:\Users\Alvaro
> R
R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
...
>
Now you can run R scripts directly from within Sublime. To test it, create a new file with .R
extension and write some R code, for example,
seq(1,10)
In order to run this simple script with R you need to choose your build system: go to Tools > Build System and choose R. Now you can select Tools > Build (or just hit Ctrl+B) to run this code! You should see the output on the Console pane of ST, on the bottom of your screen.
Python
Setting up a Python developing environment in ST3 is very easy, and the process is similar to R. First you’ll need to install Python in your machine. For data science, I recommend getting the Anaconda Python distribution.
Python 2.7 or 3.X?
Whether to use Python 2 or 3 is still a hotly debated topic, as a Google search will reveal. My recommendation is to take it easy, because (a) their syntax is fairly similar, (b) you can later switch and (c) the “typical” data science packages work for both versions. So I’d choose whatever version the book you’re using or the colleague you’re working with is using. If you have no reason to choose one or the other, then I’d probably go with Python 3, because that is the future, after all.
Install Python
Download and install the appropriate version of Anaconda Python (the process is fairly straightforward). Once you’re done, check that it is properly installed by firing up the Command prompt (Windows) or the Terminal (macOS) and just write down python
. You should see the Python version and the Python shell ready:
Alvaro@DESKTOP-3U3RLE3 C:\Users\Alvaro
> python
Python 2.7.13 |Anaconda 4.3.0 (64-bit)| (default, Dec 19 2016, 13:29:36) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>>
Cool! Now you can use it as a fancy calculator:
>>> 3*2
6
Just type quit()
to exit the Python shell.
Run a Python script in ST
Sublime supports Python without any further configuration, so you can just create a new file ending with .py
extension and write some Python code:
import random
onetoten = range(10)
random.shuffle(onetoten)
print(onetoten)
You should be seeing the code with syntax highlighting, similar to the above code block. If you don’t, make sure you see “Python” at the bottom right corner of your ST editor window.
Now, in order to build with Python just go to Tools > Build. The output should be visible in the Console pane of ST3, which is in the bottom. If you run into any issues, make sure to check whether Tools > Build System is set to “Python”.
Further enhancements
If you wish to turn ST into a fully featured Python IDE, then you should install the Anaconda plugin (totally unrelated to the Anaconda Python distribution, btw). It enables autocompletion, code linting and a myriad of other fancy stuff.
To install it, just bring up the Command Palette with Ctrl+Shift+P
, type “install”, hit Enter
and search for “Anaconda”. Just hit Enter
again to install, and restart ST to see the changes.
Stata
Getting Stata to work with ST3 requires a few steps, but it works very well when all is said and done. The process is quite different for Windows and macOS, so I’ve split this tutorial in two sections. I’m assuming that you already have Stata up and running (these steps will work with all versions > 10).
Windows
There are two Stata plugins for ST in Windows: StataEditor and Stata Enhanced. I tried both and finally preferred StataEditor, so that’s the one we’ll install and configure.
- Install StataEditor: in ST3, start the command palette with
Ctrl+Shift+P
, type “install” and hitEnter
. Now search for StataEditor and just click on it to install. - Install Pywin32: repeat the process described above, now installing the Pywin32 plugin.
-
Configure StataEditor: In ST3 go to Preferences > Package Settings > StataEditor > Settings - User. In this blank file you need to write down the path to your Stata executable and the version. For example, my configuration file in Windows looks like this:
{ "stata_path": "C:/Program Files/Stata14/StataMP-64.exe", "stata_version": 14, }
-
Register Stata Automation library: go to the Stata executable for which you copied the path (e.g.
StataMP-64.exe
) and create an shortcut for it. Now right click on this new shortcut and select “Properties”. In the “Target” field, add/Register
at the end (with a preceding space). For example:"C:\Program Files\Stata14\StataMP-64.exe" /Register
Apply and accept those changes and now right click again on the shortcut and choose to “Run as administrator”. Nothing is going to happen, but if you followed the instructions, it should be ready.
Restart ST3 and try opening an existing do-file (or creating a new one with .do
extension). You should read “Stata” on the bottom right corner, and should be able to execute selections or complete do-files with Ctrl+D
.
macOS
There are two packages available in Package Control to use ST3 as a Stata editor: Stata Enhanced and Stata Improved Editor. I’ve tried both and prefer Stata Improved Editor, mainly because it has a much finer control on the chunks you can execute. Shout out to Zizhong Yan for incorporating my comments in v1.1.2.
In order to Install Stata Improved Editor in ST3, start the command palette with Cmd+Shift+P
, type “install” and hit Enter
. Now search for Stata Improved Editor and just click on it to install. Reboot ST3, and that’s it!
CTRL+d sends the current line or the selected chunk to Stata. Also, you can execute the complete do-file with CTRL+SHIFT+d. The plugin has a lot of shortcuts and other nice features, so be sure to check out its repository to make the most out of it.
LaTeX
ST3 can be configured to work as a LaTeX editor pretty easily, specially if you’ve installed one of the “typical” TeX distributions: TeX Live, MiKTeX or MacTeX. If you don’t have LaTeX in your system, I suggest you get either TeX Live in Windows or MacTeX in MacOS. Just ensure you have one of these TeX distributions installed before proceeding.
Besides the LaTeX distribution, another important component is the PDF viewer… and forget about the defaults! On Windows I recommend you get Sumatra (thank me later for this awesome alternative to Adobe’s piece of crap). Just go to https://www.sumatrapdfreader.org/free-pdf-reader.html to download, and then install it.
On macOS I recommend Skim, a lightweight PDF viewer specifically tailored to reading and annotating scientific papers. Head over to http://skim-app.sourceforge.net/ to download and install it. After installing it make sure you go to Skim ‣ Preferences ‣ Sync
and set the PDF-TeX Sync support Preset to Sublime, as shown here:
Both of these viewers are super lightweight, work great with LaTeXTools and provide forward and inverse search capabilities, which is really handy (go here to read more about this feature).
Without regard of your operating system, you’ll want to install LaTeXTools, which adds extensive LaTeX support for ST3.
Install by invoking the command palette (Tools ‣ Command Palette
), type install
and hit Return
. Then search for LaTeXTools
and hit Return
again to install it. You should use the same method to install LaTeX-cwl
, which allows for autocompletion of LaTeX commands:
At this point you should run a system check with LaTeXTools, which ensures everything is well configured for LaTeX compilation. To do this, fire up the command palette (Tools ‣ Command Palette
), search for LaTeXTools: Check System
and hit Return
. After a few seconds you should see a new tab with something like the following:
System is checked and we’re good to go! Don’t panic if ghostscript
or magick
are unavailable (like above): the former is used for equation and image previewing, while the latter is for previewing non-standard image formats.
So that’s it! You can now open any .tex
file or create a new one, and compile it with Ctrl+B
. If a dialogue pops up, just choose PDFLaTeX (or whatever you prefer) and LaTeX away!