FreeCommander中设置Cygwin起始目录

FreeCommander是Windows下很好的替代文件管理器的工具,更重要的是它是免费的微笑,所以我很喜欢用。它其中一个很实用的功能是在你浏览某个文件夹时,直接按Ctrl-D就可以打开一个在该文件夹中的CMD窗口。但问题是CMD窗口功能太弱,我希望能打开Cygwin窗口。 FreeCommander有添加快捷命令的功能,所以我能很快让FreeCommander中显示一个Cygwin的菜单,但是要让Cygwin一启动就能走到我目前浏览的文件夹就不那么容易了。主要问题有两个:

1) Windows的路径都是用\表示,Unix用/,因此有个路径转换的过程

2) 路径中有空格的问题很讨厌,需要处理一下。

经过一番努力,终于搞定这一功能。把流程简述如下:

1) 首先启动FreeCommander,选择菜单:杂项->常用工具->编辑

2) 添加一个项目加“Cygwin",”程序“中选择”C:\cygwin\Cygwin.bat" (假设cygwin安装在C:\cygwin),参数填入"%ActivDir%",注意此处需要把双引号也输进去,否则有空格的路径无法正确传递。

3) 编辑C:\cygwin\Cygwin.bat,在"bash --login -i"这行之前加入:

set init_dir=%1

这样Cygwin的shell能看到有init_dir这个变量。

4) 在你Cygwin的~/.bashrc文件中最后加入这几行:

init_dir=${init_dir//\\/\/}
init_dir=${init_dir//C:/\/cygdrive\/c}
init_dir=${init_dir:1:${#init_dir}-2}
cd "$init_dir"

第一行是把路径中\换成/。第二行是把C:换成/cygdrive/c,我只有C盘,如果你需要处理其他盘符,可以类似处理。第三行是把变量两头的引号去掉。因为变量中如果两头有引号,Shell会认为这是路径中的一部分,cd会出错。最后一步就是换路径,此时外面需要加上引号,以便对付路径中的空格。


这样你从FreeCommander中启动Cygwin就能直接停留在当前活动目录中!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值