Sublime-text3使用经验

这个编辑器的打开速度是我喜欢的,它的自定义性又很强,经历bracket,atom等各种编辑器后,最后由laracastes.com再次将我带入Sublime text3的世界。下面,我主要介绍下中文输入法和laracastes.com里说的各种技巧。当然前提还是:你得学会在中国上互联网,代理或VPN都行。
下面进入正题.

用正确的姿势输入中文

用惯了windows的朋友一定要适应,在linxu和苹果系统里,我们更多的时候用命令行来打开编辑器更方便,这个是真的,如果能理解这个,拿你就可以接受在Ubuntu系统下中文输入的蹩脚的地方了:只能从命令行用subl来启动的Sublime Text3才能输入中文,具体原因请看原作者解释,我这里提供的方法相比还是比较简单的,两台Ubuntu系统测试通过,没有问题。

输入法安装

网址:https://github.com/lyfeyaj/sublime-text-imfix

命令流程:

## 更新系统
sudo apt-get update && sudo apt-get upgrade

## 克隆项目到本地
git clone https://github.com/lyfeyaj/sublime-text-imfix.git

## 运行脚本:进入克隆的目录,然后运行作者写好的脚本
cd sublime-text-imfix && ./sublime-imfix

##试试看是否可以输入中文了
subl

我遇到的问题

刚开始,按照作者的做法做了,然并卵!所以找问题,发现我没有装sogou输入法,我用的是google输入法,所以又装了下sogou输入法,运行如下命令居然安装了48M左右的东西,估计问题出在这里了:

gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC

当然,此时我没有测试是否能正常输入中文,接着,我添加ppa:fcitx-team/nightly,到软件源,然后更新了下,再然后,我安装了sogou输入法的deb包,过程中又下载安装了什么包,之后,一切就好了。

推荐安装的插件

慢慢整理,总共10个课时,ubuntu都行,视频在这里,laracasts.com.

先安装插件

PackageResourceViewer,然后安装好下面的皮肤后Ctrl+Shift+p运行PackageResourceViewer:Extract Package命令,选择相应的皮肤。

皮肤选择:

上面的都安装完后:打开 Settings-User,添加配色和皮肤选项设定:

"theme": "Material-Theme-DIY.sublime-theme",
"color_scheme": "Packages/Colorsublime - Themes/Facebook.tmTheme",

然后设定字体和大小是否显示行号等设置:

"font_size": 15,
"font_face": "Fira Code",
"line_numbers": false,
"margin": 0,
"overlay_scroll_bars" : "enabled",
"line_padding_top" : 3,
"line_padding_bottom" : 3,
"always_show_minimap_viewport" : false,
"bold_folder_labels" : true,
// Highlight active indent
"indent_guide_options" : [ "draw_normal", "draw_active" ],
"font_options" : [ "gray_antialias" ],
"use_simple_full_screen": true,

这里会用到字体:Fira Code

上面都设置完毕后,我们进入目录:/home/SignedUser/.Sublime Text 3/Packages/Material Theme,复制一份Material-Theme.sublime-theme,重命名为:Material-Theme-DIY.sublime-theme,打开重命名后的文件,修改颜色,将所有的38, 50, 56色值修改为:37, 43, 57。保存文件。

已安装插件:

MarkdownEditing

非常棒的markdown编辑辅助插件,快捷键如下:

OS X Windows/Linux Description
V CtrlWinV 粘贴剪贴板中的内容作为选择的文本内嵌的链接。
R CtrlWinR 粘贴剪贴板作为参考链接的内容。
K CtrlWinK 插入一个标准的内嵌链接。
K ShiftWinK 插入内嵌图像。
B I CtrlShiftB CtrlShiftI These are bound to bold and italic. They work both with and without selections. If there is no selection, they will just transform the word under the cursor. These keybindings will unbold/unitalicize selection if it is already bold/italic.
^1…6 Ctrl1…6 These will add the corresponding number of hashmarks for headlines. Works on blank lines and selected text in tandem with the above headline tools. If you select an entire existing headline, the current hashmarks will be removed and replaced with the header level you requested. This command respects the mde.match_header_hashes preference setting.
6 CtrlShift6 插入一个脚注,并跳转到它的定义。如果你的光标在一个定义,它会跳回标记。
F AltShiftF 定位到没有定义的脚注标记并插入其标记的定义。
G AltShiftG 定位链接引用未经定义和插入其标签在底部的定义。

AdvancedNewFile

快速新建和重命名文件!非常好用,+alt+nwindows+ctrl+n就可以新建文件。

Sublime-phpfmt

格式化代码

OmniMarkupPreviewer

我用的最好用的 markdown 预览,真的很好用,实时预览,浏览器和你编辑的内容是同步的,按:++O(是 O,不是0)即可在浏览器预览你的 markdown 样式效果。

PHP Getters and Setter

快速生成 get 和 set 魔术方法

SublimePHPCompanion

一键补全或引入命名空间,一键添加属性和构造方法

Origami

快捷分屏

Colorsublime

install themes功能,方便直接看到着色效果
可以先在它的网站上找到合适的:http://colorsublime.com

Better PHP Workflow

这一节安装的插件有:
PHP Getters and Setter

SublimePHPCompanion

添加 snippet

菜单栏:Tools->New Snippet…

我保存了这样几个:

  • 使用:输入pmet(met 是 method 的缩写),然后按 Tab

代码如下:

<snippet>
<content><![CDATA[
protected function ${1}(${2})
{
    ${3}
}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>pmet</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>
  • 使用:输入met,然后按 Tab

代码如下:

<snippet>
    <content><![CDATA[
public function ${1}(${2})
{
    ${3}
}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>met</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>
  • 使用:输入_c,然后按 Tab

代码如下:

<snippet>
    <content><![CDATA[
public function __construct(${1})
{
    ${2}
}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>_c</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.php</scope>
</snippet>    

PHP Getters and Setter">插件PHP Getters and Setter

这个插件的用法是:command+shift+p,输入php get就能找到相应的功能了,能够实现直接生成指定的或全部的 get 和 set 魔术方法。

SublimePHPCompanion">插件SublimePHPCompanion

这个插件很犀利,按一个键即可不全命名空间,或者添加命名空间引用,而定义了insert_php_constructor_property的快键后更牛,可以实现一键创建属性名称,同时构造方法封装.

针对这个插件,我的Key Bindings-User 配置,F7一键创建属性,F9一键不全命名空间,F10一键引入光标所在关键字的命名空间:

{ "keys": ["f9"], "command": "expand_fqcn" },
{ "keys": ["f10"], "command": "find_use" },
{ "keys": ["f7"], "command": "insert_php_constructor_property" },

默认的一键创建属性创建的都是private的,我想改为默认是protected,打开该插件的默认配置文件可以看到最后一行是"visibility": "private",这时,我们复制这一行,在 PHPCompanion 插件的 User 配置文件里添加{}然后将"visibility": "private"拷贝进去,并修改privateprotected

OK,至此,操作完毕。