Category Archives: 奇巧淫技

[Mac]终端中快速定位到Finder的当前路径

平时工作会非常频繁的使用到命令行, 常见的场景是需要CD到Finder的当前路径操作, 或是打开命令行当前的路径.  后者通过 open .  即可打开. 而前者的操作就比较繁琐, 我需要先输入 cd[空格] ,然后将文件夹拖入到终端中.

在忍受了无数次拖拽后突然想到通过 AppleScript 来获取路径并传送到终端. 考虑过ruby,需要额外的gem支持.  考虑过用 objc 写个工具, 但随后发现个命令 osascript 能直接运行 AppleScript的代码 ,解脱!

tell application “Finder” to set myname to POSIX path of (target of window 1 as alias)

这段代码能将当前的Finder的路径输出,  可以使用 osascript -e ‘codes’ 来测试结果.

编辑 ~/.profile  (没有就创建一个), 添加如下代码

function cdf() # cd to finder's front's window's path
{
   path="`osascript -e 'tell application "Finder" to set myname to POSIX path of (target of window 1 as alias)' 2>/dev/null`"
   if [ -n "$path" ]; then
      echo "cd to $path"
      cd "$path"
   else
      echo "no finder window finded"
   fi
}

然后source下此文件, 以后只要直接输入 cdf (cd-finder or cd-front 反正很好记) 即能切换到当前路径中.

Xcode4 作战效率提升手册

周一参加了 iOS Tech Talk Bejing 有个session中演示了一招加快debug效率的方式, 觉得非常好. 在此也分享下我常用的技巧方便提升大家的工作效率

基础篇

  • control +command + arrow up / down            切换 当前文件头文件和实现文件
  • control + command + arrow left/right             切换历史上/下一个文件
  • command B/R                                               编译 / 运行
  • command +  left click   on word                      可以在 方法的声明/实现, 变量的定义, 类的定义中跳转
  • option  + left click  on word                            对当前内容做 快速帮助
  • shift + command + Y                                     显示 debug工作区
  • command + f   / option + command + f           搜索/替换  (搜索后 command + G 可以跳到下一个结果)
  • shift + command + F                                      是全局搜索,非常方便
  • (esc)                                                             自动完成菜单

PS. 还有几个OSX系统通用的命令也很有效率

  • option + arrow left / right                以单词为单位移动光标
  • command + arrow left /right             移动光标到行头,行尾 

进阶篇

  • shift + command + o            快速定位文件
  • shift + command + j             在项目导航中显示当前文件 (在大项目中尤其好用,推荐!)
  • option + click 项目导航中的文件      可以在辅助编辑器里打开该文件, 方便同时查看多个源文件 (默认的辅助编辑器功能很弱,这样基本能找回xcode3的 split screen功能了)
  • command  + L                      定为到文件的指定行
  • shift + command +L              跳到光标所在位置 (当然更多时候我比较喜欢点下箭头来定位)
  • control + i                             对选中文字 重新格式化缩进

Debug篇

Xcode4 启用一体化IDE后, 调试程序有时候变得非常讨厌, 有同感的同学请继续往下看吧. (此内容学习至 ios tech talk ! )

  1. 新建一个tab(cmd + t) 双击tab名修改名字为 CONSOLE     #不知道tab可以改名吧! 这弱爆的体验呐
  2. 调整 CONSOLE tab为你喜欢的调试外观, 我喜欢有个大大的log窗口(shift+cmd+c), 左边显示debug栏,不显示右侧栏 , 留一点空间给编辑器, 方便断点时候跟踪 , 最后效果附图
  3. 可以将console tab关闭了 (xcode会自动记忆此tab的设置, 这下应该明白你调试时候经常有时候有log窗口,有时候又需要自己打开的原因了吧 )
  4. 在设置中打开 behavior 这选项
  5. 选择 run start , 只勾选 `show tab CONSOLE` 和 `show navigator Debug`
  6. 把 run complete 里的选项全关了.   # 这样调试结束我们还能继续看log,而不是默认的log也被关闭
  7. 完成, 运行 !  如果你有多个屏幕, 还可将console tab 拖出放置,效果更好!

用AppleScript设置Adium的状态信息

找了下找到个比较挫的办法

tell application "Adium"
	go away with message "Busy"
end tell

但是必须指定鸭子的状态, 最后翻了下文档自己写了段测试成功:

tell application "Adium"
	set the title of every status to "funny"
	set the status of every account whose status type is not offline to the first status whose title is "funny"
	#   也可以这么写
	#	repeat with state in every status
	#		set title of state to "come on baby"
	#	end repeat
end tell

也许下版本 LessDJ 会多个同步歌曲信息到 鸭子状态的功能 :D

对了 LessDJ 上线一周下载2000多次了, 但最近状态低迷, 需要些时间来添加新功能.

iOS5不支持gmail推送的解决方法

iOS5后苹果居然不支持gmail的推送了。找到个解决方法:

  1. 删除原有的Gmail账户
  2. 添加新邮件账户,选择 Exchange (不是gmail)
  3. 输入 email, username(还是邮件名),passcode
  4. 接下来会提示输入服务器 m.google.com
  5. 验证后即重新支持推送了!
遗留问题:此方法不支持gmail的存档功能
资料来源:
1.installed IOS5, bye-bye gmail push
2.Setting up Google Sync with IOS

XCode4 文档中激活文档目录功能

在XCode3的文档中,我们可以方便的通过文档目录(Table of contents) 来迅速导航到需要的章节

但是在xcode4中,居然去掉了这么重要的功能,而仅仅在文档顶部有个蹩脚的导航功能。

以下是重点,一句话恢复toc

sudo egrep -lRZ "Prototype.Browser.Xcode4OrNewer=Prototype.Browser.XcodeVersion<1000;" /Library/Developer/Documentation/DocSets | xargs -0 -L % sudo sed -i '' -e 's/Prototype\.Browser\.Xcode4OrNewer\=Prototype\.Browser\.XcodeVersion\<1000\;/Prototype\.Browser\.Xcode4OrNewer\=false\;/g'

稍等片刻后目录便回来了,这下查阅文档方便不少。

源地址

Mac可以这么玩-用Finder示爱!

刚刚消灭reader数字时发现这篇非常有趣的文章(结果不小心点错地方将2w+未读一下清空为0了,google你有没有撤销的操作吖!!!)

原文来自 tuaw

何止有爱,每个mac用户都会自问,我用了这么久的osx怎么没想到这招!!

直接看视频(非常大力的从youtube抓下来传youku了,请鼓掌)