一.mac的简单使用
dock 苹果应用程序停靠栏
进入方法:
1偏好设置
2停靠栏右键,dock偏好设置
下面显示白色的应用程序表示已打开。
菜单栏
联动操作,当前操作的应用。
Finder
相当于winodw的我的电脑,mac中没有盘符的概念.路径显示 /Applications,/Users/xxx/Desktop
快捷键
复制:Command + C
粘贴:Command + V
回退:Command + Z
保存:Command + S
窗口操作
关闭窗口:Command + W
退出程序:Command + Q
管理多个桌面:Ctrl+上
切换程序窗口: Command(长按)+tab
切换输入法: Command(长按)+空格
重命名:点文件按回车
把文件放入废纸篓 cmd+del
清空废纸篓 cmd+shift+del
Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
或者
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO输完单击Enter键,退出终端,重新启动Finder就可以了重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->重新启动
unix基本命令
pwd 查看当前目录名称
cd 跳转到下一个文件夹或路径
ls 列出当前目录下的所有内容(文件\文件夹) -l 详细模式
touch 创建文件(文件不存在才会新建)
who 显示当前用户名
clear 清屏
mkdir 新建一个目录
open 打开一个文件\文件夹
tab 可以自动指令名称、文件名、文件夹名。
/ 根目录
./ 当前路径
../ 上级路径
常用文件夹
桌面:/Users/xxx/Desktop
文稿:/Users/xxx/Documents
下载:/Users/xxx/Downloads
应用程序:/Applications
常用软件
输入法,Xcode ,Yummy FTP,Paragon NTFS,MplayerX
二.Xcode6安装步骤
打开xcode6 dmg文件 把左边的Xcode拉到右边的Application中
三.Xcode模板
修改xcode的程序生成文件模板,需要改xcode里的东西
路径:Finder->应用程序->xcode右键显示包内容->Contents->Developer->Library->Xcode->Templates->
Templates下有两个文件夹,
一个是文件模板(File Templates)
一个是项目模板(Project Templates)
xcode创建项目下的OS X下的Application下的Command Line Tool对应的是
Project Templates->Mac->Application->Command Line Tool.xctemplate->TemplateInfo.plist
修改模板中的注释
File Templates/Source/Cocoa Class.xctemplate/NSObjectObjective-C/
___FILEBASENAME___.h
___FILEBASENAME___.m
*.plist文件就是要修改模版所需要的文件
Xcode打开*.plist会是一个树列表形式,而记事本打开将是一个完整的列表
四.Xcode快捷键
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前项目 command+control+w
关闭当前文件 command+shift+w
保存文件 command+s
保存所有文件 command+option+s
还原到保存时状态 command+u
项目中查找 command+shift+F
查找下一个 command+g
查找上一个 command+shift+g
浏览源文件 command+Double Click
打开头文件 command+shift+d
切换头/源文件 command+option+上箭头
注释 command+/
文件首行 command+上箭头
文件末 command+下箭头
行首 command+左箭头
行末 command+右箭头
上一单词 option+左箭头
下一单词 option+右箭头
上一拆分单词 control+左箭头
下一拆分单词 control+右箭头
Tab :接受代码提示
Esc :显示代码提示菜单
下个Build警告或错误 command+=
前个Build警告或错误 command+shift+=
以调试方式运行程序 command+y
继续(在调试中)command+option+p
编译运行 command+r
更多的快捷键
文件
CMD + N: 新文件
CMD + SHIFT + N: 新项目
CMD + O: 打开
CMD + S: 保存
CMD + SHIFT + S: 另存为
CMD + W: 关闭窗口
CMD + SHIFT + W: 关闭文件
编辑
CMD + [: 左缩进
CMD + ]: 右缩进
CMD + CTRL + LEFT: 折叠
CMD + CTRL + RIGHT: 取消折叠
CMD + CTRL + TOP: 折叠全部函数
CMD + CTRL + BOTTOM: 取消全部函数折叠
CTRL + U: 取消全部折叠
CMD + D: 添加书签
CMD + /: 注释或取消注释
CTRL + .: 参数提示
ESC: 自动提示列表
调试
CMD + \: 设置或取消断点
CMD + OPT + \: 允许或禁用当前断点
CMD + OPT + B: 查看全部断点
CMD + RETURN: 编译并运行(根据设置决定是否启用断点)
CMD + R: 编译并运行(不触发断点)
CMD + Y: 编译并调试(触发断点)
CMD + SHIFT + RETURN: 终止运行或调试
CMD + B: 编译
CMD + SHIFT + K: 清理
窗体
CMD + SHIFT + B: 编译窗口
CMD + SHIFT + Y: 调试代码窗口
CMD + SHIFT + R: 调试控制台
CMD + SHIFT + E: 主编辑窗口调整
帮助
CMD + OPT + ?: 开发手册
CMD + CTRL + ?: 快速帮助
Command + Shift + E :扩展编辑器
Command + [ :左移代码块
Command + ] :右移代码块
Tab :接受代码提示
Esc :显示代码提示菜单
Ctrl + . (句点):循环浏览代码提示
Shift + Ctrl + . (句点):反向循环浏览代码提示
Ctrl + / :移动到代码提示中的下一个占位符
Command + Ctrl + S :创建快照
Ctrl + F :前移光标
Ctrl + B :后移光标
Ctrl + P :移动光标到上一行
Ctrl + N:移动光标到下一行
Ctrl + A : 移动光标到本行行首
Ctrl + E : 移动光标到本行行尾
Ctrl + T :交换光标左右两边的字符
Ctrl + D:删除光标右边的字符
Ctrl + K :删除本行
Ctrl + L : 将插入点置于窗口正中
Command + Alt + D:显示open quickly 窗口
Command + Alt + 上方向键 :打开配套文件
Command + D :添加书签
Option + 双击:在文档中搜索
Command + Y :以调试方式运行程序
Command + Alt + P : 继续(在调试中)
Command + Alt + 0 :跳过
Command + Alt + I :跳入
Command + Alt + T :跳出
转到(Go To)
Control-F2 到菜单
Control-F3 到Dock
切换(Switch)
Command-Tab 在程序间切换
Command-` 在程序中的窗口间切换
窗口(Window)
Command-H 隐藏
Command-M 最小化
Command-N 新建
Command-O 打开
Command-P 打印
Command-Q 退出
Command-Q 退出
Command-W 关闭
F9 显示所有程序打开的窗口
F10 显示当前打开的窗口
F11 隐藏所有窗口并显示桌面
文件(File)
Command-S 保存
Command-Shift-S 另存为
Command-Shift-N 新建文件夹
Command-I 简介
Command-Option-I 显示多个项目的简介
移动(Move)
Home 移动到文件开头
End 移动到文件结尾
选择(Select)
Shift-Home 选择到文件开头
Shift-End 选择到文件结尾
编辑(Edit)
Fn-Backspace 删除光标后的字符
Finder
Command-Delete 删除
Command-Delete-Shift 清空垃圾桶
Command-Shift-A 转到应用程序目录
Command-Shift-C 转到COMPUTER目录
Command-Shift-H 转到HOME目录
Command-Shift-B 通过蓝牙传送文件
屏幕(Screen)
Control-Shift-Eject 屏幕休眠
Command-Shift-3 截取整个屏幕
Command-Shift-4 截取指定区域
Command-Option-- 缩小
Command-Option-= 放大
Command-Option-Control-8 将屏幕从“白底黑字” 切换成 “黑底白字”
Command-Option-Ctrl-> 提高对比度
Command-Option-Ctrl-< 降低对比度
系统(System)
Command-Option-Escape 强制退出程序
Command-Option-Eject 睡眠
Command-Control-Eject 关闭所有程序并重新启动
Command-Space 切换语言
Command-esc Front Row
Command-? 获得帮助
Command-F5 打开/关闭VoiceOver(朗读菜单、按钮等)
音量(Volume)
Shift-volume 调整音量但不发出提示音
Option-volume 打开“声音”的“系统预置”
Shift-Option-volume 微调音量(原有的16格调节细化为64格)
其它(Others)
Command-Shift-Y 用当前选中的文字生成便签
选中文字的方法:
在开头处点击一下,而后按着Shift键在结尾处点击一下;
在开头处点击两下,而后拖动指针至结尾处,点击一下;
按下Shift键之后按上下左右键(还可以搭配Option或者Command使用)
Double Click: 双击,选中光标所在的词;
Triple Click: 连击三下,选中光标所在的那个段落(这个很重要)
刪除文字:
Delete: 刪除光标之前的一个字符
Fn + Delete: 删除光标后的一个字符
Option + Delete: 删除光标前的一个词
Fn + Option + Delete: 删除光标后的一个词
以下三个快捷键非常有用:
Command + Delete: 删除光标至行首的内容
Control + K: 删除光标至本段末的内容
Control + Y: 将刚刚用Control + K或Command + Delete删除的内容粘贴至光标所在之处
Control + T: 将光标所在前后的两个字幕调换位置。不过,FIT中文输入法把这个键设置成了“简繁体输入切换”,所以在中文输入发激活的状态下,这个快捷键无法使用。
英文拼写工具
Shift + Command + ; 调出拼写检查对话框。
F5 补全当前单词。在TextEdit程序中,也可以用ESC查看拼写建议。(光标所在位置应该是英文字母之后)
富文本编辑
纯文本文件(txt)是没有格式的,但是富文本(rtf等等)是有各种格式的,设置格式的快捷键也基本上是通用的:
Command + B: 加重
Command + I: 倾斜
Command + U: 下划线
Command + +: 增大字体尺寸
Command + -: 缩小字体尺寸
Command + {: 靠左
Command + }: 靠右
Command + |: 居中
Control + Command + U: 将选中文字转换为大写格式(Upper case)
Control + Command + L: 将选中文字转换为小写格式(Lower case)
Control + Command + C: 将选中文字首字母转换为大写格式(Capitalize)
Command + K: 插入超链接
Shift + Option + Command + V: 以光标所在的格式粘贴
文档内搜索
Command + F: 搜索
Command + G: 搜索下一处
Shift + Command + G: 搜索上一处
输入特殊字符
Option以及Shift + Option这个功能键与其它单键组合,可以输入各种特殊字符3 :
按下Option之后的键表
按下Shift + Option之后的键表
FIT中文输入法
Shift: 中英文切换
Command + Space: 切换输入法
Shift + Space: 全角字符切换
Control + .: 中英文标点切换
Control + T: 简繁体输入切换
五.简单的oc程序
第一个oc程序
#include <stdio.h>
int main(){
printf("第一个oc程序");
return 0;
}
cc -c 01oc.m
//oc的扩展名是m
bug:xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
这个提示是因为我在安装xcode的时候,安装的是xcode_6_beta_7.dmg,然后安装到/Applications就成了xcode_6_beta_7.app,改成Xcode.app就好了
bogon:01oc whome$ cc -c 01oc.m
bogon:01oc whome$ cc 01oc.o
bogon:01oc whome$ ./a.out
第二个oc程序
int main(){
NSLog(@"第二个oc程序");
return 0;
}
bug: warning: implicitly declaring library function 'NSLog' with type
'void (id, ...)'
NSLog(@"第二个oc程序");
^
02oc.m:2:5: note: please include the header <Foundation/NSObjCRuntime.h> or
explicitly provide a declaration for 'NSLog'
这个bug表示没有引入框架库
第二个oc程序修改
/*
Foundation/NSObjCRuntime.h的路径:
应用程序/Xcode.app右击显示包内容->
/Applications/Xcode.app/Contents/Developer(开发者)/Platforms(平台)/iPhoneOS.platform/Developer(开发者)/SDKs(开发包)/iPhoneOS.sdk/System(系统)/Library(库)/Frameworks(框架)/Foundation.framework/Headers(头文件)
NSObjCRuntime.h中含有NSLog的声明,Foundation.h含有所有Foundation框架方法的声明
主头文件,主要头文件(Foundation.h)
#import的用途
1.跟#include一样,拷贝文件的内容
2.可以自动防止文件内存被重复拷贝,省略#ifdef #ifndef #endif 等判断是否定义了的方法
3.import与include的区别 #import比起#include的好处就是不会引起交叉编译
在 Objective-C中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import
确定一个文件只能被导入一次,这使你在递归包含中不会出现问题
*/
#import <Foundation/NSObjCRuntime.h>
int main(){
NSLog(@"第二个oc程序");
return 0;
}
bug:Undefined symbols for architecture x86_64:
"_NSLog", referenced from:
_main in 02oc.o
"___CFConstantStringClassReference", referenced from:
CFString in 02oc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
bogon:01oc whome$
编译时缺少参数,没有设置框架。
bogon:01oc whome$ cc 02oc.o -framework Foundation
bogon:01oc whome$ ./a.out
2014-09-09 07:57:58.216 a.out[1065:507] 第二个oc程序
第三个组合起来的oc文件们
bogon:03oc whome$ touch one.m
bogon:03oc whome$ open one.m
#import "test.h"
int main()
{
test();
return 0;
}
bogon:03oc whome$ touch test.m
bogon:03oc whome$ open test.m
#import <Foundation/foundation.h>
void test()
{
NSLog(@"进入了");
}
bogon:03oc whome$ touch test.h
bogon:03oc whome$ open test.h
void test();
bogon:03oc whome$ cc -c one.m test.m
bogon:03oc whome$ cc one.c
bug:clang: error: no such file or directory: 'one.c'
clang: error: no input files
没有这样的文件或目录
bogon:03oc whome$ cc one.o
bug:Undefined symbols for architecture x86_64:
"_test", referenced from:
_main in one.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
缺少test函数
bogon:03oc whome$ cc test.m
bug:Undefined symbols for architecture x86_64:
"_NSLog", referenced from:
_test in test-bb4343.o
"___CFConstantStringClassReference", referenced from:
CFString in test-bb4343.o
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
缺少main函数
bogon:03oc whome$ cc -c one.m test.m
bogon:03oc whome$ cc one.o test.o -framework Foundation
bogon:03oc whome$ ./a.out
2014-09-09 09:53:25.325 a.out[1357:507] 进入了
第四组oc组合程序
bogon:04oc whome$ touch one.m
bogon:04oc whome$ touch test.h
bogon:04oc whome$ touch test.c
bogon:04oc whome$ open one.m
#include <stdio.h>
#import "test.h"
int main(){
test();
return 0;
}
bogon:04oc whome$ open test.h
void test();
bogon:04oc whome$ open test.c
#include <stdio.h>
void test(){
printf("进入了");
}
bogon:04oc whome$ cc -c one.m test.c
bogon:04oc whome$ cc one.o test.o
bogon:04oc whome$ ./a.out
进入了bogon:04oc whome$