池建强 博客 Mac使用技巧 第一季

时间:2024-08-05 15:34:56

第1天:

今天推送的Mac技巧:

  1. 使用OS X,我们可以充分利用系统提供的多个Space,把不同的程序放到不同的Space,让我们的系统更有扩展性。如何增加Space呢?四指上推,在桌面的最上方会出现当前的Space,把鼠标移到Space列表的右侧,会出现一个带+号的空间,点击加号,即可增加一个Space。
    那么如何把某个程序固定在某个Space打开呢?在某个Space打开程序,在Dock中找到这个程序图标,鼠标长按会出现一个菜单,选项-分配给,选“这个桌面”,下次再打开这个程序,就会自动进入设定的Space。
    Space的排列方式可以在Mission Control里设置,比如选择按照使用情况自动排列等。

  2. 当我们不想在使用当前程序的时候看到其他程序的时候,可以使用快捷键option+command+h,这时除了你正在使用的程序,其他所有的程序都会被隐藏起来,有助于你专心工作。想切换到其他程序时,可以使用command+tab。

  3. AppleScript是Apple开发的一种脚本语言,可以用来控制运行于OS X的程序,也可以写成独立运行的程序。学会AppleScript,可以帮我们自动化完成很多事情,而且这种语言非常容易学习,类似自然语言

第2天:

今天推送的Mac技巧:

  1. 文件颜色标签的使用
    OS X的Finder提供了颜色标签的功能,可以直接为文件和文件夹标记颜色。我在很长一段时间都没有注意到这个功能,一次偶然的机会开始使用颜色标记文件,感觉非常方便。
    比如我会在Finder的主目录下用颜色标明最常访问的文件夹。如果是电子书,可以用颜色表示阅读状态,例如绿色表示正在阅读,灰色表示读完了,橙色表示待阅读等等。大家可以根据自己的习惯使用颜色标签,提高效率。

  2. 利用邮件中的日期创建日历事件
    工作中我们总是通过邮件来通知会议和活动,这时邮件中往往有日期信息。我们可以利用这个信息直接创建日历事件。打开邮件,把鼠标移动到有效的日期信息上,会出现下拉菜单的按钮,点击后可以为日历添加事件,事件标题默认为邮件标题,如图所示,非常方便。

  3. AppleScript小程序
    今天为大家介绍用AppleScript实现一个示例小功能:清空废纸篓。打开AppleScript编辑器,输入如下代码:

    tell application "Finder"
    set isEmpty to "是否清空废纸篓!"
    display dialog isEmpty
    empty the trash
    say "It is done!"
    end tell

    点击工具栏的编译按钮,检查没有错误后,点击运行即可,大家可以看看发生了什么。明天为大家介绍这段脚本的含义。

第3天:

今天推送的Mac技巧:

1、Homebrew

很多人发来微信,说能否介绍Mac下类似Ubuntu的apt-get的包管理器。今天给大家介绍一下Homebrew。
Homebrew的功能和OS X自带的MacPorts很像,但是更为轻量级,由于大量利用了系统自带的库,安装方便,编译快速,实在是OS X系统开发中之必备工具。
安装方式:ruby -e “$(curl -fsSkL raw.github.com/mxcl/homebrew/go)”
使用方式:brew install wget //安装wget工具。
具体的使用请参考:https://github.com/mxcl/homebrew/wiki

2、AppleScript:
解释一下昨天的程序脚本:

-- 操作对象是Finder
tell application "Finder"
--为isEmpty变量赋值
set isEmptyto "是否清空废纸篓!"
--显示确认对话框,点击确认程序继续执行,点击取消终止程序
display dialog isEmpty
--清空废纸篓
empty the trash
--通过语音说这事搞定了
say "It is done!"
endtell

第4天:

今天推送的Mac技巧:

1、根据文件名快速查找文件
我们在OS X中查找文件或文件内容一般使用spotlight或alfred,这些功能以前的Mac技巧中都介绍过,不过,如果你知道文件名的一部分,想更加快速的定位文件,那么就会用到命令行工具locate。

locate是Unix/Linux下的命令工具,基本原理就是通过定期更新系统的文件和文件名并把索引信息放入系统的数据库中,当通过locate查找文件时直接从数据库里那数据。而且locate可以查到spotlight查不到的系统文件。

基本的使用方法非常简单,比如你想找niginx的配置文件在哪,只需输入:

locate nginx.conf

2、设置用户登录选项

OS X系统登录后会自动启动一些程序,比如alfred、拼音输入法、风扇控制软件等等,有时我们会嫌多,有时又想增加一些启动项,在哪设置呢?

打开系统偏好设置-用户与群组,选中当前用户,点击右边的登录项,你就会看到系统启动时加载的程序,可以随意删减,还能够设置启动后隐藏,非常方便。

第5天:

今天推送的Mac技巧:

1、修改你的登录窗口
我们默认登录OS X时,系统会显示登录用户列表,你需要用鼠标点一下要使用的用户,然后出现登录框,输入密码登录。这对很多键盘控是不可接受的。我们需要直接输入用户名密码登录!
打开系统偏好设置-用户与群组,点击左侧下方的登录选项(很奇怪很多人找不到这个),在右侧修改登录窗口为名称和密码。注销登录,这次你们满意了吧。

2、很多人第一次用Mac的键盘是会发现,苹果也太抠门了,退格键木了,PageUP/PageDown/Home/End也木了。别担心,您不是还有delete键和上下左右方向键么?delete相对于退格键,fn+delete可以往前删,fn+上下左右方向键可以实现PageUP/PageDown/Home/End的功能,一个都不能少。

第6天:

今天推送的Mac技巧:

1、很多人都会使用QuickTime Player看mp4或mov视频文件,但其功能远不止于此。option+command+n,可以打开录像功能,ctrl+option+command+n可以打开录音功能,ctrl+command+n可以打开录制屏幕功能,最后一个功能非常适合做产品介绍或产品演示,大家可以试一试。遇到快捷键冲突的,在QuickTime的文件菜单也可以找到这三项。

2、有人问如何把iPhone或iPad里的照片导入Mac,我自己用的办法是Dropbox,安装了Dropbox之后,每次用USB连接iPhone或iPad时,程序都会提示是否有新照片需要导入,导入后自动云端同步。不用Dropbox的同学,另外一个简单的方式是连接移动设备时,打开预览程序,点击文件,可以看到一个“从iPhone/iPad导入”的菜单,点击一下,后续你基本就知道该怎么做了。

当然还有其他方法,比如打开图像捕捉或iPhoto程序……

昨天提到登录时选择用户列表时必须用鼠标是不对的,有位订阅用户严肃的指出了这个问题,他表示用左右方向键可以选中和切换用户,我试了一下果然如此,在此表示感谢,兄弟,你是对的。

第7天:

今天推送的Mac技巧:

1、快速创建日历事件
OS X提供了智能创建日历事件的功能。打开日历程序,点击左上角的+号,在弹出的输入框里输入:明天上午9点到13点参加公司年会,回车。看看效果如何?日历程序会准确的创建你想要的事件。大家可以试试其它写法。

2、推荐免费的显卡监控软件gfxCardStatus
现在大部分Mac都有两块显卡,集成显卡和独立显卡。OS X会根据不同的程序自动切换显卡,但有时候我们在电池供电的情况下会由于某些程序的原因一直使用独立显卡,会大大缩短待机时间,这时候就能用到这个软件了。gfxCardStatus能做的事情有两件,一件是手动切换显卡。另一件是监控现在系统在使用哪块显卡,如果是独立显卡的话,是因为哪个程序导致必须使用独显。下载地址:http://gfx.io

第8天:

今天推送的Mac技巧:

1、创建智能文件夹

Finder提供了智能文件夹的功能,简单来说就是固化你的搜索条件,并形成文件夹存放在左侧边栏。
例如你想建一个文件大小大于1G的智能文件夹,使用快捷键option+command+n呼出新建智能文件夹界面,点击最右侧的加号,在条件选择第一栏选择大小,第二栏选择大于,第三栏输入1G,你就可以看到你的Mac上文件大于1G的列表,点击存储,命名后该文件夹就会出现在左侧边栏。随时点击随时动态监控自己的硬盘上有哪些超过1G的大文件。试试其他搜索条件吧!

2、自动打开程序文稿
OS X提供了自动恢复上次关闭程序时打开的文稿和窗口的功能。这就是说,如果你使用预览程序打开了5个PDF文件,用command+q关闭了预览程序,下次打开预览程序时,会自动恢复这5个PDF程序,包括文字选中的状态,阅读进度等信息。这个功能我非常喜欢,但有时候我们并不希望自动恢复,那么有两种方式可以关闭这个功能。
第一种:打开系统偏好设置-通用,选中“退出应用时关闭窗口”,这样所有的程序都不再具备恢复功能。
第二种:退出程序时使用option+command+q而不是command+q,相当于关闭所有文件并退出程序,下次打开时,这些文件就不会自动打开了。

第9天:

今天推送的Mac技巧:

1、智能邮箱
邮箱账户的创建相信一般的用户都可以正常操作,不知道你是否使用过OS X中Mail的智能邮箱功能呢?
打开邮件程序,点击邮箱-新建智能邮箱,在弹出的窗口中选择你的过滤条件,过滤条件非常灵活,可以定义与或关系,增加多个过滤条件,设置完成后保存即可,你会发现左侧栏多了一个智能邮箱,点击即可根据你设置的过滤条件找到那些符合条件的邮件。

2、隐藏的VIP
如果你的系统是10.8.2,那么你就会发现邮件程序中多了一个隐藏的VIP功能。随便找封邮件,把鼠标放在发件人或收件人的邮件地址上,会出现一个蓝色的选择框,点击其中的白色箭头,在下拉菜单中点击“添加到VIP”,你就会发现左边栏多了一个VIP分栏,点击加入的VIP用户,可以直接查看他们发送的邮件。

第10天:

今天推送的Mac技巧:

  • 在Finder中打开某个文件夹下所有子文件夹 有时候我们希望在Finder中查看某个文件夹下的所有文件和子文件夹,怎么做到呢?把文件切换到列表视图(command+2),把排序方式设置为不排序,这时文件夹左侧会出现一个箭头。按住option键点击文件夹左侧的箭头,你就会发现所有的文件和文件夹都展现在眼前了。注意,如果该文件夹下文件太多,不建议使用,打开会需要很长时间。
  • 介绍一个好玩但不实用的功能。所有具备动画效果的操作,按住shift键,会播放慢速动画。大家可以试试按住shift键的时候最小化窗口,效果非常酷。

第11天:

今天推送的Mac技巧:

  • 推荐一款免费的Finder增强工具:XtraFinder,这个插件具备和TotalFinder类似的功能,支持tab、文件夹置顶、多窗口、剪切、全局热键等功能,重要的是这是一个完全免费的*软件,而TotalFinder要18刀。 下载网址:http://www.trankynam.com/xtrafinder/
  • 我们平时会把iPhone接到macbook上充电,事实上把macbook合上待机时,仍然可以为iPhone供电,大家可以试一下。如果你出游时会带上你的mac,别忘了这也是一块大的移动电池。

第12天:

今天推送的Mac技巧:

问题一:OS X自带截屏不好使了,截屏之后有“咔嚓”的程序运行声,但图片不知道去哪里了,如何修复?

答复:OS X自带的截图文件是存储在桌面上的,你的可能是被修改过了,我们可以通过以下命令恢复默认路径:
defaults delete com.apple.screencapture location
注销重新登录,再次截屏看看文件是否保存在桌面上了。

问题二:如何为OS X自带的字典增加中文词典?

答复:目前OS X自带的字典程序是没有中文的,不过我们很容易为其扩展新字典。操作如下:
1、如果打开了字典程序,关闭。
2、到以下网址下载朗道英汉和汉英词典,解压缩得到两个后缀为dictionary的文件
http://pan.baidu.com/share/link?shareid=249542&uk=2617481269
3、把这两个文件复制到~/Library/Dictionaries下。
4、启动字典程序,你就会看到增加了朗道英汉字典和朗道汉英字典。

问题三:如何实现Mac和Android手机之间日历、备忘和todolist的共享?
答复:可以尝试使用GMail实现以上功能。
打开系统偏好设置-邮件、通讯录、日记,添加GMail账户,添加之后选中账户,把右边的日历与提醒事项、备忘录都选中,这样系统中设置的日历、提醒和备忘就会同步到Google的账户上,Android你们应该知道怎么使用Google的账户吧…

第13天:

今天推送的Mac技巧:

在Mac之间进行文件共享有很多中方式,介绍两个最简单的,具备AirDrop功能的两台或多台Mac,在链接wifi的情况下打开AirDrop,就会到找同样打开AirDrop的Mac,把想传送的文件拖放到其他人的Mac头像上即可。

另一个就是利用系统的共享功能。打开系统偏好设置-共享,点击左侧栏的文件共享,在右侧区域配置即可。

第14天:

今天推送的Mac技巧:

删除程序。

删除Mac上的程序有很多种,比如直接去应用程序文件夹下删除、用CleanApp删除等等,今天介绍一个最好玩的。

打开launchpad,按住option键,就会看到所有的程序图标都会像iOS图标那样晃动起来,点击图标左上角的叉,即可删除程序,操作和iOS一样。

另外昨天介绍的AirDrop功能不够严谨,多台机器并不需要接入网络,都打开wifi即可进行文件传输。当然机器的距离不能太远。

第15天:

今天推送的Mac技巧:

快捷键帮你找到保存的文件。

我们经常会使用文件下载、另存为或导出等功能,这时系统会提示你选择要保存的文件路径,保存完之后我们往往要到保存的文件路径下查看保存的文件,事实上我们可以提前打开要保存的Finder窗口,具体操作就是在选择保存的窗口时,通过command+r直接打开Finder,Finder会自动跳到你选择的路径,完成保存操作后切换到这个Finder窗口即可。

第16天:

今天推送的Mac技巧:

1、command+上下方向键。
这两个快捷键很多应用程序都支持,具体功能就是屏幕滚动到应用程序的顶部或底部,类似很多网站提供的“回到顶部/底部”功能。Safari、Chrome、Firefox、Pages、Evernote等默认支持这样的功能。
在使用快捷键呼出Spotlight的时候,使用command+上下方向键还可以在搜索分组之间切换,非常方便。

2、以前为大家推荐过Finder插件XtraFinder,今天再介绍一下。
因为我是TotalFinder的付费用户,所以一直没使用XtraFinder,最近用了一下发现XFinder比TFinder功能更强大,比如垂直或水平排列多个Finder窗口,双击Tab打开Toggle Dual面板,自定义Finder颜色,自动判断列宽,选中文件回车打开,delete键回退,显示包的Content菜单,新建文件,在当年文件夹打开终端等等,这还不包括TFinder具备的功能。(这些功能都可以通过配置实现)
做为一个收费软件,TotalFinder该加油了,做为一个免费软件,XtraFinder值得大家拥有。下载网址:http://www.trankynam.com/xtrafinder/

第17天:

今天推送的Mac技巧:

款Mac上的阅读类App:

1、Kindle for Mac:支持视网膜屏,支持本地阅读和Amazon商店,支持中英文字典,电子阅读体验一流。遗憾的是不能整合中国和美国Amazon的帐户,导致电子书商品也没法使用同一个帐户阅读。(免费)
2、Reeder:最好的Google Reader阅读器,没有之一,如果你是重度GR用户,推荐使用。(收费)
3、Pocket:最好的稍后读App,支持标签分类、编辑等功能,支持Safari、Chrome等插件,非常适合知识积累(免费)
4、Evernote:很好的笔记类App,5.0之后UI有了很大的改进,目前我所有的文章都是用Evernote管理。(免费,有收费版本)

以上四个App在iPad、iPhone上也有相关应用,并且都支持云同步,合理使用对提高读写效率非常有帮助。

第18天:

今天推送的Mac技巧:

1、查看电源状况

按住option键,点击右上角的苹果-系统信息,在打开窗口的左侧栏中找到电源,点击即可查看电源的详细信息,主要的指标包括电池循环计数、状况等信息。如果您安装了Alfred,呼出后直接输入sys,也可以找到系统信息。

如果想简单查看一下电池的使用状况,按住option键点击顶部工具栏上的电池图标,可以显示电池使用状况。如果出现“尽快更换”、“修理电池”等信息,那么有可能是电池出了问题,建议先重置系统管理控制器(SMC),如何重置可以去Apple的官方支持网站查一下。还没效果的话,可能就需要换电池了。

2、推荐一款Mac上的图像处理软件:Pixelmator,这款软件号称Mac上的精简版PhotoShop,而且更为人性化,适合非专业人士使用,不是平面设计人员也可以作出非常专业的图像设计。Mac技巧里很多配图我都使用这款软件加工过,很好用。收费软件,但值得拥有。

推荐一个Podcast视频教程:http://www.pixelmator.com/tutorials/itunes/

第19天:

今天推送的Mac技巧:

OS X特有的搜索命令,mdfind

mdfind是一个非常灵活的全局搜索命令,类似Spotlight的命令行模式,可以在任何目录执行文件名、文件内容进行检索,例如:
mdfind 苹果操作系统
//搜索文件内容或文件名包含苹果操作系统的文件
mdfind -onlyin ~/Desktop 苹果操作系统
//在桌面上搜索文件内容或文件名包含苹果操作系统的文件
mdfind -count -onlyin ~/Desktop 苹果操作系统
//统计搜索到的结果
mdfind -name 苹果操作系统
//搜索文件名包含苹果操作系统的文件

第20天:

今天推送的Mac技巧:

OS X的命令:mdls
mdls可以列出某个文件或文件夹的所有元数据信息,针对不同文件显示不同的元数据信息,例如文件创建时间、类型、大小等,如果是图片或音视频文件,则会显示更多元数据信息。使用方式非常简单:
mdls ~/Desktop/a.jpg
如果想查看图片的ISO数据,可以使用如下命令:
mdls ~/Desktop/a.jpg|grep ISO

第21天:

今天推送的Mac技巧:

推荐两个写markdown的Mac App,一个是Mou,一个是Byword,一个免费,一个收费,各有所长,大家自己体会吧。
相关链接:
http://bywordapp.com

http://mouapp.com

第22天:

今天推送的Mac技巧:

为大家推荐一款国产程序猿完成的Mac App——Miao,目前Mac下最好的微博客户端,收费软件25元。
相关链接:
https://itunes.apple.com/cn/app/miao-for-weibo/id572434156?l=en&mt=12

https://beyondcow.com/miao/

第23天:

今天推送的Mac技巧:

今天应某位听友的要求,介绍下Finder的搜索,其实我以前介绍过智能文件夹,和这个搜索类似。
打开Finder,进入某个文件夹,通过command+f呼出搜索界面,在工具栏下方出现搜索框,可以选择在当前文件夹搜索,或点击“这台 Mac”做全局搜索。
然后选择搜索条件,可以针对种类、内容、时间、文件大小进行全方位组合搜索,还可以点击右上角的存储,把搜索条件存储为智能文件夹,非常方便。

第24天:

今天推送的Mac技巧:

1、很多程序猿在调试程序的时候总会用到f7、f8这些键,但在OS X里这些功能键默认分配了一些功能,想使用的话需要同时按fn+f8…

如果希望将这些f按键用作标准功能键而且不需要按 fn,可以执行以下操作:

打开系统偏好设置-键盘,选中“将 F1、F2 等键用作标准功能键”,启用此选项时,顶部一行按键将用作标准功能键 (F1 – F12),而不执行音量控制等特殊功能。启用此选项后,若要使用这些按键的特殊功能,请按fn,比如请fn+f8来播放音乐。

2、介绍一个命令:file,可以查看相关文件的类型和属性,相对于mdls,这个更亲民一些,基本用法:file xxx.png,大家感受一下。

第25天:

今天推送的Mac技巧:

如何查看Mac技巧的历史内容?由于太多次被问到这个问题,我决定写下这篇索引,提供一个临时的索引查询方案。虽然本人生平写过无数文章,但是这一篇我认为,依然是不完美的……

http://www.cnblogs.com/chijianqiang/archive/2013/02/23/macindex.html。

2、在Mac下如何翻-墙?在Mac下翻-墙的方案有很多种,我使用VPN的方式。以前介绍过,问的人还是很多,不一一答复了,xxxxx.com(有需要留私信吧),你们体验一下。

3、为什么下载Mac App Store和iTunes App Store的软件慢的像牛一样?牛其实跑起来并不慢,只是没有好的驱动而已,尤其是在咱们天朝,得讲求方式方法。第一种直接挂VPN,速度会有明显提升;第二种改DNS,V2EX DNS值得信赖,http://dns.v2ex.com

第26天:

今天推送的Mac技巧:

1、如何配置多种网络环境 我自己无论在公司还是家里都是DHCP自动分配IP,所以不需要进行网络环境切换。但有些用户有时自动有时手动,需要多套网络配置方案,每次修改实在是太麻烦了。曾经有人问我Mac上是否有这样的第三方软件?我说没有,因为OS X的网络设置本身就提供了这样的功能。

打开系统偏好设置-网络,点击位置下拉菜单,找到编辑位置,打开后即可增删编辑多套网络设置,设置完成后保存。

这时点击屏幕左上角的苹果图标,在下拉菜单里增加了一个位置选项,里面就是你配置好的多种网络设置,点击切换即可。

2、打开OS X的终端,通过man命令可以直接查看该命令的使用手册,但有时我们会觉得在命令行查看不太方便,如果可以提供一个pdf文档就完美了。这很容易做到,在终端输入如下命令,即可在预览程序打开grep的使用手册,另存为你需要的文件名即可:

man -t grep | open -f -a Preview

第27天:

今天推送的Mac技巧:

如何开启root用户?
用过Linux/Unix系统的都知道root用户,它具备具有读写文件系统所有区域的特权,是*别的用户。OS X一样有root用户,只不过默认情况是不开启的。我们想在命令行执行需要root权限的操作时,可以在命令之前增加sudo指令,比如执行每日维护指令,sudo periodic daily,系统会提示你输入用户密码,执行root权限。在GUI(图形界面)执行root级别的命令时也会提示输入用户密码。一般情况下我们是不需要开启root用户的。

用惯了Linux系统的用户有时很想启用root用户,其实也很简单,打开Finder,输入shift+command+g,在前往文件夹中输入:/System/Library/CoreServices,然后在目录中找到目录实用工具并打开,解开左下角的小锁,然后点击顶部菜单的,你就会看到启用或停用root用户的选项了。然后我们在命令行下执行su -,就可以切换到root目录下,root的默认目录是/var/root。也可以在系统启动时用root用户登录。

如果仅仅是想在终端里切换到root用户下,直接执行sudo su -,然后输入当前的用户密码即可。

第28天:

今天推送的Mac技巧:

  • 推荐一个日记软件Day One
    支持OS X和iOS,GUI简洁功能也不繁复,风格我很喜欢,现在的Mac技巧都是用这款软件写成的,支持iCloud和Dropbox同步,支持markdown语法,支持记录随想、提醒,日历支持很不错,68元,链接:https://itunes.apple.com/cn/app/day-one/id422304217?mt=12

  • 隐藏的空间切换功能 以前介绍过OS X中Space的使用,我们可以定义多个Space,每个程序都可以在特定的Space中打开,多手势上推下滑选择程序,也可以通过ctrl+数字切换Space,很方便。今天再为大家介绍一个隐藏的功能,就是通过四指双击触控板,可以在你最近使用的两个Space之间切换,这个功能就类似电视频道中的返回功能,当你使用了Space1中的一些APP,切换到Space4,通过四指双击可以在Space1和Space4之间切换,对于协同工作非常有效。典型的应用场景:在Space1里编码,在Space4里参考各类文档。

功能开启,打开终端程序,输入:

defaults write com.apple.dock double-tap-jump-back -bool TRUE;#功能开启
killall Dock;#重启Dock

第29天:

今天推送的Mac技巧:

  • 推荐免费的文本编辑器Imagine 我个人觉得Imagine比OS X自带的TextEdit好,除了目前不支持iCloud外,基本涵盖了TE的功能,而且排版简约美观,可更换柔和的背景色,全屏写字非常舒服,对字体样式的支持很好,在富文本和纯文本间切换方便,我基本用Imagine替代了TextEdit。

    下载地址:https://itunes.apple.com/cn/app/imagine/id566877440?mt=12

  • 去除右键菜单的重复项 OS X 系统有个问题,某个程序反复安装后,选中某种类型的文件,点右键-打开方式,你会看到不少重复的选项,我们可以用以下命令去除重复项。 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

第30天:

今天推送的Mac技巧:

在小帽子Alfred中查询iOS和Mac App

之前的文章中介绍过Alfred这个Mac必备神器,有兴趣的童靴可以去我的博客上翻翻关于Alfred的介绍,今天再为大家介绍一个功能,就是通过Alfred查询iOS和Mac App。
通过热键呼出Alfred,点击右上角的小齿轮,打开设置窗口,点击Features-Custom Search,在右侧栏添加自定义搜索。

1、搜索iOS App:

Search URL:itunes://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?term={query}
Title:iOS App
Keyword:ios

2、搜索Mac App:

Search URL:macappstore://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?q={query}
Title:Mac App
Keyword:mac

设置完之后,再次呼出Alfred,输入mac go2shell,试一下效果吧。

第31天:

今天推送的Mac技巧:

如何分别设置Mac的鼠标和触控板的滚动方向?

很多人习惯鼠标使用相反的滚动方向,而触控板类似iPad那样的自然滚动,问如何设置,当时我的回答是不知道,因为目前OS X的系统设置里,鼠标和触控板的设置是统一的。今天发现了一个免费的软件Scroll Reverser,可以实现鼠标和触控板的分别设置。

下载地址:http://www.macupdate.com/app/mac/37872/scroll-reverser

启动后程序显示在顶部菜单栏,设置简单明了,有需要的同学体验一下吧。

第三十二天:

今天推送的Mac技巧:

如何让不支持Retina的Mac软件变成Retina App?
前两天有订阅者求推荐Mac下的FTP软件,我推荐了FileZilla,但这个软件是不支持Retina屏的,Retina用户使用这个软件会感觉整个世界都模糊了,结果搜索之下,发现了一个小软件,叫做Retinizer,顾名思义,就是把非Retina的软件Retina化,我用了一下,完美支持FileZilla,下载地址如下,有需要的自取。

http://retinizer.mikelpr.com/

第三十三天:

今天推送的Mac技巧:

在Mac下如何进行文件比较?
1、对于单个文件的比较,一般使用diff或vimdiff就可以了,比如:

vimdiff destfile.txt sourcefile.txt

vim会非常清晰的显出时文件的不同,还有很多快捷方式帮助你查看和操作文件,这个命令比较适合命令行爱好者,如果大家喜欢,后续可以讲讲。

2、对于大批量文件的比较,还是图形化比较工具更合适一些。OS X自带了FileMerge比较工具,可以满足部分需求,但对于中文编码文件或大文件经常会崩溃,很奇怪Apple一直不解决这个问题。

3、推荐一款收费软件,VisualDiffer(25元),UI、功能和稳定性都非常不错,实在是居家旅行、代码比较、查找问题的必备利器,有需要的童靴可以感受下。

第三十四天:

今天推送的Mac技巧:

1、可以远程同步文件的FTP工具Cyberduck

上次介绍Retinizer(普通软件Retina化)的时候提到了FTP软件FileZilla,我个人一般使用命令行下的ftp/sftp/scp等实现FTP软件的功能,但普通用户还是用图形界面的更方便些。今天再给大家介绍一个可以实现远程同步文件的FTP工具:Cyberduck

Cyberduck除了可以实现FTP的基本功能外,还能支持远程同步。所谓同步,就是把远程和本地的两个目录进行比较,然后自动找出修改的文件上传到服务器。
具体操作就是通过ftp或sftp的方式登入远端服务器,选中某个文件夹,右键菜单里选择同步,再选择本地文件夹,就可以进行同步比较上转了,上传之前你最好确认下,更稳妥。

同样,这个软件也可以用Retinizer实现高清显示效果。

2、文件重命名

文件重命名的问题以前说过,但最近又有些童靴问起,就再说一下。
如果你没有装任何插件的话,在Finder中重命名文件或文件夹的快捷键就是回车。打开文件用command+o,返回上级目录用command+向上的方向键。
如果你装了原来推荐过的XtraFinder,可以把回车改为打开文件(与windows操作类似),把option+r设置为文件重命名。
如果你在命令行下重命名文件,命令是这样的:mv oldname newname

第三十五天:

今天推送的Mac技巧:

再谈Alfred的Custom Search:

有一期Mac技巧我介绍了如何利用Alfred的自定义搜索实现在App Store上搜索app,后续有很多人问如何自定义自己的搜索或打开特定网页,其实非常简单,今天给大家介绍下。
目前很多网站的功能都是通过REST风格的应用,不懂REST也没关系,我们来举个例子,比如Googe的翻译功能,这个URL就是把life翻译成中文:

http://translate.google.cn/#auto/zh-CN/life

其中zh-CN表示翻译成中文,auto表示自动检测输入源,life表示要翻译的内容。理解了这个URL就可以自定义Google翻译了。

打开Alfred-设置-Features-Custom Search,点加号增加一个新搜索,在URL处输入http://translate.google.cn/#auto/zh-CN/{query} ,Keyword输入en,Title自定义即可。保存后用option+space呼出Alfred,输入en application,回车后Alfred就会为你打开Safari并把application翻译成中文。

大家可以据此自定义各种快捷查询、翻译、打开特定网页等功能。

第三十六天:

今天推送的Mac技巧:

1、Mac下有很多程序默认是单进程的,比如你不能打开多个邮件程序,不多打开多个Evernote,但有时我们可能会有这样的需求,那么用如下命令可以实现:

open -n /Applications/XXX.app

-n的含义是Open a new instance of the application(s) even if one is already running,意思就是为正在运行的应用程序再开一个新实例。常用于多个账户登录一个程序,或软件比较等场景。

2、强制关闭程序

总有程序关闭不了,这时候我们就需要:

方法一:option+command+esc,调出强制退出应用程序的窗口,选择要退出的进程即可。
方法二:打开活动监视器,类似windows的任务管理器一样操作就好了。
方法三:命令行下的kill命令,比如想杀掉TextMate,首先用ps -ax|grep TextMate找到进程号,然后用kill -9 进程号,即可。

至此,天下无杀不掉的程序。

今天推送的Mac技巧:

昨天介绍了通过open -n /Applications/XXX.app的方式打开多实例程序,有人在微博上问如何选中一个文件或程序,通过右键菜单打开新实例,而不是每次都去命令行操作。

我们可以通过Automator+Applescript实现这个功能。

打开Automator,选择创建服务,在左侧选择“运行AppleScript”,双击打开程序窗口,在(* Your script goes here *)处输入如下代码:

tell application "Finder"
try
set filename to POSIX path of (selection as text)
set fileType to (do shell script "file -b " & filename)
if (fileType does not end with "directory") or (filename end with "App" ) then
do shell script "open -n " & filename
end if
end try
end tell

在程序上方的选择框设定“文件和文件夹”、“任何应用程序”,然后保存,起个你喜欢的名字,比如叫“以新实例运行”。退出Automator。
选中文件或程序,右键-服务-以新实例运行,即可实现类似open -n的方式。

明天给大家解释下代码含义。

今天推送的Mac技巧:

有人希望我介绍一下Automator和Applescript,但是在微信这个平台上讲一门语言实在是不太够用,比如介绍Applescript的一本书就有400多页,怎么讲?只能讲讲技巧或案例,点到为止,真正学习还得大家去看书思考。

简单介绍下,Automator是苹果公司为其操作系统OS X开发的一款软件。通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动完成一些复杂的重复工作。 Automator还能横跨很多不同种类的程序,包括: 查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。

Applescript以前介绍过,是苹果公司开发的脚本语言,在Automator中可以运行Applescript。
昨天我们通过Automator创建了一个服务,当你在Finder或桌面上选中文件时,在右键的服务菜单里增加了一个选项:以新实例运行,是通过Applescript实现的,下面介绍程序功能:

--通知Finder
tell application "Finder"
--异常处理
try
--获取选中文件的全路径
set filename to POSIX path of (selection as text)
--通过脚本file -b获取文件类型
set fileType to (do shell script "file -b " & filename)
--如果不是文件夹或以app结尾,执行open -n脚本
if (fileType does not end with "directory") or (filename ends with "app") then
do shell script "open -n " & filename
end if
end try
end tell

这里考虑到了选中程序直接打开,或选中文件以默认程序打开的情况。

今天推送的Mac技巧

1、如果你想通过Safari的默认查询引擎查询某个应用软件里的文字,选中文字,然后shift+command+l,即可跳转到Safari的搜索页面,非常方便。
大部分应用都支持这个快捷键。
2、如何旋转Mac的屏幕呢?不需要第三方软件。打开系统选项设置,已经打开了的,退出重新打开。按住option+command键盘,点击显示器,在原来的亮度选项下方会出现一个旋转的选项,这时候你就可以旋转你的屏幕了。
哎,这位同学,你这样拿很容易把Mac摔烂的!
3、推荐一款Mac阅读App,叫做Caffeinated,图标是杯咖啡。这是一个集成了Google Reader的阅读器,以前我以为Reeder是最好的,后来我发现我错了。这款阅读器不仅有大量快捷键和良好的UI设计,还有通知、检索、自定义主题、记忆等功能。重度GR用户可以尝试,收费软件。

第三十七天:

今天推送的Mac技巧:

1、iBooks Author是Apple提供的一款优秀的电子书创作软件,可以从Mac App Store 免费获得。最近开始用这个软件制作电子书,感觉非常不错,iPad上著名的Life on earth就是用iBooks Author制作的。

使用iAuthor任何人都可用它制作出可以在iPad上阅读的多点触控电子书,。借助图库、视频、互动式图表、3D 物体、数学表达式等丰富内容,这些电子书的内容栩栩如生,令传统印刷的书页望尘莫及。

目前用iBooks Author制作的书还不能发布到中国的iBook Store,但是可以导出为PDF,效果也不错。如果你再等等,泰尼iPad电子杂志平台可能就出来了。

第三十八天:

今天推送的Mac技巧:

最近尝试在录制视频时在屏幕上显示键盘快捷键的操作,ScreenFlow固然可以实现这个功能,不过99刀的价格让人感觉得不偿失。搜索之下找到了keycastr,简单设置了一下发现可以实现我需要的功能,项目托管在github上,网址:https://github.com/sdeken/keycastr ,可以直接下载dmg包。

还有一种方案是使用OS X原生的键盘显示,打开语言与文本偏好设置-输入源,选中左边栏的第一项:键盘与字符显示程序。关闭偏好设置,这时点击顶部menu bar的语言,会多出两项功能,点击键盘显示程序,就会在屏幕上出现一个模拟键盘。

这个方案的缺点是没法区分快捷键和普通字符输入,而且显示速度太快,不够醒目。

第四十天:

今天推送的Mac技巧:

1、复制截屏图片到剪贴板

以前介绍过如何通过苹果自带的快捷键截屏并存储图片文件,例如shift+command+3和shift+command+4,现在发现如果在以上两个截屏动作中加入ctrl键,可以实现直接把图片保存在剪贴板而不是实体文件,这样你可以通过command+v直接把截取的图片内容复制到图像处理软件或Pages、Keynote等文件中。

2、最近接连几位读者反馈,在没有备份数据的情况下重装系统或删除了文件。文件一旦安全删除,或者删除文件之后进行了写入操作,恢复起来就非常困难了,建议大家定期备份数据,尤其是升级或重装系统之前一定要备份全部的重要数据。

OS X提供了优秀的备份软件Time Machine,设置好备份硬盘之后,TM会自动备份 Mac 的所有内容,包括系统文件、应用软件、帐户、偏好设置、音乐、照片、影片和文档等,当然你也可以通过设置选项,自定义备份哪些内容。Time Machine 与其他备份软件的区别在于:它不仅仅能备份所有文件,还能够记忆每次备份的状态,因此你可以重访过去某个时段中的 Mac。点击顶部menu bar的进入Time Machine,你会看到一个非常美妙的时间线,参考这篇文章的附图。

第四十一天:

今天推送的Mac技巧:

一生要记住多少快捷键?

这是个伪命题,因为我都不知道自己记住了多少快捷键,而且很多快捷键是到了那个环境下才能想起来。但是毋庸置疑,快捷键可以大大提高我们的工作效率,在Mac环境下使用快捷键和不使用,几乎是两种体验。如何记住这些快捷键呢,有人开发了一款软件叫做CheatSheet,安装并打开之后,当你记不住快捷键的时候,按住command键两秒钟,就会弹出一个当前应用软件快捷键列表,不全,但是对大部分用户都够用了。

这个软件有多个读者给我推荐过,今天才说,有点晚。下载地址:

https://itunes.apple.com/cn/app/cheatsheet/id529456740?mt=12

第四十二天:

今天推送的Mac技巧:

HTML5 Player

现在越来越多的人开始看在线视频,目前大部分视频网站的播放器都是基于Flash技术,而苹果一直对Flash很抵触,支持的也不好,Flash播一会Mac机身就会变热。另外现在的视频网站广告太多,页面花里胡哨也不适合观看。于是有位无聊的程序猿做了一个HTML5播放器,可以把在线视频的播放转化成HTML5方式,并且去除广告。使用起来非常简单,只要把{原文}里的HTML5 Player链接拖拽到Safari的书签栏,播放视频时点击书签栏上的HTML5 Player书签,播放器就会自动转换,效果自己看吧。

目前支持优酷,土豆,搜狐视频,爱奇艺,乐视网,QQ,迅雷离线,56视频的单视频播放页面。

相关链接:http://zythum.sinaapp.com/youkuhtml5playerbookmark/

第四十三天:

今天推送的Mac技巧:

如何重建Spotlight索引?

以前给大家介绍过,在OS X中几乎不需要进行文档和文件夹管理,因为有Spotlight机制,可以瞬间找到你想要的文件,只要你记得这个文件的一点蛛丝马迹。

但是Spotlight也有出问题的时候,就是它的索引文件出事了,比如查找速度变慢,某些文件明明在硬盘上就是检索不到,等等,这时候就需要重建索引了。

打开终端程序,输入如下命令:

sudo mdutil -i off /
//该命令用来关闭索引
sudo mdutil -E /
//该命令用来删除索引

sudo mdutil -i on /

//该命令用来重建索引


然后用快捷键呼出spotlight菜单,随便输入一个词,就能看到提示,正在进行索引,并且显示完成重建索引需要的时间。

完成之后,spotlight又可以运转如飞了。

第四十四天

今天推送的Mac技巧:

用键盘操作Dock和menu bar的菜单

当我们想操作Dock或顶部菜单栏的时候,往往需要鼠标去选中Dock或菜单栏,但是我们往往是不希望去碰鼠标的,这时候快捷键就又开始发挥作用了。使用control+F2可以选中menu bar的菜单,通过左右键选择功能,回车执行;使用control+F3可以选中并显示Dock,通过左右键选择功能,回车执行。

该功能在全屏操作时尤其有效。对于F1、F2等不是标准功能键的设置,增加fn键即可。

第四十五天;

今天推送的Mac技巧:

定义自己的快捷键

我认为OS X是一个把GUI(图形界面)、程序进程、脚本结合的最好的操作系统,当然这样说可能有些读者不是很明白,这么说吧,OS X是一个定制化非常强的系统,很多人说OS X封闭,事实上OS X为用户预留了非常多的入口和切面,让你能够通过简单、简洁的办法进入系统做你想做的事情。

举例来说,对于普通用户,你可以通过键盘的快捷键设置定义自己的常用操作。

对于程序员,你可以自己通过AppleScript/Shell/Automator等创建自己的服务,也可通过类似Alfred 2这样的优秀工具编写自己的workflow

对于高级用户,You have everything!

今天给大家说说第一种,打开系统偏好设置-键盘-键盘快捷键,左侧栏里列出了各种功能的快捷键,比如Launchpad和Dock,Mission Control,截屏,服务等等,大家可以在这些选项中定义和修改自己常用的快捷键,增加右键菜单等等。

第四十六天:

今天推送的Mac技巧(给普通用户):

1、经常有人反馈把iTunes或iPhoto里的文件删除了,无法恢复,对于这种事我只能报以无奈的叹息。再次提醒大家一定要定期用Time Machine备份。

另外,iTunes或iPhoto这样的软件,都会提供一个选项,导入时是否把文件或项目复制到媒体库。我的建议时不要复制,先把文件复制到自己设定的文件夹,再导入即可。这样文件只有一份,不会导致误删除操作。

2、选择文本

用command+鼠标,可以选中不同位置的文本内容。
用option+鼠标,可以对文本进行块选。

今天又把FindYYeTs完善了一下。FindYYeTs是为Alfred开发的一款workflow,主要功能是通过YYeTs(人人影视)提供的API和RSS检索最新发布的影视作品,同时也可以进行全站搜索。这次提交还修复了一个特殊字符引起的bug

第四十七天

今日Mac技巧:

1、推荐几个iOS App

多看:iOS平台上优秀的阅读类App,用户体验堪比Kindle App,书源丰富,价格便宜量也足。

拇指博客:传统的博客阅读,有助于了解世界。

读知乎:如果你不打算发言,那么这个App适合你。

Feedly:在Google Reader死亡之后,Feedly似乎是个不错的选择。

2、推出针对小道君创建的Startup News网站的Alfred workflow——SNSearch,主要功能是检索Startup News网站的最新推荐文章。

使用方式:通过option+space呼出Alfred,输入sn all,查看Startup News最近推荐的文章列表,输入“sn 查询关键字”,可以按照标题内容进行检索,关键字大小写模糊匹配。

选中文章后回车可以直接用浏览器打开原生网址,按住command键回车可以查看Startup News的相关评论。

如果你是创业者,技术人,产品经理,VC…你可能需要这个小工具。

第四十八天

今日Mac技巧:

1、推荐两个Mac App

以前为大家介绍过用键盘操作Dock和menu bar的菜单(control+F2/F2),今天发现了一款软件,叫做MenuMate,可以在任何情况通过option+z呼出当前应用的菜单,操作起来很方便,键盘控可以考虑下,已经上架App Store(18元)。

推荐一个生成icon的app,叫做AppIcon,拖进去一张1024*1024的原图,可以生成一套各个尺寸图标,适合iOS App开发,已经上架App Store(6元)。

2、推荐几个我订阅的podcast:

  • TEDTalks 科技:众多世界上最顶尖的发明家和研究人员都曾通过TED大会、TEDx活动以及其他合作项目来分享他们的样品、创举和愿景。

  • English as a Second Language:English as a Second Language Podcast is for anyone who wants to improve their English speaking and listening skills.

  • 音乐类:听说很动听、谁的声音触动你的心房

  • 晓说:高晓松清谈脱口秀节目

  • Tiny4Voice:来自tinyfool的微言怂听
第四十九天

今日Mac技巧:
今天给大家说说Dock中的文件夹,这个功能非常适合普通用户使用。一般安装了系统后Dock右边会有几个默认的文件夹,事实上你可以把任何常用的文件夹拖到这个位置,不想要的拖到废纸篓即可移除。

Dock文件夹的显示方式提供了扇状、网格和列表三种方式,我一般使用网格和列表,但是还有一个隐藏的列表功能,更为实用些,可以在命令行输入如下命令开启:

defaults write com.apple.dock use-new-list-stack -bool TRUE; killall Dock

这时候你再启动列表模式,就会发现列表显示方式不一样的,变得更加容易操作。

另外,在列表和网格模式,还可以通过command +/-来放大和缩小图标,非常方便。

 

第五十天

今日Mac技巧:

Finder是OS X的默认文件管理器,它提供了多种显示方式,包括图标、列表、分栏和Cover Flow。其中分栏最为常用,通过键盘的方向键浏览多层级的文件非常方便。不过每个分栏的宽度都是系统默认宽度,如何改变这个默认宽度呢?用鼠标拖动分栏线时同时按住option键,这个默认宽度就随之改变了。

第五十一天

今日Mac技巧:

今天讲讲Dashboard吧。

顾名思义,Dashboard就是OS X系统中的仪表盘,它可以在桌面上显示各种小功能块,比如字典、便签、系统状态、天气预报等。

使用快捷键f12或点击Dock中的Dashboard可以运行Dashboard,运行方式可以在一个新的Space里,也可以在当前的Space里,设置在偏好设置-Mission Control中。我一般使用在当前Space里打开。

点击左下角的+号,可以为Dashboard添加功能块,-号可以删除已经添加的功能块。把鼠标移动到某个功能块时按住option键,该功能块会出现一个删除图标,点击也可删除。
如果你想添加更多的功能块,在点击+号时,右侧会显示更多Widget,点击可以到网络上下载你需要的功能。

Dashboard还有一个Web Clip的功能,如果你添加了这个功能块,浏览网页看到特别喜欢的词句或图片,可以点右键-在Dashboard打开,把这部分内容放入Dashboard。

第五十二天

今日Mac:

  1. 有一期介绍过Dock文件夹的使用问题,今天再说一个小技巧,当我们打开Dock文件夹后,先打开某个文件所在文件夹时,按住command,点击该文件,就会打开Finder文件夹,并选中你刚才点击的文件。
  2. 介绍几个简单的命令。打开终端程序,输入date会显示当前日期,输入cal会显示日历,输入uptime 会显示系统从开机到现在所运行的时间。
  3. 如果iPhone的Home键盘不灵敏了的话,有可能是软件造成的,可用如下方法校正: 随意打开一款软件App,例如天气,按住电源开关几秒钟,直到屏幕出现滑动关机的指示。此时放开电源键,但不要滑动关机,同时按压Home键几秒,直到屏幕回到界面。这样你就已经重新调整Home键了,可以正常使用了
第五十三天:

今日Mac技巧:

1、有人问如何输入国外人名中间的分隔符,比如汤姆·克鲁斯,如果你使用原生输入法,用option+shift+b,可以调出标点菜单,选6;如果是FIT,直接使用数字键1左边的键`,也可以输入·。

2、最近一直在使用MailBox做to do list,给大家分享一下我的做法。

正常收到的邮件,可以直接选中邮件向左滑动,滑到一半松开,可以设置以后什么时间阅读,一直向左滑动,可以为该邮件定义列表

那么如何设置自己的任务呢?很简单,直接给自己的GMail账户发邮件即可,邮件的标题描述自己的任务,发送后Mailbox会自动把该邮件标识为Note to self,选中该邮件用上面描述的方式为其分类和设置处理时间。

任务处理完之后,选中邮件右滑,一半归档,一直向右滑动删除。

第五十四天:

今日Mac技巧:

1、神奇的option键

以前很多期介绍过option相关的快捷键和功能,比如选中多个文件option+右键,可以显示检查器,按住option点击顶部菜单的电池会显示电池状况,点击wifi会显示网络状况,点击备份…好吧,你们都可以点点试试。别忘了最左边的苹果按钮,option+点击,在下拉菜单点关机、重启都不提示的。

option+点击Dock上活动的程序会隐藏,option+拖拽文件可以复制,按住option输入=输出是≠,option+shift+=,输出是±

还有好多,没事的时候多按按option键,你会有很多意外的发现。

2、推荐一款音乐处理软件XLD

XLD全称是X Lossless Decoder,是Mac平台上无损音乐播放、编码和转换工具,不仅支持APE、FLAC等无损音频,还支持读取音频CD,将音轨抓取出来之后创建音乐文件。

免费软件,喜欢的可以捐赠。

官网地址:http://tmkk.undo.jp/xld/index_e.html

第五十五天:

今日Mac技巧:

1、保护你的数据文件
这个话题很多人问过,今天在这一期统一说一下。总体来说,我觉得在Mac下相对某些文件或数据进行加密操作有两种方式:
第一种:系统偏好设置-安全性和隐私-FileVault,打开FileVault即可。FileVault是全盘加密技术,可以对磁盘上的所有文件进行加密,后果是系统速度会稍微变慢一点点,如果你不是在军方服役,一般不建议采用。

第二种:创建磁盘映像文件,对磁盘映像进行加密处理,然后把需要保护的数据和文件放到这个磁盘映像中即可。具体方式如下:
打开应用程序-实用工具-磁盘工具,点击新建映像,在加密选项处选择256位AES加密,这种加密算法是极其安全的。创建映像时输入两次密码,即可创建加密的磁盘映像文件。在创建时最好不要选择“在我的钥匙串中记住密码”,这样可以每次打开这个磁盘映像文件时都需要输入密码,可以达到最佳保护数据的作用。

2、推荐微信频道:公共账号搜索——searchmp
这个频道是由霍矩先生维护的,关注后可以搜索已经注册的公众账号的文章和账户信息,比如搜索Finder,可以检索到Mac技巧里包含Finder的文章,你们感受下…

第五十六天

今日Mac技巧:

1、如何合并Safari的窗口?
打开了多个Safari窗口,如何合并呢?ctrl+command+w,可以把所有窗口以标签页的方式合并为一个窗口,点中标签页拖拽,可以在窗口之间移动标签。

2、如何禁用通知?
很多时候写作或写代码,不希望被打扰,这时候就需要把OX S的通知关掉,双指从触控板右侧滑入,呼出通知中心,在最顶部有一个显示提示和横幅的开关,关掉就会禁止通知,不过第二天会自动回复这个通知设置。

3、Finder的工具栏
我们可以把文件和程序拖到Finder的工具栏上,以便随时打开。但是想移除时会发现点击鼠标拖动是没法把这些图标移除的,这时候只要在点击拖动时加上command,你就会发现这些图标被destory了。

第五十七天

今日Mac技巧:

1、更简单的禁用通知的方式

经过多位童靴提醒,我们可以通过按住option键,点击右上角的通知按钮,即可禁用或恢复通知系统。

2、Objective-C的消息机制

上次讲了一些Objective-C的历史,很多童靴觉得不过瘾,今天为大家介绍下这门语言的消息机制。

Ojbective-C的语法设计主要基于Smalltalk,除了提供传统的面向对象编程特性之外,还增加了很多类似动态语言Ruby、Python才具有的特性,例如动态类型、动态加载、动态绑定等等,同时强化了消息传递机制和表意(Intention Revealing Interface)接口的概念。

消息传递模型(Message Passing)是Objective-C语言的核心机制。在Objective-C中,没有方法调用这种说法,只有消息传递。在C++或Java中调用某个类的方法,在Objective-C中是给该类发送一个消息。在C++或Java里,类与类的行为方法之间的关系非常紧密,一个方法必定属于一个类,且于编译时就已经绑定在一起,所以你不可能调用一个类里没有的方法。而在Objective-C中就比较简单了,类和消息之间是松耦合的,方法调用只是向某个类发送一个消息,该类可以在运行时再确定怎么处理接受到的消息。也就是说,一个类不保证一定会响应接收到的消息,如果收到了一个无法处理的消息,那么程序就是简单报一个错。甚至你可以向一个值为nil的空对象发送消息,系统都不会出错或宕掉。这种设计本身也比较符合软件的隐喻。   在表意接口(Intention Revealing Interface)方面,Objective-C也是设计的比较出色的语言。面向对象语言的特性之一就是通过API把实现封装起来,为上层建筑提供服务。但是需要注意的一点就是,你封装的API最好能够让调用者看到接口描述就知道怎么使用。如果为了使用一个API必须要去研究它的实现,那么就失去了封装的意义。Objective-C通过显式的API描述,让开发者不自觉的写出满足表意接口的API,比如下图中的API描述。 池建强 博客 Mac使用技巧   第一季上图中描述了一个传统意义的实例方法,但和Java或C++不同的是,其方法关键字由多个字符串组成,在这个例子是insertObject和atIndex,(id)anObject和(NSUInterger)index分别表示参数类型和参数名称。整个方法看上去就像一个英语句子,我们可以很容易的知道,这个方法就是在索引为index处插入一个对象。如果你是从其他语言转到Objective-C,那么开始的时候会感觉这种写法有些繁复,但是一旦理解并习惯了你会感受到其巨大的好处,这种写法会强制你写出优美易读的代码和API,而且有了XCode强大的提示功能,再长的方法也是一蹴而就。

后续讲讲Objective-C的多态和继承。与Java一样,Objective-C一样不支持多重继承,但是通过类别(Category)和协议(Protocol)可以很好的实现代码复用和扩展。

第五十八天 :

今日Mac技巧:

上次讲OC那篇收到诸多好评,今天接着聊吧。

Objective-C与Java一样,不支持多重继承,但是通过分类(Category)和协议(Protocol)可以很好的实现代码复用和扩展。这期技术内容聊聊Objective-C的Category(分类)。
Objective-C提供了一种与众不同的方式——Category,可以动态的为已经存在的类添加新的行为。这样可以保证类的原始设计规模较小,功能增加时再逐步扩展。使用Category对类进行扩展时,不需要访问其源代码,也不需要创建子类。Category使用简单的方式,实现了类的相关方法的模块化,把不同的类方法分配到不同的分类文件中。
实现起来很简单,我们举例说明。

SomeClass.h
@interface SomeClass : NSObject{
}
-(void) print;
@end 

这是类SomeClass的声明文件,其中包含一个实例方法print。如果我们想在不修改原始类、不增加子类的情况下,为该类增加一个hello的方法,只需要简单的定义两个文件SomeClass+Hello.h和SomeClass+Hello.m,在声明文件和实现文件中用“()”把Category的名称括起来即可。声明文件代码如下:

#import "SomeClass.h"
@interface SomeClass (Hello)
-(void)hello;
@end

实现文件代码如下

#import "SomeClass+Hello.h"
@implementationSomeClass (Hello)
-(void)hello{
NSLog (@"name:%@ ", @"Jacky");
}
@end 

其中Hello是Category的名称,如果你用XCode创建Category,那么需要填写的内容包括名称和要扩展的类的名称。这里还有一个约定成俗的习惯,将声明文件和实现文件名称统一采用“原类名+Category”的方式命名。
调用也非常简单,如下:
首先引入Category的声明文件,然后正常调用即可。

#import "SomeClass+Hello.h"
SomeClass * sc =[[SomeClass alloc] init];
[sc hello] 

执行结果是:
name:Jacky

第五十九天:

今日Mac技巧:

最近两期讲了Objective-C的一些特性,很多人表示看不懂,很多人表示不过瘾,要求再讲讲Block、GCD、runloop、KVO、离线、Rest等等,我觉得这些点都可以讲,但是大家不要指望通过微信公众平台就把某一门技术学好了,微信平台本身就不适合长篇累牍,写着累看着也累,而且不适合贴代码,我这儿介绍的技术,都是点到为止,告诉大家有这些东西,真正想深入学习的,网上资料多的是。不怕没书,就怕不读!

今天讲两个小Tips:

1、用Spotlight搜索的时候,搜到文件时,我们有时候会需要打开该文件所在的文件夹,这时候按住command键,点击文件即可打开Finder,并定位到该文件所在文件夹。

2、Finder是OS X系统中的常驻程序,一般不需要退出,如果想重新启动Finder时,有一个简单的方式,按住option键,右键点击Dock上的FInder图标,底部菜单会出现重新开启的选项,点击即可。同样的操作对其他Dock上的程序是强制退出。

第六十天

今日Mac技巧:

上次讲了Objective-C的Category,今天接着说下。

在什么场景下试用Category呢?如果你遇到:

  1. 当你在定义类的时候,在某些情况下(例如需求变更),你可能想要为其中的某个或几个类中添加方法。
  2. 一个类中包含了许多不同的方法需要实现,而这些方法需要不同团队的成员实现。
  3. 当你在使用基础类库中的类时(比如NSString),你可能希望这些类实现一些你需要的方法。

遇到以上这些需求,Category可以帮助你解决问题。当然,使用Category也有注意事项:

  1. Category可以访问原始类的实例变量,但不能添加变量,如果想添加变量,可以考虑通过继承创建子类。
  2. Category可以重载原始类的方法,但不推荐这么做,这么做的后果是你再也不能访问原来的方法。如果确实要重载,正确的选择是创建子类。
  3. 和普通接口有所区别的是,在分类的实现文件中可以不必实现所有声明的方法,只要你不去调用它。
     
    用好Category可以充分利用Objective-C的动态特性,编写出灵活简洁的代码。

第六十一天

Mac技巧

今天讲两个Mac Tips

1、屏幕画中画

在早期的《副产品》(回复19可看)一文中,介绍过屏幕放大功能,也就是通过option command ±可以放大和缩小屏幕,使用control + 滚轮也可以。

不过这只是放大屏幕方式的一种表现形式,我们还可以通过辅助设置改为画中画模式,打开系统偏好设置-缩放-缩放样式,把全屏幕改为画中画即可,效果大家自己看吧。

2、粘贴纯文本

我们在网页或其他文档上复制文字的时候,会把文字格式一并复制下来,command+v会把文字格式都粘贴过去,如果我们只想粘贴纯文本,可以使用shift+option+commadn+v,大部分软件都支持这种方式复制纯文本

第六十二天

今日Mac技巧:

说完了Objective-C的Category,今天简单说说Protocol。

Protocol,简单来说就是一系列不属于任何类的方法列表,其中声明的方法可以被任何类实现。这种模式一般称为代理(delegation)模式。你通过Protocol定义各种行为,在不同的场景采用不同的实现方式。在iOS和OS X开发中,Apple采用了大量的代理模式来实现MVC中View和Controller的解耦。
 
定义Protocol很简单,在声明文件(h文件)中通过关键字@protocol定义,然后给出Protocol的名称,方法列表,然后用@end表示Protocol结束。在@end指令结束之前定义的方法,都属于这个Protocol。例如:

@protocol ProcessDataDelegate <NSObject>
@required
- (void) processSuccessful: (BOOL)success;
@optional
- (id) submitOrder: (NSNumber *) orderid;
@end

以上代码可以单独放在一个h文件中,也可以写在相关类的h文件中,可以视具体情况而定。该Protocol包含两个方法,processSuccessful和submitOrder。这里还有两个关键字,@required和@optional,表示如果要实现这个协议,那么processSuccessful方法是必须要实现的,submitOrder则是可选的,这两个注解关键字是在Objective-C 2.0之后加入的语法特性。如果不注明,那么方法默认是@required的,必须实现。
 
那么如何实现这个Protocol呢?创建一个普通的Objective-C类,取名为TestAppDelegate,这时会生成一个h文件和m文件。在h文件中引入包含Protocol的h文件,之后声明采用这个Protocol即可,如下:

@interface TestAppDelegate : NSObject<ProcessDataDelegate>;
@end

用尖括号(<…>)括起来的ProcessDataDelegate就是我们创建的Protocol。如果要采用多个Protocol,可以在尖括号内引入多个Protocol名称,并用逗号隔开即可。例如<ProcessDataDelegate,xxxDelegate>
 m文件如下:

@implementation TestAppDelegate
- (void) processSuccessful: (BOOL)success{
if (success) {
NSLog(@"成功");
}else {
NSLog(@"失败");
}
}
@end 

由于submitOrder方法是可选的,所以我们可以只实现processSuccessful。

第六十三天

今日Mac技巧:

继续介绍OC的Protocol吧。

Protocol一般使用在哪些场景呢?Objective-C里的Protocol和Java语言中的接口很类似,如果一些类之间没有继承关系,但是又具备某些相同的行为,则可以使用Protocol来描述它们的关系。不同的类,可以遵守同一个Protocol,在不同的场景下注入不同的实例,实现不同的功能。其中最常用的就是委托代理模式,Cocoa框架中大量采用了这种模式实现数据和UI的分离。例如UIView产生的所有事件,都是通过委托的方式交给Controller完成。根据约定,框架中后缀为Delegate的都是Protocol,例如UIApplicationDelegate,UIWebViewDelegate等,使用时大家可以留意一下,体会其用法。
 
使用Protocol时还需要注意的是:

1、Protocol本身是可以继承的,比如:

@protocol A
-(void)methodA;
@end
@protocol B < A >
-(void)methodB;
@end

如果你要实现B,那么methodA和methodB都需要实现。
 
2、Protocol是类无关的,任何类都可以实现定义好的Protocol。如果我们想知道某个类是否实现了某个Protocol,还可以使用conformsToProtocol进行判断,如下:

[obj conformsToProtocol:@protocol(ProcessDataDelegate)] 
第六十四天

今日Mac技巧:
1、有童靴问,在倾倒废纸篓的时候,经常会提示该文件还在使用,不能删除,但是又不知道哪个程序在用,怎么办?

Unix下有一个命令叫做lsof,名字是list open files的缩写,顾名思义,就是查看打开的文件,在终端里输入lsof 文件名,就可以找到打开这个文件的程序。关掉程序,就可以正常删除文件了。当然lsof还有很多丰富的指令,感兴趣的童靴自行Google吧。

第六十五天

今日Mac技巧:

  1. 打开文本编辑器,按住option+command+t,可以输入各类特殊字符,但这一招并不是在所有App里有用,没用的话可能是快捷键冲突。
  2. 之前的 44、45期都有提到AirDrop,大家回复编号可看。今天再补充一下,Airdrop默认只能通过WIFI来传文件,如果电脑已经连了网线,但是没开WIFI就不能用AirDrop了,有一个办法可以打开AirDrop通过有线传文件的特征。打开终端输入:

    defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1

然后选中Dock栏的Finder,按住option键右键点击Finder图标,点击底部菜单项“重新开启”,Finder重启之后,即使你的电脑没开WIFI,也可以用AirDrop给别人分享传文件了。

第六十六天

今日Mac技巧:

1、Dock的3D和2D效果

OS X默认的Dock效果是3D的,如果你想改为2D,在终端中输入如下命令:

defaults write com.apple.dock no-glass -boolean YES;
killall Dock

想恢复成3D,输入:

defaults write com.apple.dock no-glass -boolean NO;
killall Dock

2、使用Safari批量下载文件

首先在剪贴板复制你需要下载的文件链接,可以多个。

使用option+commadn+l打开Safari下载窗口,command+v粘贴,下载就自动开始了。