2015年3月7日 星期六

Sublime Text 3 使用技巧

Sublime Text 3 使用技巧

SubLimeText3


注意:
由于Sublime Text 3只支持中文UTF-8编码,如果要手动输命令编译Sublime Text 3 写的Java源文件,必须加-encoding UTF-8参数

Sublime Text 3配置编译和运行Java

方法一:

打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打开,粘贴下面的代码并保存关闭:
  1. {
  2. "cmd": ["javac","-encoding","UTF-8","-d",".","$file"],
  3. "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  4. "selector": "source.java",
  5. "encoding":"GBK",
  6. //执行完上面的命令就结束
  7. // 下面的命令需要按Ctrl+Shift+b来运行
  8. "variants":
  9. [
  10. {
  11. "name": "Run",
  12. "shell": true,
  13. "cmd" : ["start","cmd","/c", "java ${file_base_name} &echo. & pause"],
  14. // /c是执行完命令后关闭cmd窗口,
  15. // /k是执行完命令后不关闭cmd窗口。
  16. // echo. 相当于输入一个回车
  17. // pause命令使cmd窗口按任意键后才关闭
  18. "working_dir": "${file_path}",
  19. "encoding":"GBK"
  20. }
  21. ]
  22. }
ctrl+B编译,Ctrl+shift+B运行。

方法二:

1.安装JDK并配置环境变量
2.在JDK的bin目录下新建runJava.bat文件:
  1. @echo off
  2. cd %~dp1
  3. echo Compiling %~nx1......
  4. if exist %~n1.class (
  5. del %~n1.class
  6. )
  7. javac -encoding UTF-8 %~nx1
  8. if exist %~n1.class (
  9. echo ------Output------
  10. java %~n1
  11. )
3.打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打开,粘贴下面的代码并保存关闭:
  1. {
  2. "shell_cmd": "runJava.bat \"$file\"",
  3. "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  4. "selector": "source.java",
  5. "encoding": "GBK"
  6. }
保存后即可在Sublime Text 3中按Ctrl+B编译Java运行文件,这种方法的缺点是无法在控制台输入,如果程序需要输入内容,则直接报错

快捷键总结

选择类

  • Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。
  • Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。
  • Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。
  • Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。
  • Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。
  • Ctrl+M 光标移动至括号内结束或开始的位置。
  • Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。
  • Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。
  • Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。
  • Ctrl+Shift+] 选中代码,按下快捷键,展开代码。
  • Ctrl+K+0 展开所有折叠代码。
  • Ctrl+← 向左单位性地移动光标,快速移动光标。
  • Ctrl+→ 向右单位性地移动光标,快速移动光标。
  • shift+↑ 向上选中多行。
  • shift+↓ 向下选中多行。
  • Shift+← 向左选中文本。
  • Shift+→ 向右选中文本。
  • Ctrl+Shift+← 向左单位性地选中文本。
  • Ctrl+Shift+→ 向右单位性地选中文本。
  • Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。
  • Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。
  • Ctrl+Alt+↑ 向上添加多行光标,可同时编辑多行。
  • Ctrl+Alt+↓ 向下添加多行光标,可同时编辑多行。

编辑类

  • Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。
  • Ctrl+Shift+D 复制光标所在整行,插入到下一行。
  • Tab 向右缩进。
  • Shift+Tab 向左缩进。
  • Ctrl+K+K 从光标处开始删除代码至行尾。
  • Ctrl+Shift+K 删除整行。
  • Ctrl+/ 注释单行。
  • Ctrl+Shift+/ 注释多行。
  • Ctrl+K+U 转换大写。
  • Ctrl+K+L 转换小写。
  • Ctrl+Z 撤销。
  • Ctrl+Y 恢复撤销。
  • Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。
  • Ctrl+F2 设置书签,F2切换书签
  • Ctrl+T 左右字母互换。
  • F6 单词检测拼写

搜索类

  • Ctrl+F 打开底部搜索框,查找关键字。
  • Ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找,略高端,未研究。
  • Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。
  • Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。
  • Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。举个栗子:在函数较多的页面快速查找某个函数。
  • Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。
  • Esc 退出光标多行选择,退出搜索框,命令框等。
  • Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入关键字,调用sublime text或插件的功能,例如使用package安装插件。

显示类

  • Ctrl+Tab 按文件浏览过的顺序,切换当前窗口的标签页。
  • Ctrl+PageDown 向左切换当前窗口的标签页。
  • Ctrl+PageUp 向右切换当前窗口的标签页。
  • Alt+Shift+1 窗口分屏,恢复默认1屏(非小键盘的数字)
  • Alt+Shift+2 左右分屏-2列
  • Alt+Shift+3 左右分屏-3列
  • Alt+Shift+4 左右分屏-4列
  • Alt+Shift+5 等分4屏
  • Alt+Shift+8 垂直分屏-2屏
  • Alt+Shift+9 垂直分屏-3屏
  • Ctrl+K+B 开启/关闭侧边栏。
  • F11 全屏模式
  • Shift+F11 免打扰模式

额外配置

推荐三个特别有用的:
"default_line_ending": "unix",
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
作用分别为:
  • default_line_ending 保证为 unix 风格的换行符(跨平台工作时特有用)。
  • trim_trailing_white_space_on_save 保证在文件保存时,移除每行结尾多余空格(升级过 JSHint 之后特有用)。
  • ensure_newline_at_eof_on_save 保证在文件保存时,在结尾插入一个换行符(让 git 提交时不生产额外的 diff)。

自动完成

Sublime Text 有 tab 键自动完成的功能,但有时自动完成的代码不一定是自己想要的,或者根本没有,这时你可以自己创建一个 snippet,创建方法:
点击 Tools -> New Snippet,这时会新建一个文件,其中第三行 Hello, 1:thisisa{2:snippet}. 是你要自动完成的内容, 1{2} 分别是第一次和第二次按 tab 光标移动到的位置。
下面第6行的 hello 就是触发 tab 自动补全的文字,例如示例中的触发文字就是 hello(要把 tabTrigger 前后的注释符号去掉)。
然后选择保存,在弹出的目录中把这个文件存成 .sublime-snippet 文件就可以了。

快捷的命令面板

直接在 Tool 菜单中选择 Command Palette,或是用快捷键:Shift + Command + P,输入命令名称(中的字母)就可以实时搜索到相应的命令、选项、snippet 和 syntex, 按下回车就可以直接执行,减少了查找的麻烦。

即时的文件切换

按下 Command + P(Mac) 或是 Ctrl + P(Windows),输入想要切换到的文件的文件名,都不用按下回车键,目标文件就已经展现在眼前了,虽然 Vim 配合 PeepOpen 也可以实现同样的功能,但速度却远没有这么迅速。

随心所欲的跳转
  • 用 Command+P 可以快速跳转到当前项目中的任意文件,可进行关键词匹配。
  • 用 Command+P 后 @ (或是Command+R)可以快速列出/跳转到某个函数(很爽的是在markdown当中是匹配到标题,而且还是带缩进的!)。
  • 用 Command+P 后 # 可以在当前文件中进行搜索。
  • 用 Command+P 后 : (或是Ctrl+G)加上数字可以跳转到相应的行。
  • 而更酷的是你可以用 Command+P 加上一些关键词跳转到某个文件同时加上@来列出/跳转到目标文件中的某个函数,或是同时加上#来在目标文件中进行搜索,或是同时加上:和数字来跳转到目标文件中相应的行。

多重选择(Multi-Selection)

多重选择功能允许在页面中同时存在多个光标,让很多本来需要正则表达式、高级搜索和替换才能完成的任务也变得游刃有余了。
激活多重选择的方法有两几种:
  • 按住 Command 或 Alt,然后在页面中希望中现光标的位置点击。
  • 选择数行文本,然后按下 Shift + Command + L。
  • 通过反复按下 Control/Command+D 即可将全文中与光标当前所在位置的词相同的词逐一加入选择,而直接按下 Alt+F3(Windows) 或是 Ctrl+Command+G(Mac) 即可一次性选择所有相同的词。
  • 按下鼠标中键来进行垂直方向的纵列选择,也可以进入多重编辑状态。

Vim 模式

如果更喜欢 Vim 的编辑模式,可以通过以下方法来激活 Vintage mode:
  • 按下 Shift + Command + P 调出命令面板。
  • 输入settings user调出 Preferences:Settings - User,并按下回车。
  • 这时会打开一个 Preferences.sublime-settings 的文件,如果是第一次修改,它应该是个空文件,把以下文本粘贴进去:
    {
    "ignored_packages": []
    }
  • 保存这个文件,这时按下 ESC 键,再按下一些你熟悉的 Vim 命令,是不是很有亲切感?

无干扰模式(Distraction Free Mode)

按下 Shift + F11 或是在菜单 View 中选择 Enter Distraction Free Mode 就可以进入这个 UI 最小化模式

12个不可不知的Sublime Text应用技巧和诀窍

http://segmentfault.com/a/1190000000505218
http://docs.emmet.io/abbreviations/syntax/

延长树莓派SD卡使用寿命
http://www.52pi.net/forum.php?mod=viewthread&tid=187


拯救你的SD卡,安装Raspbian到u盘上!

http://liduo.xyz/?p=25#more-25

25個SSH Commands的使用技巧

http://max-linux-space.blogspot.tw/2011/07/25ssh-commands.html

SSH 檔案傳輸的方法

http://forum.heyxu.com/tw/p/010400/milcas1v

產生 SSH key 來免密碼登入 SSH server

http://ephrain.pixnet.net/blog/post/58483708-%5Blinux%5D-%E7%94%A2%E7%94%9F-ssh-key-%E4%BE%86%E5%85%8D%E5%AF%86%E7%A2%BC%E7%99%BB%E5%85%A5-ssh-server

在linux中會預設將HOST編碼(Hash)後再存,以致於無法輕易的判斷哪一筆是對應哪一台server,解決方式有以下2種:
        (1)在/etc/ssh/ssh_config中把HashKnownHosts改成no,這樣HOST就不會編碼了。
        (2)直接把~/.ssh/known_hosts砍掉(全清掉)。



PHP String 函数

http://www.w3school.com.cn/php/php_ref_string.asp

執行權限設定在 /etc/sudoers

apache 預設的 http user 是 www-data,如果要用sudo執行exec 特定指令參考以下:
















www-data ALL=(ALL) NOPASSWD: /usr/sbin/smartctl,/usr/bin/php

如何在 Linux 底下找到想找的東西?

http://www.openfoundry.org/foss-programs/8628
Linux/Unix 程式設計 
http://dywang.csie.cyut.edu.tw/moodle23/dywang/linuxProgram/node1.html

win 7 64位元開機時輸入使用者名稱與密碼預設輸入法是新注音無法切換回英文輸入法

1.控制台 -> 變更鍵盤或其他輸入方法 -> 鍵盤及語言 -> 變更鍵盤 -> 確認"預設輸入語言"為"美式鍵盤"  -> 確定
2.控制台 -> 變更鍵盤或其他輸入方法 -> "系統管理" -> 複製設定 -> 確認"歡迎畫面"的輸入語言為"美式鍵盤" -> 將下面"歡迎畫面及系統帳戶"核選方塊打勾 -> 確定
取副檔名:extension="${filename##*.}"
取檔名:filename="${filename%.*}"
root@home~/Software/OS $ echo $a
abc.first.second

root@home~/Software/OS $ echo ${a%.*}
abc.first

root@home~/Software/OS $ echo ${a##*.}
second

  1. [lgfang@fbbox ~]$ a=00030
  2. [lgfang@fbbox ~]$ echo ${a##*0}
  3. [lgfang@fbbox ~]$ echo ${a##*(0)}
  4. 00030
  5. [lgfang@fbbox ~]$ shopt -s extglob
  6. [lgfang@fbbox ~]$ echo ${a##*(0)}
  7. 30

【Qt】QDir

http://ed32.blogspot.tw/2010/05/qtqdir.html
http://elinux.org/RPi_Hardware#How_Can_I_tell_if_the_power_supply_is_inadequate.3F

RaspberryPI : HDMI to VGA 加裝 USB 外接電源
http://gsyan888.blogspot.tw/2013/07/raspberrypi-hdmi-to-vga-usb-power.html
#1. 取得自己本機MAC,可以透過執行 shell_exec("ifconfig /all")  篩選出mac地址

#2. 取得同局網機器的MAC,shell_exec("ping 192.168.1.1 -c 1 | arp -a | grep 192.168.1.1");

网卡不存在,所以就提示"No such device eth0"..
Ubuntu保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules",
解决方法:
方法1:
直接删除配置文件,重启之后Ubuntu就会找到新的网卡了。
sudo rm /etc/udev/rules.d/70-persistent-net.rules
方法2:
修改配置文件,将原本的eth0删除,然后修改eth1的NAME="erh1"为NAME="eth0",重启之后Ubuntu就会使用新的配置文件设置网卡了。
方法3:
修改/etc/network/interfaces文件。
将所有的eth0替换为eth1。  如果是静态地址则同时修改相应设置。

实战Ubuntu远程开机 (Wake on Lan)

启动者(电脑A)  ----------->  被远程开启的电脑(电脑B)   一、被远程开启的电脑(电脑B): 1. 重新开机,并进到BIOS设定 2. 把Wake On Land / Wake On PCI(E)设为Enable 3. 储存并进入Ubuntu画面 4. sudo apt-get install ethtool 5. sudo ethtool -s eth0 wol g (eth? ?依该电脑网卡编号而定,可用ifconfig确认) 6. nano /etc/rc.local     新增以下2行:     sleep 5     ethtool -s eth0 wol g 7. nano /etc/init.d/halt     NETDOWN = no 8. 查询电脑网卡号码(MAC)     ifconfig     HWaddr 之后显示的就是网卡号码   二、启动者(电脑A): 1. sudo apt-get install wakeonlan 2. wakeonlan 电脑B的网卡号码,例如:     wakeonlan 00:11:22:33:44:55:66linux
HP CE285A 黑色 相容 碳粉匣
http://24h.pchome.com.tw/prod/DCAT00-A79962353

http://www.digpage.com/index.html
http://www.laravel-dojo.com/

How to install / setup PHP 5.5.x on Ubuntu 12.04 LTS

http://www.dev-metal.com/how-to-setup-latest-version-of-php-5-5-on-ubuntu-12-04-lts/