How to change default code snippets in Sublime Text 3?

38,620

Solution 1

Sublime Text 3 stores its packages in .sublime-package zip files (the location varies by OS), so unlike ST2 you can't just go to the Packages folder and see everything. However, there is an excellent plugin called PackageResourceViewer (available via Package Control) that can, among other things, extract files or whole packages to the Packages directory.

Once you've installed the plugin:

  • hit CtrlShiftP to open the command palette
  • type prv to get the Package Resource Viewer: options
  • select Package Resource Viewer: Open Resource
  • navigate down the list to LaTeX
  • then open the section-..-(section).sublime-snippet file.

You should now be able to edit this file and save it, which will create a new file Packages/LaTeX/section-..-(section).sublime-snippet that you can open directly via the file menu if you need to alter it again.

If you'd like to work on multiple files, or an entire package, use Package Resource Viewer: Extract Package which will unzip everything into the Packages/PackageName folder. Please keep in mind, though, that once packages or individual files are extracted into the Packages folder, they overrule files of the same name located in the .sublime-package archive. This is good for customization, but if at some point the parent package is updated, you won't see the effects because they're being masked by what's in Packages. Therefore, it's probably best to extract only what you need, and keep an eye on your package updates in case new features are introduced that you want to take advantage of.

Good luck!

Solution 2

To easily jump there in terminal (if you are using ST3 on OSX) is /Users/$USER/Library/Application\ Support/Sublime\ Text\ 3/Packages/User. You can see all of your snippets here and edit them as you like.

Solution 3

In addition to the other answer, here is how to do it without having to install any additional plugin.

Solution not requiring any additional plugin (October 2016).


I had a similar problem while trying to override some key bindings defined in a package.

Steps

  • Install your package (using Package Manager or any other method you prefer).

Your zipped package file should be now placed within the folder ~/.config/sublime-text-3/Installed Packages/<your-package>.sublime-package.

  • Check the content of the package by unzipping it (just make sure to keep the original zipped file).

    Among these files, find the one that contains the preference you want to edit (see Package Contents). In your case it should be a .sublime-snippet file. Remember its name.

  • Create a folder with the same name of your package inside ~/.config/sublime-text-3/Packages.

  • Create inside this folder a new snippet file that will override the default package behaviour. Note that the new file should have the same name of the snippet file that you found inside the package. From console:

    > cd ~/.config/sublime-text-3/Packages
    > mkdir <YOUR-PACKAGE-NAME>
    > gedit <YOUR-SNIPPET-NAME>.sublime-snippet
    
  • Put the content of your new snippet in your <YOUR-SNIPPET-NAME>.sublime-snippet. This will override the old snippet behaviour.

Sources:

Share:
38,620
nunos
Author by

nunos

Software Engineering / Sound and Music Computing

Updated on December 11, 2020

Comments

  • nunos
    nunos over 3 years

    I know how to edit the snippets myself, just can't seem to be able to find the default ones in the new version of Sublime Text.

    EDIT: The snippet I am trying to find and consequently edit is the default for the Latex files, in particular the one that converts from:

    sec
    

    to

    \section{section name} % (fold)
    \label{sec:section_name}