从Vim到Sublime Text

讲述我从vim转化到sublime text的过程

为什么选择Sublime Text

使用Gvim已经三年了,一直很喜欢Vim里面的hjkl等快捷键和多种模式,以致于在Chrome上安装Vimium插件,让我能够永远的脱离鼠标,很喜欢这种感觉。 但是,最近,由于工作需要,在Mac上进行开发,于是装上了MacVim,但是,以前一直用的好好地Vim出现bug了,无法直接双击打开文件(后来发下在终端下打开gvim就可以)加上之前一直听师兄说Sublime Text很好用,所以,我试着Google些资料,然后开始各种尝试…

Sublime Text 下开启Vim模式

对于一个习惯了Vim操作方式的程序员,这无疑是一个很好的消息,一下是配置方式

  • 按下Shift + Command + P,调出命令面板
  • 输入setting user,打开用户配置文件
  • 如果之前对配置过,此时应该是一个空文件,把一下代码贴入
1
2
3
{
    "ignored_packages": []
}
  • 保存这个文件,按下ESC键,这时候,你熟悉的Vim命令就回来啦…

最新版Sublime Text 3 ,点击这里下载

Sublime Text 常用快捷键

打开/前往

  • ⌘T 前往文件(和⌘P一样)
  • ⌘⌃P 前往项目
  • ⌘R 前往 method(markdown下,跳转至标题)
  • ⌘⇧P 命令提示
  • ⌃G 前往行
  • ⌘KB 开关侧栏
  • ⌃ ` python 控制台
  • ⌘⇧N 新建窗口

编辑(会用Vim的同学,可以开启Vim模式,和以前一样)

  • ⌘L 选择行 (重复按下将下一行加入选择)
  • ⌘D 选择词 (重复按下时多重选择相同的词进行多重编辑)
  • ⌃⇧M 选择括号内的内容
  • ⌘⇧↩ 在当前行前插入新行
  • ⌘↩ 在当前行后插入新行
  • ⌃⇧K 删除行
  • ⌘KK 从光标处删除至行尾
  • ⌘K⌫ 从光标处删除至行首
  • ⌘⇧D 复制(多)行
  • ⌘J 合并(多)行
  • ⌘KU 改为大写
  • ⌘KL 改为小写
  • ⌘ / 注释
  • ⌘⌥ / 块注释
  • ⌘Y 恢复或重复
  • ⌘⇧V 粘贴并自动缩进
  • ⌃ space 自动完成(重复按下选择下一个提示)
  • ⌃M 跳转至对应的括号
  • ⌘U 软撤销(可撤销光标移动)
  • ⌘⇧U 软重做(可重做光标移动)

XML/HTML

  • ⌘⇧A 选择标签内的内容
  • ⌘⌥ . 闭合当前标签

查找/替换

  • ⌘F 查找
  • ⌘⌥F 替换
  • ⌘⌥G 查找下一个符合当前所选的内容
  • ⌘⌃G 查找所有符合当前所选的内容进行多重编辑
  • ⌘⇧F 在所有打开的文件中进行查找

拆分窗口/标签页

  • ⌘⌥1 单列
  • ⌘⌥2 双列
  • ⌘⌥5 网格 (4组)
  • ⌃[1,2,3,4] 焦点移动至相应组
  • ⌃⇧[1,2,3,4] 将当前文件移动至相应组
  • ⌘[1,2,3…] 选择相应标签页

书签

  • ⌘F2 添加/去除书签
  • F2 下一个书签
  • ⇧F2 前一个书签
  • ⌘⇧F2 清除书签

标记

  • ⌘K space 设置标记
  • ⌘KW 从光标位置删除至标记
  • ⌘KA 从光标位置选择至标记
  • ⌘KG 清除标记

你也可以通过按住command+shift+p,输入keybinding user,往里面添加自定义快捷键。例如:

1
2
3
[
    { "keys": ["ctrl+alt+p"], "command": "markdown_preview", "args": { "target": "browser"} }
]

安装包控制(Package Control)

我么可以通过Sublime Package Control来进行插件的安装,卸载,升级 安装方法如下:

  1. 打开Sublime Text ,按住 ctrl + `,打开Console,通常这个快捷加可能会冲突,需要重新修改
  2. 将以下代码粘贴至控制台

import urllib.request,os; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), ‘wb’).write(urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(‘ ’,‘%20’)).read())

  1. 重启Sbulime,如果在Preferences -> Package Settings中见到Package Control这一项,就说明安装成功了。

    Sublime Text 常用插件

    MarkdownEditing

    如果安装了 Package Control,可以通过添加 repository,输入http://github.com/ttscoff/MarkdownEditing 然后在 Install Package 里找到 MarkdownEditing。 当然也可以手动 Clone 这个 repo 到 ~/Library/Application Support/Sublime Text 3/Packages。

MarkdownEditing 从视觉和便捷性上针对 Markdown 文档的编辑进行了一系列的优化

*  安装后针对 md\mdown\mmd\txt 格式文件启用插件。颜色方案仿 Byword 及 iA writer。
*  自动匹配星号(*)、下划线(_)及反引号(`),选中文本按下以上符号能自动在所选文本前后添加配对的符号,方便粗体、斜体和代码框的输入。
*  直接输入配对的符号后按下退格键(backspace),则两个符号都会被删除;直接输入配对的符号后按下空格键,则会自动删除后一个。
*  对“选中文字后输入左括号”这一动作进行了调整,以便插入 markdown 链接。
*  拷贝一个链接,选中文本后按下 ⌘⌥V 会自动插入内联链接。
*  拷贝一个链接,选中文本后按下 ⌘⌥R 会自动插入引用链接。
*  ⌘K 插入链接;⌘⇧K 插入图片。
*  ⌘B 和 ⌘I 分别用于加粗体和斜体。
*  选中文本后按下 # 会自动在文本前后进行配对,可重复按下来定义标题级别,还可用 ⌘⇧空格 来增加 # 与所选文本之间的空格(也是自动配对的)。

有些快捷键可能与系统的一些发生冲突,可以跟之前一样,通过修改自定义快捷键文件

JsFormat

功能类似之前Vim使用的Js beautiful插件,美化你的Js代码,可以通过Package Control 直接安装。按住shift + cmd + p输入js format可以对js文件进行美化。

Git

你可以通过按住shift + cmd + p然后输入几乎所有git命令,个人很喜欢里面的git blame命令,在当前文件下,输入git blame命令后,会打开一个文件,直接看到当前文件的修改内容,这些是谁修改的就一清二楚啦…

Alignment

这个插件对于有强迫症的同学,简直就是福音啊。例如一下代码

1
2
3
4
  this.clothPartInfoGrid = this.createGridPanel();
  this.yarnGrid = this.createYarnGrid();
  this.indexPanel = this.createIndexPanel();
  this.mainPanel =  this.createMainPanel();

简单通过选择,ctrl+command+a,即可美化

1
2
3
4
  this.clothPartInfoGrid = this.createGridPanel();
  this.yarnGrid          = this.createYarnGrid();
  this.indexPanel        = this.createIndexPanel();
  this.mainPanel         =  this.createMainPanel();

为Sublime Text 添加主题

可以通过Package Control 安装搜索,按住cmd+shift+p,输入install package,然后输入相应主题名,然后在user setting那里激活主题

1
2
3
4
{
  "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
  "theme": "Flatland Dark.sublime-theme"
}

推荐主题列表

Sublime Text 小技巧

  1. 防止自动更新: 找到Preferences -> Settings-User,然后在里面添加"update_check":false
  2. 为了能够在终端直接打开Sublime,你可以建立一个软连接,在终端输入 sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl,然后就可以运行subl --help来查看命令帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
使用:  subl [参数] [文件]         编辑指定文件
   : subl [参数] [目录]            打开指定目录
   : subl [参数] -             编辑 stdin
可用参数:
  --project <项目>: 读取指定项目
  --command <命令>: 运行指定命令
  -n  --new-window:  打开新窗口
  -a  --add:         向当前窗口中添加文件夹
  -w  --wait:        等待文件关闭后再返回
  -b  --background:  不激活程序窗口
  -s  --stay:        关闭文件后保持程序窗口激活
  -h  --help:        显示此帮助
  -v  --version:     显示版本号
读取 stdin 时会使用 --wait 参数。通过 --stay 可以在文件关闭后不返回终端(仅针对单个文件)。
可以通过向文件名添加 `:行号`  `:行号:列号` 后缀来打开到更具体的位置。
  1. 开启自动换行:按住command+shift+p,输入setting user,往里面添加"word_wrap" : true

  2. 最后的配置是这样的:

1
2
3
4
5
6
7
8
{
  "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
  "font_size": 13,
  "ignored_packages": [],
  "theme": "Flatland Dark.sublime-theme",
  "update_check": false,
  "word_wrap" : true
}

Comments