{"id":13,"date":"2014-02-17T21:48:15","date_gmt":"2014-02-17T13:48:15","guid":{"rendered":"http:\/\/vinta.ws\/code\/?p=13"},"modified":"2026-03-17T01:16:59","modified_gmt":"2026-03-16T17:16:59","slug":"must-have-sublime-text-packages","status":"publish","type":"post","link":"https:\/\/vinta.ws\/code\/must-have-sublime-text-packages.html","title":{"rendered":"Must Have Sublime Text 3 Packages"},"content":{"rendered":"<h2>AceJump<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/ice9js\/ace-jump-sublime\">https:\/\/github.com\/ice9js\/ace-jump-sublime<\/a><\/p>\n<p>AceJump allows you to move the cursor to any character at any place currently on screen.<\/p>\n<h2>All Autocomplete<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/alienhard\/SublimeAllAutocomplete\">https:\/\/github.com\/alienhard\/SublimeAllAutocomplete<\/a><\/p>\n<p>Extend Sublime autocompletion to find matches in all open files of the current window.<\/p>\n<h2>ANSIescape (X)<\/h2>\n<p>link: <a href=\"https:\/\/packagecontrol.io\/packages\/ANSIescape\">https:\/\/packagecontrol.io\/packages\/ANSIescape<\/a><\/p>\n<h2>Ansible<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/clifford-github\/sublime-ansible\">https:\/\/github.com\/clifford-github\/sublime-ansible<\/a><\/p>\n<p>Syntax highlighting for Ansible.<\/p>\n<h2>ApplySyntax<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/facelessuser\/ApplySyntax\">https:\/\/github.com\/facelessuser\/ApplySyntax<\/a><\/p>\n<p>Applying syntax by custom rules.<\/p>\n<p>Preferences &gt; Package Settings &gt; ApplySyntax &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"reraise_exceptions\": false,\n    \"new_file_syntax\": false,\n    \"syntaxes\": [\n        {\n            \"name\": \"Djaneiro\/Syntaxes\/HTML (Django)\",\n            \"match\": \"all\",\n            \"rules\": [\n                {\"file_name\": \".*.(html|htm)$\"},\n                {\"first_line\": \"{%\"}\n            ]\n        },\n        {\n            \"name\": \"Djaneiro\/Syntaxes\/Python Django\",\n            \"match\": \"all\",\n            \"rules\": [\n                {\"file_name\": \".*.py$\"},\n                {\"contains\": \"from django\"}\n            ]\n        },\n        {\n            \"name\": \"Djaneiro\/Syntaxes\/Python Django\",\n            \"rules\": [\n                {\"file_name\": \".*(|\/)local_settings.py$\"},\n                {\"file_name\": \".*(|\/)settings.py$\"}\n            ]\n        },\n        {\n            \"name\": \"Python\/Python\",\n            \"rules\": [\n                {\"file_name\": \".*.py$\"}\n            ]\n        }\n    ]\n}<\/code><\/pre>\n<h2>AutoPEP8 (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/wistful\/SublimeAutoPEP8\">https:\/\/github.com\/wistful\/SublimeAutoPEP8<\/a><\/p>\n<p>Automatically formats Python code to conform to PEP 8.<\/p>\n<h2>Babel<\/h2>\n<p>link: <a href=\"https:\/\/packagecontrol.io\/packages\/Babel\">https:\/\/packagecontrol.io\/packages\/Babel<\/a><\/p>\n<p>Syntax definitions for ES6 JavaScript with React JSX extensions.<\/p>\n<h2>BigComment (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/manse\/BigComment\">https:\/\/github.com\/manse\/BigComment<\/a><\/p>\n<p>Generate ASCII-art comment to display text on Minimap.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ cd \"\/Users\/vinta\/Library\/Application Support\/Sublime Text 3\/Packages\"\n$ git clone git@github.com:manse\/BigComment.git<\/code><\/pre>\n<p>Command + Option + C<\/p>\n<h2>BracketHighlighter<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/facelessuser\/BracketHighlighter\/\">https:\/\/github.com\/facelessuser\/BracketHighlighter\/<\/a><\/p>\n<p>Bracket and tag highlighter.<\/p>\n<h2>BufferScroll (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/SublimeText\/BufferScroll\">https:\/\/github.com\/SublimeText\/BufferScroll<\/a><\/p>\n<p>Remember, restore, and sync scroll, bookmarks, marks, folds, and cursors.<\/p>\n<h2>Case Conversion (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/jdc0589\/CaseConversion\">https:\/\/github.com\/jdc0589\/CaseConversion<\/a><\/p>\n<p>Toggle variable naming styles.<\/p>\n<p>Control + Option + C &gt; Control + Option + S &gt;&gt; under_score<br \/>\nControl + Option + C &gt; Control + Option + P &gt;&gt; PascalCase<br \/>\nControl + Option + C &gt; Control + Option + C &gt;&gt; camelCase<\/p>\n<h2>ChineseOpenConvert<\/h2>\n<p>link: <a href=\"https:\/\/packagecontrol.io\/packages\/ChineseOpenConvert\">https:\/\/packagecontrol.io\/packages\/ChineseOpenConvert<\/a><\/p>\n<p>String translation between Traditional Chinese and Simplified Chinese.<\/p>\n<h2>ColorPicker (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/weslly\/ColorPicker\">https:\/\/github.com\/weslly\/ColorPicker<\/a><\/p>\n<p>Command + Shift + C<\/p>\n<h2>Color Highlighter (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/Monnoroch\/ColorHighlighter\">https:\/\/github.com\/Monnoroch\/ColorHighlighter<\/a><\/p>\n<p>\u628a\u6e38\u6a19\u79fb\u9032\u53bb\u4e4b\u5f8c\uff0c\u6703\u81ea\u52d5\u628a #FFFFFF \u4e4b\u985e\u7684\u5b57\u4e32\u8b8a\u6210\u5c0d\u61c9\u7684\u984f\u8272<\/p>\n<h2>Color Scheme - Behave<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/fnky\/behave-theme\">https:\/\/github.com\/fnky\/behave-theme<\/a><\/p>\n<h2>CSS Completions (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/daneden\/sublime-css-completions\">https:\/\/github.com\/daneden\/sublime-css-completions<\/a><\/p>\n<h2>DashDoc<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/Kapeli\/DashDoc\">https:\/\/github.com\/Kapeli\/DashDoc<\/a><\/p>\n<p>Control + D<br \/>\n\u7528\u6e38\u6a19\u6240\u5728\u5b57\u8a5e\u641c\u5c0b Dash<\/p>\n<p>in Dash: Preferences &gt; General &gt; Global search shorcut -- Shift + D<br \/>\nin System Preferences: Keyboard &gt; Shortcuts &gt; Services &gt; Searching &gt; Look Up in Dash -- Control + D<\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"dash_doc\", \"keys\": [\"ctrl+d\"]},\n]<\/code><\/pre>\n<h2>Djaneiro<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/squ1b3r\/Djaneiro\">https:\/\/github.com\/squ1b3r\/Djaneiro<\/a><\/p>\n<p>Control + Space<\/p>\n<h2>Dotfiles Syntax Highlighting<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/mattbanks\/dotfiles-syntax-highlighting-st2\">https:\/\/github.com\/mattbanks\/dotfiles-syntax-highlighting-st2<\/a><\/p>\n<p>Bring ShellScript (Bash) syntax highlighting to dotfiles.<\/p>\n<h2>EncodingHelper<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/SublimeText\/EncodingHelper\">https:\/\/github.com\/SublimeText\/EncodingHelper<\/a><\/p>\n<p>Guess encoding of files, show in status bar, convert to UTF-8 from a variety of encodings.<\/p>\n<h2>ExpandRegion<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/aronwoost\/sublime-expand-region\">https:\/\/github.com\/aronwoost\/sublime-expand-region<\/a><\/p>\n<p>A better &quot;Expand Selection to Scope&quot;.<\/p>\n<h2>Find++ (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/twolfson\/FindPlusPlus\">https:\/\/github.com\/twolfson\/FindPlusPlus<\/a><\/p>\n<p>Find in current folder, Find in open files...<\/p>\n<h2>FuzzyFilePath (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/sagold\/FuzzyFilePath\">https:\/\/github.com\/sagold\/FuzzyFilePath<\/a><\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"insert_path\", \"keys\": [\"ctrl+t\"], \"args\": {\"type\": \"absolute\"}},\n    ...\n]<\/code><\/pre>\n<h2>Generic Config<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/skozlovf\/Sublime-GenericConfig\">https:\/\/github.com\/skozlovf\/Sublime-GenericConfig<\/a><\/p>\n<p>Generic highlighting of configuration files.<\/p>\n<h2>Git<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/kemayo\/sublime-text-git\">https:\/\/github.com\/kemayo\/sublime-text-git<\/a><\/p>\n<p>Preferences &gt; Package Settings &gt; Git &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"diff_panel\": true,\n    \"statusbar_branch\": true,\n    \"statusbar_status\": false\n}<\/code><\/pre>\n<h2>GitHubinator<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/ehamiter\/GitHubinator\">https:\/\/github.com\/ehamiter\/GitHubinator<\/a><\/p>\n<p>Open a corresponding page of current file on GitHub.<\/p>\n<h2>GitSavvy (X)<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/divmain\/GitSavvy\/\">https:\/\/github.com\/divmain\/GitSavvy\/<\/a><\/p>\n<p>Full git and GitHub integration<\/p>\n<h2>Godef<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/buaazp\/Godef\">https:\/\/github.com\/buaazp\/Godef<\/a><\/p>\n<p>Better than GoSublime's Goto Definition.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ go get -u github.com\/rogpeppe\/godef<\/code><\/pre>\n<h2>Google Search<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/nwjlyons\/google-search\">https:\/\/github.com\/nwjlyons\/google-search<\/a><\/p>\n<p>Search Google for the currently selected text.<\/p>\n<h2>GoSublime<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/DisposaBoy\/GoSublime\">https:\/\/github.com\/DisposaBoy\/GoSublime<\/a><\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ go get -u github.com\/nsf\/gocode<\/code><\/pre>\n<h2>HTML5<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/mrmartineau\/HTML5\">https:\/\/github.com\/mrmartineau\/HTML5<\/a><\/p>\n<h2>HTML-CSS-JS Prettify<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/victorporof\/Sublime-HTMLPrettify\">https:\/\/github.com\/victorporof\/Sublime-HTMLPrettify<\/a><\/p>\n<p>Command + Shift + H\uff08or \u53f3\u9375\u9078\u55ae\uff09<\/p>\n<h2>JavaScript Completions<\/h2>\n<p>link: <a href=\"https:\/\/sublime.wbond.net\/packages\/JavaScript%20Completions\">https:\/\/sublime.wbond.net\/packages\/JavaScript%20Completions<\/a><\/p>\n<h2>JavaScript Next<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/Benvie\/JavaScriptNext.tmLanguage\">https:\/\/github.com\/Benvie\/JavaScriptNext.tmLanguage<\/a><\/p>\n<p>Better JavaScript language definition.<\/p>\n<h2>Jedi<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/srusskih\/SublimeJEDI\">https:\/\/github.com\/srusskih\/SublimeJEDI<\/a><\/p>\n<p>Awesome Python autocompletion with SublimeText 3.<\/p>\n<p>Control + Option + G (or CONTROL + \u5de6\u9375)<br \/>\nGo to definition<br \/>\n\u5efa\u8b70\u6539\u6210 Control + G<\/p>\n<p>Control + Option + F (or OPTION + \u5de6\u9375)<br \/>\nFind usages<br \/>\n\u5efa\u8b70\u6539\u6210 Control + F<\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"sublime_jedi_find_usages\", \"keys\": [\"ctrl+f\"], \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.python - string - comment\"}]},\n    {\"command\": \"sublime_jedi_goto\", \"keys\": [\"ctrl+g\"], \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.python - string - comment\"}]}\n]<\/code><\/pre>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"sublime_jedi_goto\", \"modifiers\": [\"ctrl\"], \"button\": \"button1\", \"press_command\": \"drag_select\"},\n    {\"command\": \"sublime_jedi_find_usages\", \"modifiers\": [\"alt\"], \"button\": \"button1\", \"press_command\": \"drag_select\"}\n]<\/code><\/pre>\n<p>in YOUR_PROJECT.sublime-project<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"folders\":\n    [\n        {\n            \"path\": \"\/Users\/vinta\/Projects\/codebaku-web\"\n        },\n        {\n            \"path\": \"\/Users\/vinta\/Projects\/codebaku-hubot\"\n        }\n    ],\n    \"settings\":\n    {\n        \"python_interpreter\": \"\/Users\/vinta\/.pyenv\/versions\/3.4.3\/bin\/python3.4\",\n        \"python_package_paths\":\n        [\n            \"\/Users\/vinta\/Dropbox\/Developments\/virtualenv_codebaku\/dist-packages\"\n        ]\n    }\n}<\/code><\/pre>\n<h2>jQuery<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/SublimeText\/jQuery\">https:\/\/github.com\/SublimeText\/jQuery<\/a><\/p>\n<p>Snippets for jQuery.<\/p>\n<h2>KeybardSpellCheck<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/jlknuth\/KeyboardSpellCheck\">https:\/\/github.com\/jlknuth\/KeyboardSpellCheck<\/a><\/p>\n<p>Control + Alt + K<\/p>\n<h2>Keymaps<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/MiroHibler\/sublime-keymaps\">https:\/\/github.com\/MiroHibler\/sublime-keymaps<\/a><\/p>\n<p>Control + Option + ?<\/p>\n<h2>LineJumper<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/hypebeast\/LineJumper\">https:\/\/github.com\/hypebeast\/LineJumper<\/a><\/p>\n<p>Move your cursor and select 10 lines at a time.<\/p>\n<p>Fn + \u65b9\u5411\u9375<br \/>\n\u6e38\u6a19\u79fb\u52d5 1 \u9801<\/p>\n<p>Option + \u65b9\u5411\u9375<br \/>\n\u6e38\u6a19\u79fb\u52d5 n \u884c<\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+up\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"up\"}},\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+down\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"down\"}},\n    ...\n]<\/code><\/pre>\n<h2>Markdown Extended<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/jonschlinkert\/sublime-markdown-extended\">https:\/\/github.com\/jonschlinkert\/sublime-markdown-extended<\/a><\/p>\n<p>Supporting GitHub Flavored Markdown<\/p>\n<h2>Modific<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/gornostal\/Modific\">https:\/\/github.com\/gornostal\/Modific<\/a><\/p>\n<p>Highlight lines changed since the last commit<\/p>\n<h2>Pretty JSON<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/dzhibas\/SublimePrettyJson\">https:\/\/github.com\/dzhibas\/SublimePrettyJson<\/a><\/p>\n<p>Formatting JSON.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ brew install jq<\/code><\/pre>\n<p>Preferences &gt; Package Settings &gt; Pretty JSON &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"indent\": 4\n}<\/code><\/pre>\n<h2>PyCover (X)<\/h2>\n<p>link: <a href=\"https:\/\/packagecontrol.io\/packages\/PyCover\">https:\/\/packagecontrol.io\/packages\/PyCover<\/a><\/p>\n<p>Showing coverage information in Sublime Text.<\/p>\n<h2>Python Improved<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/MattDMo\/PythonImproved\">https:\/\/github.com\/MattDMo\/PythonImproved<\/a><\/p>\n<p>A better Python .tmLanguage definition.<\/p>\n<h2>requirementstxt<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/wuub\/requirementstxt\">https:\/\/github.com\/wuub\/requirementstxt<\/a><\/p>\n<p>Syntax highlighting for requirements.txt.<\/p>\n<h2>Select Quoted<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/int3h\/SublimeSelectQuoted\">https:\/\/github.com\/int3h\/SublimeSelectQuoted<\/a><\/p>\n<p>Command + &quot;<br \/>\n\u9078\u64c7 &quot;&quot; \u6216 '' \u5167\u7684\u6587\u5b57<\/p>\n<p>Command + (<br \/>\n\u9078\u64c7 () \u7684\u6587\u5b57<\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"expand_selection\", \"args\": {\"to\": \"brackets\"}, \"keys\": [\"super+9\"]},\n    ...\n]<\/code><\/pre>\n<h2>SideBarEnhancements<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/titoBouzout\/SideBarEnhancements\">https:\/\/github.com\/titoBouzout\/SideBarEnhancements<\/a><\/p>\n<h2>StringUtilities<\/h2>\n<p>link: <a href=\"https:\/\/packagecontrol.io\/packages\/StringUtilities\">https:\/\/packagecontrol.io\/packages\/StringUtilities<\/a><\/p>\n<h2>Sublimall<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/vinta\/sublimall-server\">https:\/\/github.com\/vinta\/sublimall-server<\/a><\/p>\n<p>Synchronize your Sublime Text preferences and package configurations.<\/p>\n<p>\u539f\u4f5c\u8005\u5df2\u7d93\u505c\u6b62\u958b\u767c\u4e86<br \/>\n\u4e0d\u904e\u6211 fork  \u4e86\u4e00\u500b\u7248\u672c<br \/>\n\u52a0\u4e0a deploy \u5230 Heroku \u7684\u529f\u80fd<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ brew install p7zip<\/code><\/pre>\n<p>Preferences &gt; Package Settings &gt; Sublimall &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"email\": \"vinta.chen@gmail.com\",\n    \"api_key\": \"YOUR_API_KEY\",\n    \"7za_path\": \"\/usr\/local\/bin\/7za\"\n}<\/code><\/pre>\n<h3>sublime-github<\/h3>\n<p>link: <a href=\"https:\/\/github.com\/bgreenlee\/sublime-github\">https:\/\/github.com\/bgreenlee\/sublime-github<\/a><\/p>\n<h3>SublimeLinter<\/h3>\n<p>link:<br \/>\n<a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter3\">https:\/\/github.com\/SublimeLinter\/SublimeLinter3<\/a><br \/>\n<a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-annotations\">https:\/\/github.com\/SublimeLinter\/SublimeLinter-annotations<\/a><br \/>\n<a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-flake8\">https:\/\/github.com\/SublimeLinter\/SublimeLinter-flake8<\/a><br \/>\n<a href=\"https:\/\/github.com\/SublimeLinter\/SublimeLinter-json\">https:\/\/github.com\/SublimeLinter\/SublimeLinter-json<\/a><br \/>\n<a href=\"https:\/\/github.com\/sirreal\/SublimeLinter-contrib-golint\">https:\/\/github.com\/sirreal\/SublimeLinter-contrib-golint<\/a><br \/>\n<a href=\"https:\/\/github.com\/sirreal\/SublimeLinter-contrib-govet\">https:\/\/github.com\/sirreal\/SublimeLinter-contrib-govet<\/a><\/p>\n<p>\u5404\u8a9e\u8a00\u7684 coding style \u548c syntax \u6aa2\u67e5<br \/>\nSublimeLinter 3 \u4e26\u4e0d\u5305\u542b linter\uff0c\u8981\u81ea\u5df1\u7528 Package Control \u5b89\u88dd<\/p>\n<p>Preferences &gt; Package Settings &gt; SublimeLinter &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"user\": {\n        \"debug\": false,\n        \"delay\": 0.65,\n        \"error_color\": \"D02000\",\n        \"gutter_theme\": \"Packages\/SublimeLinter\/gutter-themes\/Default\/Default.gutter-theme\",\n        \"gutter_theme_excludes\": [],\n        \"lint_mode\": \"background\",\n        \"linters\": {\n            \"annotations\": {\n                \"@disable\": false,\n                \"args\": [],\n                \"errors\": [\n                    \"DIRTY HACK\",\n                    \"FIXME\",\n                    \"TEST\"\n                ],\n                \"excludes\": [],\n                \"warnings\": [\n                    \"CAUTION\",\n                    \"TODO\",\n                    \"README\"\n                ]\n            },\n            \"flake8\": {\n                \"@disable\": false,\n                \"args\": [],\n                \"builtins\": \"\",\n                \"excludes\": [],\n                \"executable\": \"\",\n                \"ignore\": \"E501\",\n                \"jobs\": \"1\",\n                \"max-complexity\": -1,\n                \"max-line-length\": 999,\n                \"select\": \"\",\n                \"show-code\": true\n            },\n            \"golint\": {\n                \"@disable\": false,\n                \"args\": [],\n                \"excludes\": []\n            },\n            \"govet\": {\n                \"@disable\": false,\n                \"args\": [],\n                \"excludes\": []\n            },\n            \"json\": {\n                \"@disable\": false,\n                \"args\": [],\n                \"excludes\": [],\n                \"strict\": true\n            }\n        },\n        \"mark_style\": \"fill\",\n        \"no_column_highlights_line\": true,\n        \"passive_warnings\": false,\n        \"paths\": {\n            \"linux\": [],\n            \"osx\": [\n                \"\/Users\/vinta\/.pyenv\/versions\/2.7.10\/bin\",\n                \"\/Users\/vinta\/.pyenv\/versions\/3.5.0\/bin\",\n                \"\/Users\/vinta\/.gvm\/gos\/go1.5.3\/bin\",\n                \"\/Users\/vinta\/Projects\/oh-my-go\/bin\"\n            ],\n            \"windows\": []\n        },\n        \"python_paths\": {\n            \"linux\": [],\n            \"osx\": [],\n            \"windows\": []\n        },\n        \"rc_search_limit\": 0,\n        \"shell_timeout\": 10,\n        \"show_errors_on_save\": false,\n        \"show_marks_in_minimap\": false,\n        \"syntax_map\": {\n            \"html (django)\": \"html\",\n            \"html 5\": \"html\",\n            \"python django\": \"python\",\n            \"pythonimproved\": \"python\"\n        },\n        \"warning_color\": \"DDB700\",\n        \"wrap_find\": true\n    }\n}<\/code><\/pre>\n<h3>tern_for_sublime<\/h3>\n<p>link: <a href=\"https:\/\/github.com\/marijnh\/tern_for_sublime\">https:\/\/github.com\/marijnh\/tern_for_sublime<\/a><\/p>\n<p>Handling autocompletion for JavaScript using tern.js.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-bash\">$ cd \"\/Users\/vinta\/Library\/Application Support\/Sublime Text 3\/Packages\/\"\n$ git clone git:\/\/github.com\/marijnh\/tern_for_sublime.git\n\n$ cd tern_for_sublime\n$ npm install<\/code><\/pre>\n<p>Preferences &gt; Settings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"auto_complete\": true,\n    \"auto_complete_triggers\":\n    [\n        {\n            \"selector\": \"source.js\",\n            \"characters\": \".\"\n        }\n    ],\n    ...\n    \"tern_argument_hints\": true,\n    \"tern_arguments\": [\n         \"--no-port-file\"\n    ],\n    \"tern_command\":\n    [\n         \"\/Users\/vinta\/.nvm\/v0.10.32\/bin\/node\",\n         \"\/Users\/vinta\/.nvm\/v0.10.32\/bin\/tern\"\n    ],\n    ...\n}<\/code><\/pre>\n<p>in PROJECT_ROOT\/.tern-project<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">{\n    \"libs\": [\n        \"angular\",\n        \"browser\",\n        \"jquery\"\n    ]\n}<\/code><\/pre>\n<p>OPTION + .<br \/>\nGo to definition<\/p>\n<p>ref:<br \/>\n<a href=\"http:\/\/ternjs.net\/doc\/manual.html\">http:\/\/ternjs.net\/doc\/manual.html<\/a><\/p>\n<h2>Theme - Afterglow<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/YabataDesign\/afterglow-theme\">https:\/\/github.com\/YabataDesign\/afterglow-theme<\/a><\/p>\n<h2>Theme - itg.flat<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/itsthatguy\/theme-itg-flat\">https:\/\/github.com\/itsthatguy\/theme-itg-flat<\/a><\/p>\n<h2>ToggleQuotes<\/h2>\n<p>link: <a href=\"https:\/\/github.com\/spadgos\/sublime-ToggleQuotes\">https:\/\/github.com\/spadgos\/sublime-ToggleQuotes<\/a><\/p>\n<p>\u5efa\u8b70\u6539\u6210 Control + '<\/p>\n<p>--<\/p>\n<p>Preferences &gt; Key Bindings - User<\/p>\n<pre class=\"line-numbers\"><code class=\"language-json\">[\n    {\"command\": \"ace_jump_char\", \"keys\": [\"super+shift+'\"]},\n    {\"command\": \"better_bookmarks_clear_all_marks\", \"keys\": [\"shift+f12\"]},\n    {\"command\": \"better_bookmarks_clear_marks\", \"keys\": [\"f12\"]},\n    {\"command\": \"better_bookmarks_mark_line\", \"keys\": [\"f11\"]},\n    {\"command\": \"dash_doc\", \"keys\": [\"ctrl+d\"]},\n    {\"command\": \"expand_selection\", \"keys\": [\"alt+.\"], \"args\": {\"to\": \"tag\"}},\n    {\"command\": \"expand_selection\", \"keys\": [\"alt+0\"], \"args\": {\"to\": \"brackets\"}},\n    {\"command\": \"find_under_expand\", \"keys\": [\"super+d\"]},\n    {\"command\": \"fpp_find_in_project\", \"keys\": [\"super+shift+g\"]},\n    {\"command\": \"godef\", \"keys\": [\"ctrl+g\"], \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.go\"}]},\n    {\"command\": \"google_search\", \"keys\": [\"ctrl+q\"]},\n    {\"command\": \"gs_browse_declarations\", \"keys\": [\"ctrl+f\"], \"args\": {\"dir\": \".\"}, \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.go\"}]},\n    {\"command\": \"gs_doc\", \"keys\": [\"ctrl+h\"], \"args\": {\"mode\": \"hint\"}, \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.go\"}]},\n    {\"command\": \"gs_inline_diff\", \"keys\": [\"ctrl+c\"]},\n    {\"command\": \"gs_show_status\", \"keys\": [\"ctrl+s\"]},\n    {\"command\": \"insert_snippet\", \"keys\": [\"ctrl+shift+v\"], \"args\": {\"contents\": \"from IPython import embed; embed()\"}},\n    {\"command\": \"jump_back\", \"keys\": [\"alt+s\"]},\n    {\"command\": \"jump_forward\", \"keys\": [\"alt+w\"]},\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+down\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"down\"}},\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+shift+down\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"down_select\"}},\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+shift+up\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"up_select\"}},\n    {\"command\": \"line_jumper\", \"keys\": [\"alt+up\"], \"args\": {\"number_of_lines\": 5, \"cmd\": \"up\"}},\n    {\"command\": \"next_bookmark\" , \"keys\": [\"f10\"]},\n    {\"command\": \"open_dir\", \"keys\": [\"alt+f\"], \"args\": {\"dir\": \"$file_path\", \"file\": \"$file_name\"}},\n    {\"command\": \"open_file\", \"keys\": [\"super+alt+k\"], \"args\":{\"file\": \"${packages}\/User\/Default (OSX).sublime-keymap\", \"platform\": \"OSX\"}},\n    {\"command\": \"prev_bookmark\", \"keys\": [\"f9\"]},\n    {\"command\": \"reveal_in_side_bar\", \"keys\": [\"alt+r\"]},\n    {\"command\": \"select_quoted\", \"keys\": [\"alt+'\"]},\n    {\"command\": \"show_overlay\", \"keys\": [\"super+e\"], \"args\": {\"overlay\": \"goto\", \"text\": \":\"}},\n    {\"command\": \"show_overlay\", \"keys\": [\"super+t\"], \"args\": {\"overlay\": \"goto\", \"text\": \"#\"}},\n    {\"command\": \"side_bar_project_open_file\", \"keys\": [\"super+alt+p\"]},\n    {\"command\": \"spell_check\", \"keys\": [\"ctrl+t\"]},\n    {\"command\": \"sublime_jedi_find_usages\", \"keys\": [\"ctrl+f\"], \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.python - string - comment\"}]},\n    {\"command\": \"sublime_jedi_goto\", \"keys\": [\"ctrl+g\"], \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.python - string - comment\"}]},\n    {\"command\": \"toggle_side_bar\", \"keys\": [\"super+\"]}\n]<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u63a8\u85a6\u7d66 Web Developer \u7684 Sublime Text 3 \u63d2\u4ef6<\/p>\n","protected":false},"author":1,"featured_media":273,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39,116],"tags":[117],"class_list":["post-13","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-about-misc","category-about-web-development","tag-editor"],"_links":{"self":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":0,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media\/273"}],"wp:attachment":[{"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vinta.ws\/code\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}