手指在键盘上飞速跳跃,终端上的代码也随着飞舞,是的这确实很酷。优秀的程序员总是这么一群人,他们不拘于现状,不固步自封,他们喜欢新奇的事,他们把自己发挥到极致。
指法攻略
放下您钟爱的鼠标吧,在前行之中它终会成为你的负累!
简记:
command 用来导航,控制导航区域
alt 控制右边的一些东西,比如Assistant Editor,utility editor
Control 编辑区域上的Jump bar的一些交互
Command 1~ 8: 跳转到导航区的不同位置
Command 0 :显示/隐藏导航区
Command Alt 1~ 6:在不同检测器之间跳转
Control Command Alt 1~4: 在不同库之间跳转
Control 1~ 6: 在Jump bar的不同标签页的跳转。
Command Alt 0: 显示/关闭工具区
Command + Enter: 显示标准单窗口编辑器
Command Alt Enter:打开Assistant editor
Command Alt Shift Enter: 打开版本控制编辑器
Command + Shift + Y:显示/隐藏调试区
Command + Shift + J,可展示当前你在工程导航器中打开的文件
Cmd + . 方便地暂停运行iOS模拟器
查找
使用 Command + Shift + Option + F 来打开 Find navigator 的替换模式,如果你嫌麻烦,也可以使用 Command + Shift + F 来打开 Find navigator 的查找模式,如果你还嫌麻烦,使用 command + 3 来打开 Find navigator,然后开启查找或者替换模式,选择一种最适合自己的方式就好。
快速打开
Command + Shift + O可以直接跳转到某个方法定义或者指定的代码文件。喜欢使用键盘但不喜欢使用鼠标的人会大爱这个快捷方式。键入第一个字母即可快速切换至某个文件或者找到特定的代码行。比如键入vDL,最先展示的结果是带有viewDidLoad()名的函数。
帮助
Command + Shift + 0 (Zero)打开文档和参考,键入代码中的某个关键字,文档提供了一些额外的资源和示例工程。当然也可以在变量、类或者方法名上执行Option+双击名称操作,从而更方便地跳转至文档。
在类或者方法名上执行Option + Left点击操作使用内联帮助可帮开发者快速学习类或代码片段的用法。如果点击了弹出视图底部的参考链接,那么就可以方便地跳转到Xcode提供的文档中。
个人比较中意Option+双击名称操作,毕竟来的直接。
代码片段
Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便。
常用代码块
1.copy:
1 | @property (nonatomic,copy) NSString *< #string#>; |
2.strong:
1 | @property (nonatomic,strong) < #Class#> *<#object#>; |
3.weak:
1 | @property (nonatomic,weak) < #Class#> *<#object#>; |
4.assign:
1 | @property (nonatomic,assign) < #Class#> <#property#>; |
5.delegate:
1 | @property (nonatomic,weak) id<< #protocol#>> <#delegate#>; |
6.block:
1 | @property (nonatomic,copy) < #Block#> <#block#>; |
7.mark:
1 | #pragma mark <#mark#> |
8.gmark:
1 | #pragma mark - <#gmark#> |
9.warning:
1 | #warning <#message#> |
10.ReUseCell:
1 2 3 4 5 6 | static NSString *rid=< #rid#>; < #Class#> *cell=[tableView dequeueReusableCellWithIdentifier:rid]; if (cell==nil){ cell=[[< #Class#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:rid]; } return cell; |
11.initObj:
1 2 3 4 | if (self=[ super init]){ < #init#> } return self; |
12.dataFill:
1 2 3 | -(void)dataFill:(< #ModelClass#> *)<#model#>{ < #code#> } |
13.MainGCD:
1 2 3 | dispatch_async(dispatch_get_main_queue(), ^{ < #code#> }); |
14.GlobalGCD:
1 2 3 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ < #code#> }); |
15.AfterGCD:
1 2 3 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(< #delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ < #code to be executed after a specified delay#> }); |
16.OnceGCD:
1 2 3 4 | static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ < #code to be executed once#> }); |
黑技能(给代码排序)
使用Spotlight来搜索Automator,并打开它;然后点击File->New,并选择服务(service)一项;在Actions筛选栏,输入shell,然后双击运行shell脚本;在新添加的服务的菜单栏上,检查Output replaces selected text;将脚本内容切换至sort | uniq;同时按下command + s,将服务保存为 Sort & Uniq。
详情可以参考之前的文档:《mac上自定义脚本命令》