bsunter / sublime-text-config

My personal sublime text configuration and preferences.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sublime Text Configuration

This is my sublime text configuration.

Package Control

All packages should be installed via Package Control.

Check out the instructions on this page.

Packages

My packages

i. AdvancedNewFile

ii. Babel

iii. BracketHighlighter

iv. BufferScroll

v. Color Highlighter

vi. ColorPicker

vii. DocBlockr

viii. EasyMotion

ix. Emmet

x. Git

xi. GitGutter

xii. Laravel Blade Highlighter

xiii. Markdown Preview

xiv. Material Theme

xv. Material Theme - Appbar

xvi. PHP Companion

xvii. phpfmt

xviii. PlainTasks

xix. rsub

xx. Sass

xxi. SFTP

xxii. SideBarEnhancements

xxiii. SublimeLinter

xxiv. SublimeLinter-php

xxv. Vintageous

My packages

These are the packages I consider to be essential for my development work.

i. AdvancedNewFile

Easier file creation. Provides the shortcuts:

super + alt +n: create a new file at the specified path. You can autocomplete foldernames.

super + shift + alt +n: same as above but also creates an __init__.py file in new directories.

ii. Babel

Adds support for ES6.

iii. BracketHighlighter

Better bracket highlighting. Has come a long way since its first release. Install and forget.

iv. BufferScroll

Nifty little plug-in that remembers code foldings and cursor positions.

v. Color Highlighter

Highlights colorcodes (e.g. #fff or rgba(0, 0, 0, 1)) with its actual color. Useful when writing CSS or Sass. Also includes a color picker.

vi. Color Picker

Allows you to pick a color (super + shift + c) and insert the corresponding hex code.

vii. DocBlockr

Generate docblocks for various languages.

viii. EasyMotion

Sublime Text version of Vim's EasyMotion. Press super + ; followed by the character you want to jump to then press the corresponding character to jump there.

ix. Emmet

A toolkit for web developers. Evolved from Zen Coding. It is advised to disable all of the keybindings because some of them clash with default keybindings like super + d/ctrl + d (Expand selection to word) and ctrl + e (Move to EOL).

This is done by putting the following in your Emmet.sublime-settings file:

"disabled_keymap_actions": "all"

Then remap the keys you need to your own keybindings. For instance, I remapped the expand abbreviation keybinding to ctrl + x as follows (put this in your keybindings settings):

{
    "keys": [
        "ctrl+x"
    ],
    "args": {
        "action": "expand_abbreviation"
    },
    "command": "run_emmet_action"
}

Some examples of commands I often use:

ul#nav>li*4>a<expand abbreviation>

expands to

<ul id="nav">
    <li><a href=""></a></li>
    <li><a href=""></a></li>
    <li><a href=""></a></li>
    <li><a href=""></a></li>
</ul>

And intuitive CSS completions:

p20<tab> expands to padding: 20px

db<tab> expands to display: block

fz<tab> expands to font-size:

There's so much more Emmet can do; you should check out the documentation to learn about all of the features.

x. Git

Adds support for Git. You can optionally create keybindings to control the plugin but I find that using the command palette works well enough.

Examples:

super + shift + p and type gad<enter> to add the current file.

super + shift + p and type gc<enter> to commit.

Obviously requires a git repository to work.

xi. GitGutter

Adds a gutter to the editor which provides information about added/modified/removed lines.

Obviously requires a git repository to work.

xii. Laravel Blade Highlighter

Syntax highlighting and some snippets for Laravel's Blade templating engine.

xiii. Markdown Preview

Self-explanatory. Allows you to preview Markdown files. I'm using it right now to preview this file :)

For instance, super + shift + p and type mpb<enter> to preview in the browser.

xiv. Material Theme

Best theme available.

xv. Material Theme - Appbar

Nice colored appbar for the material theme.

xvi. PHP Companion

Adds useful functionality when working with PHP files.

For example, automatic use statements, auto implement, full class expansion and more.

xvii. phpfmt

Formats PHP code to PSR-2 (there are a lot more features, but this is mainly what I use it for).

xviii. PlainTasks

Formats your TODO files as checklists.

Adding a colon to words (like so Front-end:) creates headers.

super + enter: create a new task.

super + d: finish/unfinish a task.

You can add tags like so: @tag

xix. rsub

Allows you to edit remote files (needs rmate as well).

xx. Sass

Syntax highlighting and snippets for Sass.

xxi. SFTP

Manage FTP connections. Map local to remote folders. Allows for a Coda-like workflow. Extremely useful! You are required to buy a license if you want to get rid of the popups, but it's worth it in my opinion. Alternatively you can look at FTPSync, (doesn't support SFTP).

xxii. SideBarEnhancements

Expands sidebar options which are very limited by default. Essential plugin.

xxiii. Sublime Linter

Framework that allows you to install linters for various languages.

xxiv. Sublime Linter PHP

PHP linter.

xxv. Vintageous

Awesome plugin. Makes the already powerful vintage mode even better. Adds support for EX commands.

Some examples:

:10m20: move line 10 to line 20

:10,30d: delete line 10 to 30

:10t20: copy line 10 to 20

:10t.: copy line 10 to the current cursor position

:10: go to line 10

:only: close all other tabs

:%s/foo/bar/g: find and replace all instances of foo with bar

And many more.

You need to have the Vintage package enabled and you need to be in command mode.

About

My personal sublime text configuration and preferences.