zoukankan      html  css  js  c++  java
  • 无插件用Terminal/TotalTerminal的开当前finder位置

    从win7开始,在资源管理器内按住shift再右键,是可以选择“在当前位置打开命令行”的,相当有用,这个命令在mac下是如何实现的呢?

    前提:我讲的是TotalTerminal下的方案,原生的terminal.app和iterm2可以选择cdto 或者Go2Shell

    我搜到这篇文章,里面讲了如何用Go2Shell来打开TotalTerminal,相当复杂,最后还推荐你用iTerm2,晕倒。我用了一下iTerm2,发现还是喜欢total,那就继续寻找吧。
    然后翻来翻去,其实结果都差不多了,市面上就那么几款软件。于是我下载cdto来试了下。因为TotalTerminal把原生Terminal接管了,所以其实也生效了。但是我想要的效果是命令行窗体从顶部滑下那种,而cdto这种软件生效是要新开一个窗体,一点都不酷,也就是说,所有之前的努力我都放弃了,我要的并不是新开窗体的方案。

    结果找到这篇文章,小修改后就成功了。核心在:为一个cd命令建立别名,执行这个别名其实就是执行了一次cd到当前目录的代码。这样你只要每次把terminal窗口滑出来后执行一下就可以了,虽然多了一个步骤,但是绿色环保。
    进一步讲解,这个CD命令又干了什么呢?它执行了一段脚本,把当前窗口的路径给输出了出来。
    最终我是这么做的:

    1. 编写脚本
      1. 我存到了用户文档目录下,新建了一个scripts的文件夹:
        vim $HOME/Documents/scripts/GetCurrentFinderFolder.cspt
      2. 复制如下内容后保存退出:
        tell application "Finder"
            set this_folder to (folder of the front window) as alias
        end tell
        on error
            set the this_folder to path to desktop folder as alias
        end try
        
        set full_path to POSIX path of this_folder
        
    2. 设置别名,我把别名存到了.bash_profile而不是上述文章中的.bashrc,原因是我测试失败了,但原因可能跟我没有完全重启terminal有关,而不是文件的正确与否,应该都是可以的:alias cwd="cd "\`osascript $HOME/Documents/scripts/GetCurrentFinderFolder.scpt\`""
    3. 完全退出TotalTerminal,或者你干脆重启一下。这时候再打开terminal,输入cwd,看看效果吧。
    4. 你们也许已经看出来了,用别名的方案,其实已经不止是TotalTerminal的解决方案了,任何Terminal都可行,多方便。
  • 相关阅读:
    POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
    POJ 3083 Children of the Candy Corn bfs和dfs
    POJ 2049 Finding Nemo bfs 建图很难。。
    POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
    POJ 1013 Counterfeit Dollar 集合上的位运算
    POJ 2965 The Pilots Brothers' refrigerator 位运算枚举
    无聊拿socket写的100以内的加法考试。。。
    POJ 1753 Flip Game
    初学socket,c语言写的简单局域网聊天
    汇编语言 复习 第十一章 标志寄存器
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3579035.html
Copyright © 2011-2022 走看看