拼音首字母: 超方便的Total Commander 7.5快速搜索功能

【2012-05-22 更新】TC拼音首字母搜索功能,或者说,TC本身的快速搜索功能,早就一统江湖,只是这里没有更新。新王者就是—— QuickSearch eXtended 。它相当于 Shanny 的拼音首字母搜索,加 Google 的空格/模糊搜索。

—- 以下是 2009-05-30 旧文 —

最新发布的 Total Commander 7.50 Beta 4 加上新发布的 PinYinQuickSearch插件,为中文用户带来了新的快速搜索体验:输入拼音首字母,即可定位到对应的中文目录/文件;改造之后,还可支持五笔等其他编码。这是 TC7.5 在快速搜索方面,继支持中文输入后的又一重大更新。这一过程,是TC作者与中文用户及中文化开发者良好互动的结果。当用户尊重作者、支持作者时,作者就不会忽视用户的需求。感谢这些人,让我们一起善用TC。

1. 如何体验 TC7.5 的快速搜索拼音首字母功能?

首先,请下载最新发布的 Total Commander 7.50 Beta 4(官方认可下载)并升级安装。
然后,请下载 Shanny 修正的PinYinQuickSearch_fixed_by_shanny.zip)。
接下来,请在TC中(而不要在压缩软件中)双击 PinYinQuickSearch.zip,就会自动安装此插件(如下图)。
[image:PinYinQuickSearch]
最后,你就可以体验 QuickSearch 的拼音首字母匹配中文的功能了。如下图所示,输入hs,TC就匹配到了文件“史记汉书研究概述.htm”中的“汉书”。
[image:quick search tc pinyin]

1+ 补充:改造码表,让QuickSearch支持五笔首码

PinYinQuickSearch(拼音首字母快速搜索)的核心是 tcmatch.dll(功能)和 tcmatch.tbl(码表)。目前的码表是TC作者根据某汉字拼音编码制作。其实,我们完全可以修改此编码,让TC快速搜索不仅支持拼音首字母,也可以支持其他编码(比如双拼、五笔、二笔)的首字母。

以五笔为例,步骤如下:

– 下载原始码表Uni2Pinyin.Z(约97KB),用7-Zip(或其他解压软件)解压出 Uni2Pinyin (约212KB)到 TC 安装目录,并改名为 tcmatch.txt。
– 用文本编辑器打开 tcmatch.txt,可以看到前几行是文件说明,后面是数据行。
– 找到 “8BD5 shi4”(不包括引号,下同)。这一行的意思是,unicode编码8BD5(即汉字“试”)的拼音为 shi,第4声。为了支持五笔,我们要增加五笔编码。同时为了格式一致(或许程序会进行校验),在五笔编码后面也增加一个数字代表声调。
– 即,“试”字原对应“8BD5 shi4”,现改为 “8BD5 shi4 yaa4”。(注意,tab作为分割符)
– 同理,修改其他字符:
6d4b ce4 imj4 (测)
5584 shan4 uduk4(善)
7528 yong4 et4(用)
4F73 jia1 wffg1(佳)
8F6F ruan3 lqw3(软)
– 保存tcmatch.txt。
– 退出TC。
– 删除TC目录下的旧码表 tcmatch.tbl。
– 重新启动TC,并开始使用快速搜索的中文功能,此时,插件会基于新的tcmatch.txt,重新编译tcmatch.tbl。
– 新建“测试”、“善用佳软”,会发现无论键入”cs”(拼音缩写)或”iy”(五笔缩写)都能匹配“测试”,键入“wl”也能匹配“善用佳软”。
[image: TC quick search支持五笔]

2. 更多讨论

2.1 什么是快速搜索(quick search)?

我认为quick search 译为“快速搜索”并不十分贴切。至少把“快速”换为“快捷”会更加恰当。
传统的文件搜索,是确定某文件所在的目录。而quick search则不仅是搜索,而是基于搜索实现“定位、突出、过滤”。举例来说,在 d 盘搜索 abc.txt,结果会出现在一个新窗口中,列出:
d:/folder-1/folder-2/…./abc.txt
d:/folder-x/…/folder-z/abc.txt
……
如果你需要处理这些文件,就要再在文件管理器中转到这些目录中,定位到这些文件上。
而quick search,则让“搜索”和“手工定位”合二为一。当你在quick search中键入abc.txt时,文件管理器直接显示出这些目标文件(过滤掉不匹配内容),或焦点直接跳转到该文件,并高亮显示。
quick search是现代人机交互的潮流,从我的理解,可以总结为“基于搜索,并能实时地定位、突出搜索结果,或过滤掉搜索结果之外的内容”。EverNote、Vim用户都会对此有深刻理解和体验。

2.2 Total Commander的Quick Search改进之路

TC 7.0 开始支持“文件名精确匹配(N)”模式,包括:- 开头(文件名必须以第一个输入字符开始)(B);- 结尾(文件名中句点前所有字符必须与输入字符一致)(D)。如果都不选,意味着“任意位置匹配”——这才是改进所在。
由于不支持中文,Shanny开发了 QuickSearchPro,受到了中文用户的好评。
TC 7.5 开始支持中文搜索,并且迅速推出了 PinYinQuickSearch 插件。此插件是开源方式,并且是开放架构,实际上,每种语言、每种输入法,都可以基于此,制作相应的quick search插件。

TC是经典,并不意味着它一直是领先、始创。恰恰相反,越是成熟的软件在转型期的挑战就越复杂。TC7.5 才实现了quick search完全支持中文,而Free Commander早就支持Unicode了。但之所以能成为经典,就是落后时能扎扎实实改进,领先时仍能精益求精。TC 的上述历程,以及背后的点滴故事,就是最好的注解。

2.3 致谢与论坛相关讨论

英文软件如此个性化的支持中文,要感谢这些人:

  • – Ghisler:令人敬佩的TC作者。
  • – Shanny:QuickSearchPro的作者。在TC未实现此功能之前,先通过独立程序帮助TC做到了这一点,在中文用户中引入了这一应用习惯。并且,得知TC官方表示引入此功能后,Shanny表示可以提供其代码或进行其他帮助。
  • – cheming等网友。网友QuickSearch留言补充:
    『更正一下,其实在Ghisler支持中文首字母快搜功能上,有一个人是功不可没的,那就是cheming。看看Ghisler的回复以及他们之间的对话就知道。
    Sun May 31, 2009 8:28 am:Nice to hear that! Thanks very much for your useful hints, I couldn’t have added it without your help. [via]
    Ghisler之前对何为拼音一窍不通,正式上面提到的cheming耐心解答才使Ghisler逐步明白此功能对中国人的意义,并受到其提供的网络资料启发,将此功能逐步完善的。』
    当然,还有其他网友在官方论坛对TC beta版进行测试、bug反馈、并帮助作者理解中文、拼音、多音字……
  • – 而Ghisler(瑞士)所用的中文拼音码表(Unicode Pinyin table)则是来自于Koichi Yasuoka(日本),此码表中又提到了另外4位来自德国、美国、澳大利亚、日本的朋友。看,这就是开源和开放给我们带来的好处!

水木社区:
QuickSearchPro不会再更新了
TC quicksereach pro 官方版
QuickSearch Pro 官方版修正
TC论坛:
Quick search for Chinese characters

发信人: shanny (潇风·失过业,完整了), 信区: TotalCommander
标 题: QuickSearchPro不会再更新了
发信站: 水木社区 (Wed May 27 10:24:24 2009), 站内

这是坏消息,
还有一个好消息

TC会内部支持类似功能,很可能在7.50b4实现,
一起期待吧

发信人: shanny (潇风·失过业,完整了), 信区: TotalCommander
标 题: Re: QuickSearchPro不会再更新了
发信站: 水木社区 (Wed May 27 11:27:59 2009), 站内

没错,会添加 wcmd_chn.dll 来支持中文查找
这是最好的解决方案了,比外加的addon好得多
cjk作者都会支持的
接口公开,而且相关代码开源

【 在 xuanqing (玄清|黑白猫熊@静若处子动如光) 的大作中提到: 】
: 就是说会用内置的dll之类的方法支持不同非英语言的快速查找么?

3. Total Commander 7.50 Beta 4 更新记录

官网介绍见http://www.ghisler.com/750beta4.htm
28.05.09 Release Total Commander 7.50 Public Beta 4
28.05.09 Fixed: When a disconnected network drive was reconnected, the drive’s icon wasn’t refreshed in the drive dropdown list
27.05.09 Fixed: Shift+Cursor up/down in drive dropdown list selected file in file list
27.05.09 Fixed: Access violation in icon thread when closing TC with open separate tree (fix should also improve the general stability)
27.05.09 Fixed: Multi-rename tool, branch view: When sorting by name, keep sort order from main window (sort just by name, not by relative path+name)
27.05.09 Fixed: Function to save current selection could crash with file names longer than 511 characters (e.g. in branch view)
27.05.09 Fixed: Quick filter wasn’t removed when user opened a new tab by Ctrl+clicking on a button (or Shift+Enter in Ctrl+D menu) when command “cd xyz” was pointing to a file
27.05.09 Fixed: Yes/No button in copy to dir warning dialog not translated
26.05.09 Fixed: Mouse wheel no longer worked in Lister>

《拼音首字母: 超方便的Total Commander 7.5快速搜索功能》有70个想法

    1. 感谢推荐,粗略试了一下,感觉就是跨平台的TC,界面,设置,快捷键都一样,而且帮助说支持wcx,wdx和wfx插件(好像不支持wlx)。

      问题是不稳定,我才用了几分钟,就报了好几次错。

      这个发展下去很有前途,期待完善。

    1. 是啊,就是TC把我一直拴在win平台上啊,虽说TC好像也能用wine,但还是觉得不爽,如果G大出linux下的TC就好了

  1. 看到doublecommander, 昨天下了一下用,其他不说了,和totalcmd比较接近,但我用两个显示器,打开doublecommander的option对话框, 这个对话框竟然横跨两个显示器,而且不能拉边框缩小, 只好放弃.
    Windows 里面除了Totalcmd外, 有一个unreal commander是免费的, 可以config的和totalcommander一样,感觉不错, 我装了作备用.

  2. 为什么我会无法安装这个插件呢?我在TC7.5b4中双击这个插件安装包只是直接进入包内查看文件,没有运行安装~~另外,为什么这个插件的后缀是dll呢?TC插件的后缀不都是w*x吗?正在疑惑中……

  3. 两个问题
    1.请教shanny的那个是怎么做出来的,用什么软件或者什么批量搜索替换之类的方法,肯定不会是这么一个字一个字的码吧?那个软件或方法有没有可能支持其他的五笔码和双拼码?
    2.由上看来是G大他只支持首字母不准备支持全拼了,大家觉的如何,我很希望也能像英文一样能支持全拼,有人支持吗?

  4. 嗯,Shanny 修正版的确实好,原来的没法匹配第二个注音,比如”卡”字,
    5361 qia3 ka3
    只能匹配q,把人还搞得有点晕,现在好了

  5. 码表里好像没有符号的拼音,比如减号(杠)、下划线、括号,这些文件名里也经常用到的.
    刚好讲了这个方法,自己做个.

        1. 在过滤状态下(Ctrl+S状态下),快速搜索要是能按 ESC 全部清除输入结果,返回原目录状态就好了。
          (非过滤状态下,是可以的,但过滤状态下就不行)
          善用佳软补充:
            在过滤状态下:
            1. 在快速搜索框输入内容,实时得到过滤后的文件列表;
            2. 此时按下Esc,输入框隐藏(但内容还在);
            3. 再次按下Esc,隐藏起来的输入框内容清空,所以,文件列表取消过滤,显示全部内容。

  6. 刚才试了一下,真是激动的想跳起来了啊,太好了,以后中文就不操心了。不过现在我基本上都用英文来命名了。

  7. 天哪。。。太好用了!!!太激动了!!!前段时间差点冲动全部英文命名。。。
    另外TC的快速查看能不能排除某些类型的文件啊,比如说rar,快速查看模式下点到rar直接假死。。。

  8. 更正一下,其实在Ghisler支持中文首字母快搜功能上,有一个人是功不可没的,那就是cheming。看看Ghisler的回复以及他们之间的对话就知道。

    Posted: Sun May 31, 2009 8:28 am Post subject:
    Nice to hear that! Thanks very much for your useful hints, I couldn’t have added it without your help.

    http://www.ghisler.ch/board/viewtopic.php?t=22112&start=30

    Ghisler之前对何为拼音一窍不通,正式上面提到的cheming耐心解答才使Ghisler逐步明白此功能对中国人的意义,并受到其提供的网络资料启发,将此功能逐步完善的。

  9. 好像有个bug,我输入“zp”,出来了2个文件(夹):“[PS2].ICO.(CHT).古堡迷踪繁体中文版.iso”和“相机照片”。那个iso文件好像没有“zp”开头的字,为啥会匹配出来?
    【善用佳软:
    zp 命中了 踪繁。
    繁,多音字,也读为pó
    ◎ 〔~台〕中国河南省开封市东南的古迹。
    ◎ 姓。】

  10. 谢谢佳软解答。还有一个问题,tc 75b4里面没有内部文件关联这个选项了?我在菜单里找了半天都没有发现。个人觉得这个选项做绿色版比较有用。
    【善用佳软:有此选项。】

  11. 请教一个问题:
    由于屏幕分辨率较高,一般将DPI设为120。
    这样在TC里,英文显示正常,中文字体上部有很小的一截冒出来了。
    字体的配置用的是善用学堂里提供的。8号字体, Western,Sans Serif

    不知有没什么好的解决方法?谢谢。

  12. 你好,我用TC,但是我想问2个比较弱的问题,就是:1 我只想用路径来搜索一个文件来选中,而不是打开,可是我在路径里输入后,然后回车,就只能打开了。。。。【可是对于文件夹却可以做到!。。】这个有解决办法吗?2 灵格斯里有个发音的文件夹,里面有个文件夹是字典里单词发音的一个一个的音频;现在我有一个单词表,想把这些单词的音频复制出来,该怎么办?【音频的文件名就是单词】,麻烦你了。

  13. 问一个小问题,在我输入Program Files 时会自己提示,但是我按回车后,说找不到文件。有空格的都有这种问题,晕了。

  14. 请教一个问题,因为最近旧的TC坏了,我现在用的是Total Commander 7.50 Beta3汉化版。这个版本怎么不可以显示上下窗口,只能显示左右窗口,有高手指教一下怎么设定上下窗口吗?急!!!急!!!急!!!

  15. 你好,老大,我在
    第2讲:TC基本功:定位与选择
    http://xbeta.info/studytc/tc002.htm中
    5. 对ini文件的解释
     ④ 用命令行参数 /i 和 /f 手工指定配置文件。
       TC运行时,支持 /i 和 /f 参数。写法参见下例,其中 /i 表示配置文件,/f 表示ftp服务器信息文件,不分大小写。比如,你可以用命令行来运行TC,把这2个文件放到极其个性化到目录下(不推荐)。
    中倒数第七个字不通顺,估计应把“到”改为“的”【善用佳软:多谢,已改正。】

  16. Double Commander现在还是0.4.5.1的beta,也就是还不完善,但是各方面的改进已经比楼主的文章发表时好了很多,我一直在用。
    而且跨平台性很不错。
    现在官方的0.4.5.1稳定版发布已经有一段时间了,有不少bug,可以试一下他们主页上提供的血淋淋的snapshot,界面和功能又有不少增强,相信Double Commander前途光明。

  17. 太强大了,太喜欢了。支持xbeta,支持Ghisler,
    支持shanny,话说张学思去哪了,怎么不更新张学思的7.50版啊~~个人很喜欢张学思的汉化版的说~

  18. 我真怒了!这作者怎么回事!
    F4Menu换成了百度插件,PinYinQuickSearch_fixed_by_shanny.zip还是百度插件,
    我真服了。我不相信是黑客做的?
    (xbeta注:我这里无法访问该网站,提示dns出问题。已联系shanny,他现在也访问不了,正在解决此问题。确认是dns故障。至于变成百度插件的事,shanny不至于做这样的事,也明确得到了他的回复——“我哪有那么无聊” )

  19. 建议使用Samuel的QuickSearch eXtended,它比PinYinQuickSearch更强,也支持拼音,用的码表也都是我修正后的tcmatch.tbl,能正确识别多音字。
    默认的QuickSearch eXtended在使用时会启动自己的进程及窗体,不过可以通过设置去掉。
    为方便大家使用,我修改了相关设置,并提取了其中最基本的几个文件做了个压缩包,使用起来与内置的快速搜索无异。
    下载地址:http://www.shannycn.com/download/QuickSearch eXtended 2.01.zip

  20. 请问,使用快速搜索功能时,如果选中两个或以上文件?
    我在使用7.56版,在选项的快速搜索中选中了“字母(使用快速搜索框)”,在界面中过滤到第一个文件后,按右键选中,按ESC返回文件列表,这时文件处于选中状态,这时如果再使用快速搜索功能选择第二个文件后,第一个文件的选中状态就会被取消,请问如何解决?

  21. “TC7.5 才实现了quick search完全支持中文,而Free Commander早就支持Unicode了”——
    这句话不对吧,就我这几天的试用来看,以下这些文件管理器:FreeCommander、Q-Dir_Installer_Unicode、MDIE、Unreal Commander、Total Commander、UltraExplorer、NexusFile、doublecmd、mucommander、Blue Explorer、TabCommander、Master Commander、nomad、Xplorer2Pro、DOpus,都不能实现Unicode拼音首字母快速搜索!!
    期待善用兄和shanny兄出来解释下,非常感谢!
    其实我用下来,除了TC之外(TC当然是最强的啦),FreeCommander、Q-Dir_Installer_Unicode、MDIE这三个软件也很不错,如果这三个软件也能支持Unicode拼音首字母快速搜索,那就好了!

    1. @bobbin, 说的是支持中文,不是支持拼音首字母。比如有个文件名为“tc文件管理器.pdf”,FC较早就可以用“文件”定位,但TC到7.5才可以。并且,先是不支持中文,所以shanny开发扩展,但shanny的扩展一下子实现了飞跃,不仅支持中文,同时支持了拼音首字母。

      1. @善用佳软, 嗯,明白了!现在坚持用TC,越来越感觉到好用了!开始用TC觉得很多习惯和Windows默认的不一样,很纳闷TC咋就不能设成和win默认一样的?后来,坚持用了段时间,接触TC的各种功能多了,才体会到,原来TC很多习惯是有她道理的!她不和win默认操作习惯一样,往往是因为这个操作方式,她预留给了她另外的某个更强大的功能了呢!
        PS:我用到目前感觉最赞TC的功能:1 可以拼音首字母搜索过滤 2 新建文件夹时可以自动命名

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.