Sublime Text 3常用技巧

Sublime Text具有漂亮的用户界面和强大的功能,其实好用才是硬道理。

1、安装

Sublime Text 是一个跨平台的编辑器,就平台版本而言,它可以支持OS X、Windows、Linux、Windows下还区分32位和64位程序,并支持安装版和绿色版可供选择下载。

限于篇幅,我在这里主要讲Windows下面的安装,目前我所使用Sublime Text3(3114)版本,你可以点我下载32bit64bit

因为上面提供的两种版本我均推荐大家使用安装版本,所以大家在安装的时候应该没有什么问题,很方便的一键安装,安装完成后试着打开一下Sublime Text看看。sublime未注册

你应该和我发现了,sublime还未注册,这是因为sublime是收费软件,并不是免费的。当然像博主这么smart的人,当然也懂得如何激活它(但这不是我的本意,希望大家能够在自己的能力范围里面最好购买它的商业授权价格:$70大约468RMB)。

我先发一串激活的License

—– BEGIN LICENSE —–
Michael Barnes
Single User License
EA7E-821385
8A353C41 872A0D5C DF9B2950 AFF6F667
C458EA6D 8EA3C286 98D1D650 131A97AB
AA919AEC EF20E143 B361B1E7 4C8B7F04
B085E65E 2F5F5360 8489D422 FB8FC1AA
93F6323C FD7F7544 3F39C318 D95E6480
FCCC7561 8A4A1741 68FA4223 ADCEDE07
200C25BE DBBC4855 C4CFB774 C5EC138C
0FEC1CEF D9DCECEC D3A5DAD1 01316C36
—— END LICENSE ——

好了,就帮你到这里了,具体的自己查看如何使用了吧。

2、安装Package Control

在安装Package Control之前我得先啰嗦一句你必须是成功安装好了Sublime Text 3,Package Control 插件是一个方便 Sublime text 管理插件的插件,由于我们所处的网络环境问题,一般使用联机下载安装通常是比较困难的,所以我在这里推荐大家使用离线下载(或称它为手工安装吧)。

  • 打开菜单栏的 Preferences > Browse Packages…
  • 返回上层目录,找到 Installed Packages 文件夹
  • 这个文件(Package Control.sublime-package)复制到 Installed Packages
  • 重启Sublime Text

你现在应该可以看到Package Control 菜单了。

Package Control Menu

我们可以在Package Control搜索自己将要安装的任何插件,但是在我们目前的网络环境下,通常情况下是无法自动安装的,所以手工安装插件的学习是尤为必要的,下面我来为大家介绍几款我常用的插件。

3、Sublime Text插件

  • HTML+CSS+JavaScript格式化代码插件(Sublime-HTMLPrettify)

Github地址:https://github.com/victorporof/Sublime-HTMLPrettify(不能打开是你的网络问题)

这是一个Sublime Text 2和3的插件,让你能够快速、方便格式化你的HTML,CSS,JavaScript和JSON代码。这个插件前提条件还需要依赖Node.js程序,所以我们得先要安装Node.js程序,下载地址在这里https://nodejs.org/en/download/,根据你的Windows版本进行选择,我在这里建议大家下载Windows Binary (.exe)的32bit64bit

下载完node.exe将它放在C:\Program Files下就可以了(其实可以随便放的,但是不推荐),Nodejs处理完毕,我们就开始下载Sublime-HTMLPrettify插件,如果github无法打开请到这里下载http://cdn.markdream.com/ref/packages/dev/Sublime/pack/Sublime-HTMLPrettify-master.zip

复制文件

下载完毕后,解压。打开Sublime Text3 > 打开菜单栏的 Preferences > Browse Packages…将你解压出来的 Sublime-HTMLPrettify-master 文件夹(是整个文件夹)复制到这里即可,重启Sublime Text。

你可以看到HTML/CSS/JS Preffity就表示你安装成功。Prettify

设置Nodejs程序的路径

打开Sublime Text3 > 打开菜单栏的 Preferences > HTML/CSS/JS Preffity > Set ‘node’ Path

“node_path”: {
“windows”: “C:/Program Files/node.exe”,
……
},

根据你自己的情况进行修改就可以了。具体的使用帮助请参见https://github.com/victorporof/Sublime-HTMLPrettify

  • Emmet

Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度。

Github地址:https://github.com/sergeche/emmet-sublime

本站下载:http://cdn.markdream.com/ref/packages/dev/Sublime/pack/emmet-sublime-master.zip

在使用这个插件之前需要下载PyV8,Windows下你可以下载32bit64bit。(注意下载下来的文件,解压出来自己新增一个PyV8文件夹,下面包含pyv8-win64-p3或pyv8-win32-p3),正确的路径应该是这样的..\Sublime Text 3\Packages\PyV8\pyv8-win64-p3(或)pyv8-win32-p3。

将下载的文件通通解压,然后拷贝到Preferences > Browse Packages… 文件夹中即可,重启Sublime Text即可。

Emmet使用参考:http://docs.emmet.io/

4、结语

在我的日常开发环境中,ST3与那些半自动化生产工具(DW)完全不在一个水平线上,无论是启动速度,还是插件资源都是其他软件无法比拟的。最最重要的还是好用、跨平台、全能型编辑器。

 

centos安装shadowsocks-libev

其实有很多可以说的,但我不说,直接上过程。

一、shadowsocks-libev安装


$ cd /home/markdream
$ git clone https://github.com/shadowsocks/shadowsocks-libev.git
$ cd shadowsocks-libev
$ sudo apt-get install build-essential autoconf libtool libssl-dev
$ ./configure 
$ make
$ make install

二、shadowsocks-libev的设置

通过上面的安装,你先可以对shadowsocks-libev进行配置了。


$ cd /home/markdream/shadowsocks/shadowsocks-libev/src #总之就是进入你刚刚下载的源码目录下面的src路径
$ vi config.json

在这个config.json里面写入这些东西


{
    "server":"110.11.1.1",
    "server_port":8388,
    "password":"yourpassword",
    "timeout":600,
    "method":"aes-256-cfb"
}

server里面的改成你的服务器IP地址、server_port改成你想设置的端口建议30000+,密码不说了,其他两个配置看个人需要,好了到这里就设置完成了。

三、shadowsocks-libev的启动

启动参数很简单,继续回到我们的src目录(/home/markdream/shadowsocks-libev/src)大概在这里的位置,请各位同学根据你自己的环境整理。

$ ./ss-server -c config.json -d 114.114.114.114

注意你的config.json的路径哦,不出什么疑问的话,你可以出现我现在这样的界面,那就证明你ok了。

ss

附带一个后台运行的命令

$nohup ./ss-server -c config.json -d 114.114.114.114

Yeah,你完成了SS服务器的配置,你可以用你的客户端连接工具来进行连接测试吧。

ss-client

centos用户登录提示:-bash: /dev/null: Permission denied解决方法

昨天测试了一下“mv xxxx.zip  /dev/null”之后,今天发现使用普通用户ssh登录到系统后出现了四条告警信息。

-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied

出现这个权限问题,也会导致“ll”命令无效,既然是权限问题,我们切换成root用户进去设置它的权限吧。

su root
chmod 777 /dev/null

设置完毕后,退出root用户,再重新连接即可。

 

MySQL备份数据到本地脚本

几年前写过一篇MySQL数据备份数据库的文章,今天我写这个是专门备份到本地的shell脚本,功能简单,和之前的shell脚本有所不同的是,在本次脚本中支持多个数据库备份,无需为每个数据库再定义一个shell备份脚本了。

Shell

#!/bin/sh 
#backup for mysql to local
#author jxcent@gmail.com 2015年10月27日 17:02:47


#备份到本地路径
xBackupPath=/home/databackup/
#mysqldump路径
xMysqlPath=/opt/mysql/bin/mysqldump
#数据库列表
xDBNameList=(wpx)

xArrayLength=${#xDBNameList[@]}

for (( i=0; i<${xArrayLength}; i++ )) ; do 

 xDateTime=`date +%Y%m%d%H%M%S` 

 ${xMysqlPath} ${xDBNameList[$i]} | gzip > ${xBackupPath}"/"${xDBNameList[$i]}"_"${xDateTime}".gz"

done

echo ${xArrayLength} 'DB backup complete!'

如何使用

cd /root
vi databackup.sh
#复制脚本内容到databackup.sh文件中,根据配置文件内的提示按照个人实际需求进行修改
#需要修改的地方有xBackupPath  xMysqlPath xDBNameList
#其中xDBNameList里面是数据库名中间以空格分隔开即可

#设置权限
chmod 700 databackup.sh
chown root:root databackup.sh

#运行测试
/root/databackup.sh

#如果出现无法连接数据库的错误提示,请按照要求创建一个root@localhost用户,且密码为空

文件生成命名规则为“数据库名_生成日期.gz”,例如“test_201510271722.gz”,欢迎拍砖!

Linux删除文件实现回收站功能

从事过服务器维护的人都知道rm、rm -rf 的厉害,执行起来一点也不马虎,有点六亲不认的感觉。刚开始我也没觉得rm的厉害,经过昨天rm掉我几天的工作量,我才发现rm就是一把双刃剑,幸好我的服务器有打快照,让我只损失了一天的工作量。

通过亲身体会到了rm的厉害,我不得不在以后的Linux维护甚至是生产环境中不得不加上回收站了,希望各位童鞋也能和我一样保持一种有回收站的习惯,切不可因为自己很仔细,抱着侥幸心理,“常在河边走哪有不湿鞋”。

好了,开始我们的创建回收站之路吧。

开始

首先在自己家的目录创建一个文件夹用来保存删除的文件

mkdir -p ~/.Trash

修改.bashrc文件

vi ~/.bashrc

在.bashrc文件后面添加下面这些


alias rm=trash        
alias rl='ls ~/.Trash'  
alias ur=undelfile  
undelfile()  
{  
  mv -i ~/.Trash/$@ ./  
}  
trash()  
{  
  mv $@ ~/.Trash/  
}
cleartrash()  
{  
    read -p "Clear trash?[n]" confirm  
    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /usr/bin/rm -rf ~/.Trash/*  
}

添加完毕后保存,执行source命令生效

source ~/.bashrc

使用

你现在可以使用rm(删除),ur(撤销),rl(列出回收站),cleartrash(清空回收站)命令了。

#删除一个文件夹,helloworld下面的文件均被移到回收站中
$rm helloworld

#删除一个文件
$rm abc.txt

#撤销abc.txt
$ur abc.txt

#撤销helloworld文件夹
$ur helloworld

#列出回收站
$rl

#清空回收站
cleartrash

好了,重在实践,这是一个很重要的配置,很重要很重要,希望大家不要像我被经历过才来做这件事情,不然有时候真的是欲哭无泪。

 

wordpress-twentyfifteen主题Google字体本地化配置

在我们的网络环境下,通常情况访问Google所有服务是十分吃力的,我们在使用Wordpress这么优秀的建站程序中,国外的主题一般都有用到Google提供的公共字体库,使用新的字体能让我们的网站变得漂亮美观,但是由于网络因素导致我们的网站打开异常缓慢,从而导致页面无法正常显示。如果你不想替换Google字体库的话,那么你可以在Wordpress插件里面搜索一款名叫“Disable Google Fonts”的插件,安装好后直接启用插件即可关闭Google字体加载。

下载字体包

这是Wordpress-twentyfifteen主题(只针对twentyfifteen主题哦)所用到的字体文件,我已经打包好了,有需要的朋友请下载它们吧。

http://cdn.markdream.com/google/fonts/wp-twentyfifteen-google-fonts.tar.gz

上传字体包

将它们上传到你的服务器上确保能够使用《你的地址》访问它们,修改解压出来的“font.css”文件,将文件里面的“https://api.markdream.com/xxx”的路径替换成你的地址(按照你的实际情况修改),在上传到你的服务器上去覆盖即可。

非同级域名下面的字体文件加载配置(Nginx)

如果你和我一样不再同一个域名下面调用字体的话,你还需要修改一下Webserver的配置文件,我这里就以Nginx为例子:

location / {
     add_header Access-Control-Allow-Origin https://www.markdream.com;
}

那么你会发现,请求这个路径下面的时候Nginx会返回一个头信息,当然像Google这样的公共字体库大家都能够引用它的文件资源,Google字体库的配置大概是这样的:

location / {
     add_header Access-Control-Allow-Origin *;
}

好的绕的有点远,让我们继续回到刚才这里,我们在这里假设上面都已经正确执行了,那么我们来修改一个主题的源代码了,修改别人的源码最简单的方法就是直接进行修改(当然这只是初级阶段,你也得注意要备份),为了简便起见的话,找到我们的twentyfifteen主题下面的functions.php文件,大约在152行,将twentyfifteen_fonts_url方法替换成下面这个方法即可,注意把下面的“fonts-url路径”修改你的,你的,你的路径(重要的事情说三遍):

function twentyfifteen_fonts_url() {
  $fonts_url = 'https://api.markdream.com/libs/google-fonts/wp-twentyfifteen-google-fonts/font.css';
  return $fonts_url;
}

保存好之后,那么你应该是可以去看看你的首页上面是否出现了上面的地址呢?打开的浏览器去试试吧。

更新后续:新增简单优化方案,支持HTTP(s)

这里似乎有一个更好的解决方案,使劲戳这里