在Finder中启动当前目录的iTerm

阵子看了个利用Automator给Finder加上自动切换显示隐藏文件的方法,觉得这方法还不错。早想给Finder加上一个打开当前路径的终端的功能了,于是就撒手开干。

打开Automator,新建服务,服务接受设为 没有输入 ,位置设为 Finder ,从左侧的资源库中找出 运行AppleScript ,拖到右侧,然后保存为 Open iTerm Here 。这时候切换到Finder,便会发现服务子菜单里面多出了一个 Open iTerm Here 的菜单。OK,基础工作完成,下面就是码代码的时间。

在刚刚创建的AppleScript的输入框中输入如下代码,

on run {input, parameters}

  tell application "Finder"
    try
      set currFolder to (folder of the front window as alias)
    on error
      set currFolder to (path to desktop folder as alias)
    end try
    set currPath to POSIX path of currFolder
  end tell

  tell application "iTerm"
    activate
    tell the first terminal
      launch session "Default Session"
      tell the last session
        write text "cd " & quoted form of currPath
      end tell
    end tell
  end tell

  return input

end run

这段AppleScript会获取将当前最前面的Finder地址,如果获取不到,则返回桌面店址,然后通知iTerm的第一个窗口新建标签并跳到这个目录去。为啥是iTerm的第一个窗口? 因为我一般只开一个而已…… 各位童鞋可以根据自己需要作调整。

好了,这时候按一下编辑器的运行,看看是不是正常工作了。一般是没问题的,因为我现在在用的就是这段 = =|||

嗯,大功告成,这时候在Finder中选择这个服务,一切便都如我们所愿了。最后,为了避免每次都要去点菜单,再去键盘设置里改一下快捷键。最理想当然就是用 command+T 了,不过这个快捷键被加入边栏这渣占用了,既不能被服务的快捷键覆盖,又找不到取消这种系统快捷键的方法,于是只好把加入边栏改成一个不常用的键组合,这才一切OK。