善用佳软/TC学堂/第7讲(2012-11-13更新)

第7讲:TC快捷无极限

  大家喜欢TC,是因为它极致的快捷功能。除了前面几讲的内容外,本讲再介绍几种快捷功能,尤其是TC与其他程序结合实现的快捷操作。比如,在TC中快速启动其他程序、在其他程序中调用TC的常用目录收藏夹、调用多种程序打开文件、快速搜索文件。
  图:本讲总结

○、快速启动、激活TC

  经常有用户问:“如何能一键激活TC?”当听到答案是“用AutoHotkey或Hoekey,或曲线救国”时,总禁不住疑惑“TC这样的神器,竟然没有预置功能”?
  这大概与TC的低调有关:不仅未提供激活TC的全局热键,甚至连“随Windows自动运行”这样的选项都没有。

方法1:曲线救国
  所需软件:无。
  步骤1():TC→配置→选项→操作方式→只允许一个Total Commander运行。
  步骤2(): 在桌面创建TC快捷方式。右键→属性→快捷方式,指定一个热键(如Ctrl+Alt+T)。
  效果:按下热键,出现TC窗口。

方法2:借助AutoHotkey
  所需软件:AutoHotkey (编译为exe之后,则不需要安装AutoHotkey程序)
  效果:按下Win+t,激活TC;再按则最小化。
  说明1:稍做替换,则可普遍适用于其他软件。
  说明2:Hoekey类似,略。
  脚本:
#t::
	DetectHiddenWindows, on
	IfWinNotExist ahk_class TTOTAL_CMD
		Run d:\Program Files\tc\TOTALCMD.EXE
	Else
		IfWinNotActive ahk_class TTOTAL_CMD
		WinActivate
	Else
		WinMinimize
Return

方法3:借助 TCLive。
  所需软件:TCLive
  说明:该软件由水木社区TC版网友 happyTC 原创,功能如下:
   * 自定义Total Commander(TC)标题栏
   * 一键呼出/隐藏TC窗口
   * 设置TC窗口透明度
   * 没有key时自动点“123窗口”
   * 强大的截图功能
   * 为在TC里选定的文件发送到你的Email中
   * 任何时候/地方都可以通过热键呼出“你的最爱文件夹”
   * 隐藏/显示TC菜单通过热键
   * 可以做为TC的脚本使用(组合TC的内/外/Alias命令,以及TCLive也提供一些函数供调用)
   * 静默方式拷贝/剪切文件(夹)
   * 悬浮TC的工具栏
   * Dock(根据TC工具栏生成)

  

一、快速启动其他程序

  为了快速启动常用程序,出现了多种工具软件。比如Hoekey、Type&Run、SlickRun……,以及善用佳软推荐的最绿色的win+r方式。其实,用TC也完全可以实现类似功能。
1. 最简单的按钮法
  很多软件,比如Maxthon等,都支持在工具栏中添加代表外部程序的按钮。点击它,就直接启动相应程序。TC也支持这种功能,并且在张学思版TC中包含的独立小软件,也是通过此方式调用的。
  用户可以通过拖放的方法建立按钮,也可以通过在工具栏按右键,建立按钮。两种方法都很简单,演示(swf/621x386/100+KB)如下:

  当然,此种方法不仅可以启动外部程序、文档,也可以调用TC内部命令。

2. 开始菜单
  如果说上述方法适合鼠标用户,则开始菜单非常适合快捷键用户。一来,它可以指定Ctrl+Alt+Fn这样的快捷键,二来,也可以通过Alt+S+x 这种方式调用,比如下例中设定了用gvim比较左右窗口的两个文件差异,其标题为di&ff,则可以按alt+s f调用程序。(注:Alt+s适用于原版TC,可能不适用于个性化菜单后的TC)
  开始菜单完全可以看作Ctrl+d的扩展,而Ctrl+d只是开始菜单的cd命令强化。有些极其常用的目录,比如桌面,我的做法是并不收入ctrl+ d,而放在start menu中一键切换。
  演示(swf/400x400/84KB)如下:


3. 文件夹菜单
  其实,文件夹菜单(Ctrl+d)不仅能切换文件夹,也能启动程序,打开文档。比如要启动gvim,只要添加一项,将其命令由通常的 cd xxxx 改为 d:\program files\gvim\vim71\gvim.exe 即可。这样,就可以通过文件夹菜单启动常用程序或文档了。

4. 外部程序化为TC扩展命令
  TC 7有一项重大改进,就是“为主菜单和快捷键自定义扩展命令(extended command)”(参见图解Total Commander 7.0之22项更新与改进(推荐)第18项)。大家知道, TC的快捷键不仅强大,而且灵活。之所以能这样,是因为TC的每一项功能都定义为一项内部命令,然后,用户可以自定义内部命令的快捷键或其他调用方式。TC 7允许外部程序通过扩展命令内部化,就让外部程序继承了这种便捷。
  例:快捷键ctrl+9启动GIMP程序(注:GIMP是可以替代PhotoShop的开源软件)
  演示(swf/500x400/158KB)如下:

  其实,上面的图形化操作过程反而更复杂。更简单的做法是,直接修改2个ini文件。
  在 usercmd.ini 中增加如下内容:

[em_gimp]
button=D:\program files\GIMP\bin\gimp-2.4.exe
cmd=D:\program files\GIMP\bin\gimp-2.4.exe
path=D:\program files\GIMP\bin\
  在 wincmd.ini 中 [Shortcuts] 段增加如下内容:
C+9=em_gimp

  除了快捷键之外,还可以用别名(alias)调用——这有点象用win+r加缩写启动常用程序和文档。此特征也是TC7的新增功能,参见图解Total Commander 7.0之22项更新与改进(推荐)第19项。实现方法与快捷键相似,不再演示。对应到参数文件,只要在 wincmd.ini 中 [Alias] 段增加一句:
gimp=em_gimp
然后,在TC中按相应快捷键(xbeta设置为右方向键),然后输入gimp回车,即可通过em_gimp调用gimp程序。

二、打开文件,多种程序随意选

  能否快捷的调用不同程序打开文件呢?比如,对一个html文件,有时需要用IE打开,有时想用Firefox打开,有时则想用Nvu来编辑。能否用不同快捷键调用不同程序呢?当然可以。并且不同情况下有不同做法。

1. 资源管理器“打开方式”法

  这其实是资源管理器的做法,但同样适用于TC。对于大多数用户而言,只有极少的机会要用非默认程序打开文档。因此,临时用右键弹出菜单→打开方式,再指定程序的做法,非常可取。这是一种基于实用原则的“用时才解决问题”的思路。xbeta就是这样做的。

2. 标准的TC Alt+F3法

  相信大家都知道,TC本身处理文件的三个关联程序:
    ① 按Enter或双击,调用系统关联程序打开文件;
    ② 按F3,调用TC内置查看程序打开文件;
    ③ 按F4,调用所配置的程序打开文件。
  并且了解:F3和F4不区分文件类型;Enter则因文件类型而调用不同程序。这些基本认识是正确的,但对F3的理解过于片面。
  首先,在TC中,F3不是孤立的,而是由F3,Shift+F3,Alt+F3形成了一组“查看”功能。
  其次,查看程序也可以自定义,并且可以区分文件类型。

  请看如下配置界面,并阅读相应帮助。
图

  我建议大家仍然保持“F3=内置程序查看选中文件”(提醒:可以选中多个文件进行查看,用n和p向下、向上跳转)。然后,点击“关联到”(Associations)按钮,为需要的文件类型指定外部查看程序,作为第二打开方式。
  比如,通常情况下,笔者双击图片文件会调用IrfanView查看,双击网页文件会用Firefox打开。但有时,需要用GIMP编辑图片、用Nvu(KompoZer)编辑网页。因此,就可以在这里把png、gif 关联到GIMP,把htm、html关联到Nvu。
  也就是说,利用TC的Alt+F3功能,可以为不同文件类型指定第2种打开方式,提高了方便性。

3. TC扩展法

  如果说“打开方式”法适用于个别的多程序打开文档情况,Alt+F3法提供了辅助打开方式,基本满足了多数普通人的需要。那么对于各种软件狂人,一种文档可能要用数种程序分别打开,则只能用TC扩展方法了。比较好的工具有比较经典的ChoiceEditor,以及 Shanny网友的原创新作F4Menu。 笔者因无需求,对两款工具都没有太多实用经验。仅根据资料和少许试用介绍如下。

(1) 较早的ChoiceEditor

  截屏如下,详细介绍见这里
图

(2) Shanny开发的F4Menu (推荐)

F4Menu介绍(作者:Shanny @ 水木社区;主页):
  顾名思义,F4Menu就是按F4键弹出的菜单,菜单上列出各编辑程序,用户可按文件类型选择不同的程序。也可让F4Menu在后台运行,不显示菜单,自动按配置选择相应的程序打开。
  F4Menu允许被任意程序调用 [1],尤其适合作为Total Commander的F4编辑程序。
  F4是Total Commander/TC编辑文件的快捷键,即调用指定编辑程序打开所选文件。
  然而,由于TC只允许 [2]为F4绑定一个编辑程序,因此它无法根据文件类型选择打开程序,更无法为同一类型选择不同的程序。 F4Menu恰好能完美地解决这些问题。
图1
图2

三、FavMenu:让TC收藏夹超越TC

  习惯了TC中超方便的目录切换与文件定位,再回到windows的打开、保存对话框中切换目录,会感觉极度不便。如何解决这个问题呢?
  朴素办法:TC+复制。笔者的做法是先在TC中定位到目标,然后ctrl+1/2/3复制其路径/文件名/完整路径,最后粘贴到对话框中。这是一种笨办法,但比较朴素,无须其他工具软件。
  高级办法:FavMenu。利用FavMenu这个小软件,用户可以在任意对话框中,使用TC的文件夹菜单功能。

  FavMenu链接:TC论坛讨论/下载totalcmd.net下载ahk论坛讨论/下载、善用佳软网盘下载:FavMenu v2FavMenu v3beta

  FavMenu官方介绍(善用佳软译):
  FavMenu 是 Windows 操作系统增强工具,以及程序快速启动工具。它保存你常用的目录/程序信息,并在系统对话框(打开/保存、浏览目录、Office2003对话框)、命令行(cmd.exe)、资源管理器、Total Commander 中快速调用它们。
  本软件的目录保存格式与Total Commander兼容,并且最初就是作为Total Commander的扩展而发布的。支持TC收藏夹的多数特性,包括插件、虚拟变量。另外,TC不启动时,本软件也能正常工作。
  同时提供的 Menu Editor 可创建、编辑、删除、组织菜单项。它可用作TC内置功能的增强替代品,提供了很多新特性。它可以独立于FavMenu使用,也可联合使用。

  FavMenu是用AutoHotkey——笔者非常推崇的脚本工具,参见AutoHotkey& nbsp;0级入门教程:让重复工作一键完成—— 开发的系统增强小软件,也可作为程序快速启动工具。它记录常用目录和可执行文件,并能在系统对话框(打开/保存、浏览目录、Office对话框)、命令行、资源管理器、Total Commander中调用。FavMenu的配置格式与Total Commander保持一致,也可以直接沿用TC的配置,因为它本来就是作为TC的扩展而开发的。几乎所有TC收藏目录功能——包括插件、虚拟变量——它都能实现。并且可以在TC不启动的情况下正常使用。当然,多数用户的TC实际上都是一直打开的。它在第一次启动时会自动检测TC,如果检测不到,就与资源管理器一起集成。
  它的配置界面如下,然后就可以在任何地方按快捷键(比如Ctrl+q)调出快捷菜单了,十分方便。


  更新 2009-01-16:
  网友Meon问:
  “现在在用FAVMENU,就是不知道为什么我在TC以外的程序打开FAVMENU时,除了TC里面原来的几个收藏目录外,最上面还显示了两个目录,如?1 D:TDDOWNLOAD ?2 D:FAVMENU2,用FAVMENU的EDITOR来看也没有这两个目录,我想知道为什么会产生这两个目录,在哪里删除”
  答复如下:
  已经很久没用FavMenu了,刚试了一下,结论为:
   * 这2条是什么?当前TC中的左右窗口路径。
   * 何时出现?TC运行中,且TC不是当前活动窗口。
   * 何时不出现?TC关闭,或TC是当前活动窗口。
   * 是否可取消?未发现相应配置。但推测可以通过改ahk源代码实现——不过没精力研究。
相关讨论:
- 水木TC版提到:「win7系统提供的"打开"或者“另存为”这样的对话框里面,favmenu不管用了」「无解决方案,推荐Listary」
- 水木TC版提到:HappyTC在考虑把Favmenu部分功能加到TClive中,并且提到了同样用ahk编写的Folder Menu;以及gif动画

四、更快速搜索文件

  搜索文件其实有2种方式。第一种是实时搜索原始数据,比如TC和资源管理器就是这样搜索文件的。也就是说,软件将用户提交的条件与当前的实际文件系统进行比较,找出符合的目标。这种搜索可以找到最新的文件,具有实时性,但速度较慢。另一种方式是:先为硬盘文件事先建立索引数据库,然后将搜索条件与数据库进行比较,找到命中结果。其优点是速度明显加快,缺点是因为数据库不是实时更新,所以有时结果会有遗漏。
  但从实用角度来看,后一种方式是可取的。因为多数情况下,我们寻找的文件都是旧文件。如果是最新文件,你通常会记得它放在哪里。或者,你可以根据需要,结合两种方式进行使用。
  通过索引搜索文件的工具中,有一款极小巧且免费的locate32值得推荐,并且它能通过插件FSE与TC集成。相关下载、介绍请自行搜索,以下演示其安装及使用过程。
  视频:swf/501x421/197KB。

  顺便说一下,TC中搜索文件默认快捷键为Alt+F7,这与Windows习惯Ctrl+f搜索不太相符。如果你想换回Ctrl+F,可进行自定义。注意,因为TC将Ctrl+f指向了“连接FTP”。所以,最好同时为连接FTP指定新的快捷键,比如Alt+F8。实现方法是,在wincmd.ini的shortcut段增加:
C+F=cm_SearchFor
A+F8=cm_FtpConnect

五、后记

  TC的最大特点是快捷。我们要从两方面来理解这一特点。
  一是TC能做到多快捷?这个问题当然没有答案。即便如笔者用了这么多年TC,仍然能不断发现一些新功能,可以让原以为无法实现的操作更加快捷。说个具体的例子,通过扩展命令+快捷键的做法、以及ctrl+d不仅能切换目录的功能,就是在写本讲的过程中发现的。因此,从学习角度,TC的技巧是永无止境的。
  二是我们需要多快捷?TC本身并不是必需的,有更多人利用资源管理器进行操作。计算机只是一种工具,而TC则是管理这一工具的工具,它离我们的本职工作还很远。它只能支持我们的工作,并不能代替我们的工作。因此,提醒大家一面学习TC,一面不要忽视我们的目标:做有价值的事。低效地做有价值的事,比高效地做无价值的事更重要。

  TC学堂的目的是帮助初学者了解和入门TC。这一目的基本达到,因此,TC学堂也快要结束了。欢迎大家反馈意见,提出还有哪些内容是你所关注的,以便于在最后几讲中进行介绍。谢谢大家!谢谢Ghisler开发这样完美的TC!(完)

附:注释

  [1]: “F4Menu允许被任意程序调用”,但有些网友仍不明白如何调用,这还是因为不明白它的功能原理。打个比方:F4Menu就相当于电源接线板、或USB扩展槽,功能就是“一转多”。某软件本来只能调用A软件,现在,你希望有时调用A、有时调用B、有时调用C……,所以,你要做的就是让该软件调用F4Menu,再在F4Menu中增加A、B、C的选择。即把原来唯一、固化的
X → A
转变为
X → F4Menu → A/B/C...
  举例1。目标:在资源管理器中双击jpg时,有时用IrfanView,有时用XnView打开。做法:把jpg的关联程序设为F4Menu,再在F4Menu中对jpg增加IrfanView和XnView的关联。
  举例2。TC批量改名时可调用外部编辑器,我的做法是指定gVim。当然,也可以指定 F4Menu,然后通过 F4Menu 再选择 gVim 或 Notepad。
  举例3。为firebug 设定多个外部编辑器?具体方法见:http://tinypic.com/r/2myn8gm/6 (感谢Jazzy)

  [2]: F4是Total Commander/TC编辑文件的快捷键,即调用指定编辑程序打开所选文件。然而,由于TC只允许为F4绑定唯一、全局编辑器,因此具有如下缺点:
  * 无法为不同文件类型指定不同编辑器。比如,txt的编辑器是Vim;jpg的编辑器是GIMP……。
  * 无法为同一文件类型指定多个编辑器。比如,txt的编辑器包括notepad、Vim、Textpro……,由用户进行选择。
  另外,TC的F4也无法同时处理多个文件(?)。

附:文章更新历史

  2012-11-13:补充“○、快速启动、激活TC”   2011-11-16:更新 FavMenu 一节。
  2010-06-13:更新 F4Menu 一节。
  2009-01-16:补充网友关于FavMenu的问题。
  2008-03-06:修正语句。修正错字,鸣谢lsl635@newsmth。
  2008-02-19:修改格式
  2007-12-10:初稿