Sublime Text 3 配置心得

[TOC]

这是长期使用 sublime text 后的踩了很多坑后的配置心得,如果有语言环境和类似的依赖,请自行安装插件,解决冲突

插件安装

插件的安装需要安装PackageControl,高版本sublime text 直接在 sublime 命令行里面执行 Install Package Control就行,低版本见 https://packagecontrol.io/installation

必安装的插件有,这写插件无视编程语言,肯定会用到

插件名称 介绍
BracketHighlighter 高亮显示匹配的括号、引号和标签
ConvertToUTF8 将除UTF8编码之外的其他编码文件在 Sublime Text 中转换成UTF8编码,在保存文件之后原文件的编码格式不会改变
IMESupport 输入法支持,让中文输入法跟随光标,这个问题主要表现在Win平台上
LogView 日志文档查询器,快捷键 mac cmd+shift+p win ctrl+shift+p 输入 set logfile, 注意logview渲染下的文件不能修改
MarkdownEditing Markdown编辑器
SublimeGit 使用sublime命令来提交git 使用方法是进入Sublime命令行 输入git后就明白了
SideBarEnhancements 侧栏菜单扩充功能
Terminal 打开文件夹后才可以使用,在这个文件夹中使用系统默认的命令行,跨平台插件,快捷键 mac Cmd+Shift+t win Ctrl+Shift+t
TrailingSpaces 多余空格和制表符提示
Trimmer 多余空格和制表符快速删除,快捷键mac Ctrl+s win Ctrl+Alt+s
GotoLastEdit 最后一次编辑位置 https://github.com/khrizt/GotoLastEdit 默认快捷键ctrl+q

强迫症患者需要的插件

插件名称 介绍
AceJump 字符跳转工具,快捷键 mac Cmd+; Cmd+Shift+' win Ctrl+; Ctrl+Shift+'
Alignment 代码编写自动对齐 https://github.com/wbond/sublime_alignment
AutoFileName 自动补全文件(目录)名
CodeFormatter 代码格式化
ColorPicker 跨平台取色器https://github.com/weslly/ColorPicker
Ctags 跳转到指定函数声明的地方 需要安装 ctag
Clickable URLs 快捷键跳转到URL所在的地方 https://github.com/leonid-shevtsov/ClickableUrls_SublimeText
Markdown Preview Markdown预览
DocBlockr 快速生成语言函数注释
ExpandRegion 扩展选区工具,新版本自带,不需要安装,快捷键Cmd-Shift-Space Win: Ctrl-Shift-Space
FileDiffs 比较两个不同文件的差异 https://github.com/colinta/SublimeFileDiffs
SublimeCodeIntel 代码提示和补全插件 https://github.com/SublimeCodeIntel/SublimeCodeIntel 此插件需要独立安装pip CodeIntel
SublimeLinter 代码检查插件支持JavaScript、CSS、HTML、Java、PHP、Python、Ruby等十多种语言 https://github.com/SublimeLinter/SublimeLinter/tree/sublime-text-3
IndentX 数据格式化工具 快捷键 mac cmd+k cmd+[ win ctrl+k ctrl+[
JsFormat json数据格式器 快捷键mac Ctrl+Shift+f win Ctrl+Alt+f

如果发现安装失败,请检查这个网站是否可以正常打开 https://packagecontrol.io/

插件安装如果不生效检查 Preferences -> Settings 中,插件是否在 ignored_packages 字段中

提示一下,语言渲染或者功能支持可以安装语言插件,比如 gralde语言,就可以使用插件Gradle_Language

配置全局环境变量

添加全局环境变量后,可以在命令行中执行 subl [文件或者文件夹] 让Sublime text来编辑这个文件或者文件夹,非常实用的配置

Win环境

将sublime text的安装目录配置到Path中即可,一般添加环境变量

SUBL_HOME = 您的安装全路径

让后在Path 环境变量中添加一条%SUBL_HOME%

Mac环境

  • 使用原生bash
vim ~/.bash_profile
alias subl=\''/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl'\'
  • 使用 zsh

在文件 ~/.zshrc 最后添加

alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
alias nano="subl"
export EDITOR="subl"

再执行source让配置生效

Mac 平台经过命令行打开的文件,默认是新建窗口打开的,如果想让文件是新选项卡中打开,Preferences -> Settings 中加入配置"open_files_in_new_window": false

显示空白空格和Tab

很多代码错误就是空格和Tab键导致的,开启显示方法是

Preferences -> Settings 中加入配置

{
    "draw_white_space": "all",
}

在标签中打开文件

{
    "open_files_in_new_window": false
}

忽略依赖目录

如果项目目录下面有 node_modules、bower_components 之类的文件夹则会影响输出结果,再加上这些文件夹中的文件平时不会去改动,并且如果扫描这些文件夹会导致卡顿

Preferences -> Settings 中加入配置

{
    "folder_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        "CVS",
        "node_modules",
        "bower_components"
    ],

常用官方快捷键

mac快捷键 Win快捷键 说明
Cmd+Shift+p Ctrl+Shift+p 进入sublime 命令行,可以运行很多插件和sublime的命令
Alt+Shift+2 Alt+Shift+2 设置2个分屏
Cmd+2 Ctrl+2 切换到2号分屏
Cmd+p Ctrl+p 当前窗口中按文件名查找文件
Cmd+r Ctrl+r 当前文件按照结构查找内容,快速跳转
Cmd+g Ctrl+g 跳转到当前文件的多少行
Cmd+d Ctrl+d 更改变量名,选中下一个同样的变量
Cmd+k Ctrl+k 跳过选中同一个变量,配合Cmd+d使用
Cmd+Shift+l Ctrl+Shift+l 选中多行后,多行同时编辑,有很多变式用法,自行挖掘吧
Cmd+f Ctrl+f 当前文件内查找
Cmd+Shift+f Ctrl+Shift+f 选定文件夹或者范围查找
Cmd+Shift+d Ctrl+Shift+d 复制一行,不进入剪切板
Cmd+k Cmd+u Ctrl+k Ctrl+u 按两次快捷键组合让选中内容大写 uppercase
Cmd+k Cmd+l Ctrl+k Ctrl+l 按两次快捷键组合让选中内容小写 lowercase

分屏快捷键详细说明

mac快捷键 Win快捷键 说明
Cmd+Tab Ctrl+Tab 分屏间切换
Cmd+number Ctrl+number 切换到number号分屏
Alt+Shift+number Alt+Shift+number 设置横行number个分屏
Cmd+k Cmd+up/down Ctrl+k Ctrl+up/down 分屏或取消分屏

|Cmd+k Cmd+left/right|Ctrl+k Ctrl+left/right|分屏或取消分屏|

自定义快捷键设置

因为我非常喜欢使用JetBrain的原生快捷键,便于记忆所以修改了部分配置

设置方法都是修改配置文件(格式Json) Preferences -> Key Bindings

Mac 平台配置

[
    // markdown preview
    {"keys": ["alt+shift+m"],
        "command": "markdown_preview",
        "args": {
            "target": "browser"
        }
    },

    //terminal
    {
        "keys": ["super+shift+t"],
        "command": "open_terminal",
        "args": {
            "parameters": ["-T", "Custom Window Title"]
        }
    },
    {
        "keys": ["super+shift+alt+t"],
        "command": "open_terminal",
        "args": {
            "parameters": ["-T", "Working in directory %CWD%"]
        }
    },

    // Rebind "go to file" to cmd+shift+O
    {
        "keys": ["super+shift+o"],
        "command": "show_overlay",
        "args": {
            "overlay": "goto",
            "show_files": true
        }
    },

    // Rebind swap line up/down to cmd+shift+up/down
    {
        "keys": ["super+shift+up"],
        "command": "swap_line_up"
    }, {
        "keys": ["super+shift+down"],
        "command": "swap_line_down"
    },

    // Delete a line with cmd+delete
    {
        "keys": ["super+backspace"],
        "command": "run_macro_file",
        "args": {
            "file": "Packages/Default/Delete Line.sublime-macro"
        }
    },

    // format code
    {"keys": ["super+alt+l"],
        "command": "reindent",
        "args": {
            "single_line": false
        }
    },
]

其中,super 就是 Cmd 键,注释中包含某些插件的比如 markdow preview,如果没有这个插件,就不需要配置这个项目

Win 平台配置

[
    // markdown preview
    { "keys":["alt+shift+m"],
        "comand": "markdown_preview",
        "args": {
            "target": "browser"
        }
    },

    // Rebind "go to file" to ctrl+shift+O
    { "keys": ["ctrl+shift+o"],
        "command": "show_overlay",
        "args": {
            "overlay": "goto",
            "show_files": true
        }
    },

    // Rebind swap line up/down to ctrl+shift+up/down
    { "keys": ["ctrl+shift+up"],
        "command": "swap_line_up"
    },

    { "keys": ["ctrl+shift+down"],
        "command": "swap_line_down"
    },

    // Delete a line with ctrl+delete
    { "keys": ["ctrl+backspace"],
        "command": "run_macro_file",
        "args": {
            "file": "Packages/Default/Delete Line.sublime-macro"
        }
    },

    // Reindent selection with ctrl+alt+L
    { "keys": ["ctrl+alt+l"],
        "command": "reindent"
    },

    // Reindent selection with ctrl+backspace
    { "keys": ["ctrl+backspace"],
        "command": "delete line"
    }
]

推荐阅读更多精彩内容