是否可以创建快捷方式来打开特定目录的终端窗口?我经常使用gcc来构建小型 C 程序,但是必须导航到我的源代码所在的目录很烦人。无论如何配置一个快捷方式(或任何东西)到终端以在给定目录中打开窗口?
更新:这个问题仍然困扰着我。投票最多的答案是我刚刚尝试实施的答案。但是,我显然无法将 $PROJECTDIR 路径放在一起。
让我们假设文件位于以下位置:
/Documents/SVN Working Copies/School/Term-1/CSC-373/
当我独自完成每件事时,我可以到达那里,cd
但我一直在使用通配符:
cd doc*
cd svn*
cd *
cd *
我尝试的是(例如):
cd /Documents/SVN Working Copies/School/Term-1/CSC-373/
(再次,代替 $PROJECTDIR。)当我打开终端窗口时,我可以访问 Documents,所以我想在创建新配置文件时我会......
您可以使用 Terminal.app 中的 shell 配置文件来执行此操作。
现在,当您使用修改的配置文件创建窗口或选项卡时,从“新窗口”或“新选项卡”菜单中,它将
cd
在您的 bash shell 中执行命令并将您的目录更改为您想要的目录。这很方便,因为您可以为不同的任务创建许多不同的配置文件。如果您想在启动配置文件时运行大量命令,请将 then 放入
~/bin/
主目录中或其他位置的文件中,然后执行这些命令。您也可以使用分号;如果您已选中Run inside shell复选框,则运行多个命令。您可以在您的主目录中创建一个符号链接(类似于 OS X 中的别名,或 Windows 中的快捷方式),默认情况下,这是您的终端打开的位置。
假设您的程序源文件位于 /usr/bin/myapps/ 中。您的主目录是 /users/Frank(您也可以使用路径 /~ 来引用您的主目录)。
当您在主目录 (/~) 中时,运行命令
它的作用是创建一个名为“project”的符号链接到位置 /usr/bin/myapps。然后您可以 cd 到项目 (cd /~/project) 并在 /usr/bin/myapps 中结束。
这是最简单的修复,因为它是临时的并且可以轻松删除。我相信你可以
删除符号链接。
您可以在 ~/.profile 中使用别名:
然后可以像使用任何命令一样使用别名。类型:
你就在那里!
这样你就不会有一个软链接污染你的 $HOME,而且你可以随时跳到那里。
Stack Overflow 上有一个类似的问题。
在 Mac OS finder 中打开终端
我个人不喜欢这里看到的基于 GUI 或 AppleScript 的解决方案。我要做的是在 OS X: 下使用最好的 unix 命令
open
。例如/usr/bin/screen
您可以通过更改为您自己的命令来适应这一点。所以创建一个名为的文件~/srcTerm.sh
并将这些命令放入其中:然后发出:
open -a /Applications/Utilities/Terminal.app ~/srcTerm.sh
我知道这看起来很麻烦,所以现在编辑
~/.bash_profle
并在任何其他命令旁边alias
设置一个新别名,例如:下次登录或获取该文件时,您可以使用该命令
popupsrc
作为快捷方式。现在你可能会对自己说,“但是
dlamblin
,这假设我已经打开了一个终端窗口并且目前正在使用命令行。这真的不是我想要的情况。我正在寻找像终端这样的图标我可以改变他的行为。” 对此我可能会说:“好吧,把所有的 GUI-mousey 放到这里,~/srcTerm.sh
在你的 finder 中找到文件,‘获取信息’,然后将‘打开方式:’选项更改为‘其他......’然后“启用所有应用程序”并选择Terminal
应用程序。不要选择“全部更改...”。现在您可以双击该文件以弹出您的终端。您可以将其粘贴在您的扩展坞上,在一个快速文件夹中(又名堆栈),甚至键入它'有趣的是,到目前为止,我已经使用了所有 3 个答案;)
这是另一种选择:使用applescript。例如,您可以创建在当前 finder 目录中打开窗口的 applescript。
我有一堆这样的苹果脚本,我用 Quicksilver(或管家)将它们绑定到热键
默认情况下,我使用在当前 finder 目录中打开终端的热键,但前提是 finder 是最前面的应用程序。否则我只是得到一个新的窗口。然后我还有一些脚本可以打开到某些服务器的 ssh 会话并重新连接到屏幕会话。使用 -x 选项进行筛选,您可以在同一个服务器终端上查看多个终端窗口,很棒:)
编辑:
这是我编写的脚本,它打开一个新窗口,如果 Finder 是当前活动的应用程序,则进入当前的 Finder 目录:
要使用它,请打开 Script Editor 并将其粘贴。然后将其保存在方便的地方(我使用 ~/Library/Scripts)并告诉 QuickSilver、Butler 或 Google Quick Search Bar 运行它。使用 QS 和 Butler,您也可以设置全局快捷键。
希望这可以帮助,
哇。
不是真正的解决方案,但您知道您可以将文件夹或文件拖放到终端中,它会插入项目的路径
例如,键入“cd”并放下文件夹,然后按回车键
如果问题只是您必须在终端中启动每个会话:
cd /a/very/very/annoyingly/long/path/name
,那么我可以想到两种解决方案。将其放在
.profile
文件的底部(位于用户的主目录中):cd /a/very/very/annoyingly/long/path/name
编辑您的
CDPATH
. 此方法为您提供快速的选项卡可完成的目录更改 我的看起来像这样,例如,因为我的大部分 shell 工作都在两个目录中 'iliumSvn' 或 'unix.varia'.:导出 CDPATH='.:~:~/iliumSvn/:~/unix.varia'
从长远来看,我认为 2 更清洁更好,但两者都应该可以正常工作。1 的问题是,如果你的工作习惯发生了变化,你需要记住删除该行,否则每次打开 shell 都会让你发疯。
我做这样的事情的方式是使用 DTerm http://www.decimus.net/dterm.php这样你就可以从你正在使用的编辑器中点击一个 KeyCombo(在我的例子中是 Textmate),你会得到一个命令行对于这个位置。您可以发出命令(即制作),就是这样!如果你想在那里打开一个真正的终端,你可以点击 Command+Return 而不是 Return,你的命令会在这个目录中的新终端窗口中执行。在我看来,这比摆弄一堆路径等要容易得多。