程序员的基础生存技能:高效用 Chrome

2017/11/23

如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等。既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。

而像程序员这种必须终生学习的职业,搜索引擎就是我们的左膀右臂。懂搜索引擎就是我们的基本功,不,应该是童子功。只是大部分新手都在过分粗放的使用搜索引擎,而花几分钟时间了解搜索引擎的技巧和语法,就能让自己的信息财富来一个大跃进,不也是一笔划算的买卖么。

而对于技术类问题的检索,谷歌的表现水准无疑要甩百度几条街;所以善用搜索引擎的第一条原则必然是:一如既往毫不犹豫百折不挠的使用 Google。而对于一名程序员来说,保证自己随时随地能访问 Google,是最最基本的技能,哪怕花费少许金钱也是物超所值。那么以下就撇开百度,专门讲讲使用 Google 的小贴士。

完整匹配

「”」+「关键字」+「”」

在 Google 的输入框里,所有的空格都被理解为加号。如果你输入的是 mysql foreign key,那么返回的搜索结果里也许既有 mysql 存在,也有 foreign key 存在,但不一定有 mysql foreign key 存在。另外,过分常用的、单独存在没有意义的词汇往往被忽略掉,比如 the/a/that 等等。

如果你想要找含有 mysql foreign key 这个词组的文章,那么你必须在搜索词前后加上引号,输入 "mysql foreign key",不管你输入的时候使用的是全角字符(“ 或者 ”)还是半角字符(”),Google 都照样能够正确处理。这就是引号的作用:返回完整匹配的结果且文字的顺序并没有改变。

筛选

「关键字」+「空格」+「减号」+「关键字」

为了进一步筛选搜索结果,还需要学会另外一个符号 — 减号(-)。比如,绿茶 -百科就要求 Google 返回含有 绿茶 但不存在 百科 的文章。

注意:只有关键字「绿茶」与「减号」之间有空格,而「减号」与关键字「百科」之间是没有的,不然是搜索不出这样的效果的哦。

文件类型

「关键字」+「空格」+「filetype:」+「doc/ppt/pdf 等文件格式」

filetype 可以用于搜索特定的文件格式,运用这种搜索指令你可以轻松搜索到各种格式的资料文件,百度搜索也是支持这种指令的。

例如:我们在百度中搜索 可持续发展 filetype:ppt有机化学 filetype:pdf,这样我们搜索到的就是包含关键字的对应格式文件啦。

如果这样输入,还能找到限定时间里包含关键字的文件资料哦。

「关键字」+「空格」+「filetype:」+「doc/ppt 等文件格式」+「空格」+「2008..2010」

通配符

「关键字」+「*」+「关键字」

另外一个程序员耳熟能详的符号是正则里最常露脸的星号,看到星号就下意识的想到通配符,在 Google 的搜索规则中也是如此,输入 "mysql connect error *" 就会返回所有已知的关于 MySQL 连接错误的文章。

站内搜索

  1. 比如针对程序员查 bug,stackoverflow 是我个人觉得可信度最高也最全面的一个网站,所以我就经常使用 site 的魔法,像 "mysql foreign key" site:stackoverflow.com 就会返回对应网站内所有关于 mysql foreign key 的文章。
  2. tab / 空格 键的妙用。chrome 默认搜索引擎是 Google,但由于某些原因,在国内是无法使用的;一般使用最多的是百度和 360。可以在地址栏输入 baidu.com,然后按下 tab / 空格 键,可以实现使用百度搜索。
  3. chrome://settings/searchEngines 页面列表中的关键字即为 site. 也可以修改关键字, 也可以自定义搜索

intitle

「关键字 A」+「空格」+「intitle」+「空格」+「关键字 B」

这条指令表示我们搜索关键字 A 的搜索结果中标题必须包含关键字 B,简单来说就是我们这样搜索出来的页面中所有标题均含有关键字 A 跟 B。

例如:我们输入「京东 intitle 章泽天」,运用这个指令我们搜索出来的结果中所有标题毫无疑问全都包含了「京东」以及「章泽天」两个关键字。

想要包含多个关键字则可以使用这条指令

「关键字 A」+「空格」+「allintitle」+「空格」+「关键字 B」+「空格」+「关键字 C」

例如:我们搜索「京东 allintitle 刘强东 章泽天」这样搜索的结果标题则同时包含了三个关键字「京东」、「刘强东」以及「章泽天」

inurl

「inurl」+「关键字/网址」

这条指令用于搜索关键字出现在 url 的页面,关键字可以是中文、英文或者网址,这样很容易就能搜索到关键字出现在 url 中的页面,而且百度和 Google 都支持 inurl 指令。

例如:我们搜索「inurl:搜索引擎优化」,返回的结果都是网址 url 中包含“搜索引擎优化”的页面。由于关键词出现在 url 中对排名有一定影响,使用「inurl:」搜索可以更准确地找到竞争对手。

「related:」+「网址」

目前「related:」指令只适用于 Google,返回的结果是与某个网站有关联的页面。

例如:搜索「related:github.com」,我们就可以得到 Google 所认为的与 github 有关联的其他页面。 这种关联到底指的是什么,Google 并没有明确说明,一般认为指的是有共同外部链接的网站。

inanchor

「inanchor:」+「关键字」

「inanchor:」指令是用于返回的结果是导入链接锚文字中包含搜索词的页面。简单来说,这个指令返回的结果中,有锚文本指向这个搜索结果,但不一定包含搜索词。

例如:在 Google 搜索「inanchor:点击这里 」,返回的结果页面本身并不一定包含“点击这里”这四个字,而是指向这些页面的链接锚文字中出现了“点击这里”这四个字。

语言和日期

对于英语阅读能力不过关的人,遇到急事就不能一篇篇翻原版文档了,不得不求助国内的二手货;这时,Google 界面上的一个小按钮就帮上大忙了:点击搜索工具 - 不限语言,下拉选择所有简体中文网页,一下子就回到了祖国母亲的怀抱。有时用新出的库版本,别忘了隔壁那个不限日期按钮,可以帮你找到最最新鲜的技术文章。

Tab,以及宅男福利

只限 Chrome 的一招:输入某个网址,再点击 Tab,会能直接使用这个站点的站内搜索了,比别人快个几秒,关键时刻也很管用不是么。

最后留个福利吧,曾经被人偷偷问过,谷歌的安全搜索怎么关闭;网上有一些繁复的攻略,对我们程序员,搜索网址加个参数:&safe=off,一招就可日天。

祝大家 Google 快乐。