2012年9月30日星期日

浏览器里最强的搜索栏(duckduckgo !bang)

为了进行一些专项搜索(比如在AMO上搜索Firefox扩展,在PyPi上搜索Python包,在http://packages.debian.org搜索Debian包),我给Firefox和Chrome都配了好多搜索引擎,每个配上一个关键字,这样就可以在地址栏输入"amo firebug"直接从AMO网站上按关键字搜索firebug了。。。

早上看见一篇 Useful duckduckgo searches for developers,里面说到DuckDuckGo搜索引擎提供一种!Bang语法,翻了一下,哇,这才是终极的替代品!

为什么这么说?因为大多数情况下我不再需要上面那些配置,直接在DuckDuckGo的输入框里面输入"!amo firebug"或者"!dpkg gedit"就能完成上述功能了! 而且很多关键字跟我原来的习惯是一致的:amo, pypi, dpkg...

如果说我将DuckDuckGo设置为Firefox/Chrome的默认搜索引擎,那就更方便了,都不用进入DuckDuckGo的网站,直接在Firefox/Chrome搜索框里按!bang方式输入就行了,哈哈。

不过上面为什么说“大多数情况下”?你看看!Bang页面列出的用法就知道了,很多很多常用网站都有对应的关键字,下面是我常用的一些搜索,包含了各项Google应用、Python/Javascript语法、Python软件包、Linux软件包、man page、Vim/Emacs/TotalCommander插件。。。 该页面还有很多很多。。。

如果还有一些你常用的没有包含在里面,可以提交申请,也可以再配合浏览器的搜索引擎来进行本地扩展。

Google (!g)
Google HK (!ghk)
Google CN (!gcn)
Google Images (!img)
Google Maps (!gmap)
Google Blogs (!gblogs)
Google Groups (!gg)
Google Reader (!gr)
 
Chrome Extension Repository (!crx)
Firefox Add-ons (!firefox)
Firefox Addons (!amo)
 
Vim Scripts (!vimscripts)
Vim.org (!vim)
Vimdoc (!vimdoc)
EmacsWiki (!emacs)
EmacsWiki (!emacswiki)
 
!github
!bitbucket
!sourceforge
Google Code (!gcode)
 
Debian Packages (!dpkg)
Debian file search (!dfiles)
openSUSE Software (!susepkg)
Ubuntu Packages (!upackages)
Ubuntu Manpages (!uman)
man.cx (!man)
 
JavaScript Docs (!js)
Mozilla Developer Center (!mdc)
Mozilla Developer Network (!mdn)
Python Docs (!py)
Pypi.python.org (!pypi)
Python2.6 Docs (!python26)
Python2.7 Docs (!python27)
 
Wikipedia (!w)
Wikipedia (ZH) (!wzh)
Wiktionary (!wt)
 
DICT.org (!dict)
WordNet (!wordnet)
Google Translate (!tr)  (可惜没有en <-> 中文的。下面这个可以用来查单词,但整句就不行了)
LEO Dictionary Chinese (!leoc)
 
AlternativeTo (!altto)
TotalCmd.Net (!totalcmd)
 
Twitter (!twitter)
StackOverflow (!so)
stackexchange.com (!sx)

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/archive/2012/09/27/most-powerful-search-box-in-firefox.html)

2012年9月6日星期四

2012-09 短博客

(8月试验了一下这种形式,觉得还不错,用评论来发比较短的博文很方便,修改也方便。本月继续。

不过这种方式对于通过RSS订阅的朋友来说就很不爽,所以我打算每月底整理一下,将通过评论发的“短博文”改放到正文来——有点想以前杂志上的“外xx篇”哈。而试图通过tag来分类查看的网友,就有点对不住了 :-)

之前的“网海拾贝”的形式就不搞了,光秃秃的放一些链接意思不大,整理起来也比较麻烦。)

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/archive/2012/09/06/shortblogs-2012-09.html)

2012年8月22日星期三

2012-08 短博客

清博客? 短博客?

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/articles/shortblog-2012-08.html)

2012年7月17日星期二

网海拾贝 2012-07 (linuxmint, git/hg, emacs, vim...)

1. LinuxMint

其实前几天写过了一篇相关的博文。这里是相关的一些链接。

2.Git/Hg

因为工作上的需要,我最近在研究GitHub以及探索内部开源的一些支撑手段,当然也就碰到了git。但在公司的Windows上使用git不太爽(其实我个人觉得还好,但我觉得在公司内推广git还是有些难度),于是又玩起了mercurial,觉得不错,回头详细写一篇对比。

2.1. 对比

2.2. 迁移/配合使用

2.3. Git

2.4. Hg

3.Emacs

3.1 org-mode

3.2 Emacs 24

3.3 CEDET

3.4 Why Emacs (& Emacs vs Vim)

这些链接其实有一半没认真看过,都是陆陆续续添加到Read It Later列表里面的,因为有一阵老想写一篇《为什么我转向了Emacs》,现在觉得其实没多大意义 :-)。

3.5 misc

4. Vim

5. Misc

5.1 Programming

5.2 Linux

5.3 Android

5.4 Wine

5.5 Misc

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/archive/2012/07/17/various-goodies-2012-07.html)

2012年7月15日星期日

笔记: 文件比较/合并工具

5+ Best Free File Compare and Merge Software List

  • WinMerge (当前仅支持Windows,作者正在开发v3版本 ,改用Qt实现,同时支持Linux)
  • Meld (python, gtk)
  • FreeFileSync
  • Kompare
  • DiffMerge
  • KDiff3 (KDE or just Qt)

Diffuse - graphical tool for merging and comparing text files

新发现的的一个文件比较工具,只依赖于python和gtk,适合xfce下使用(比如colinux或者小内存机 器)——tkdiff/xdiff的功能太弱了。

  • 只能比较文件,不能比较目录;
  • 特色: 可以与版本控制工具相配合,与指定revision比较: diffuse -r 123 foo.C不指定revision但只给出一个 文件名时,尝试跟最后一个revision进行比较
    • 在Windows上,还考虑了使用Cygwin的情况,可以调用Cygwin里面的版本控制工具

diffuse screenshot

KDiff3

没想到KDiff3还有一个Windows版本,从Debian里有个kdiff3-qt版本 来看,这个Windows版本应该是只用了 Qt的。

简单评估(基于Windows版本):

  • 文件夹比较是WinMerge的风格(不是Beyond Compare/Meld那种清晰的左右两栏风格),我不太习惯
  • 文件内容对比时,也不能直接地将选中块复制到对面,而是要先进入merge模式,在第三个窗口中维护结果, 这样每处不同都要关注三个窗口,部分完成合并后也不能简单地直接刷新视图以便直接关注剩下的部分(需 要重新载入、再merge)。我还是喜欢BC/Meld的风格,甚至TC的文件比较和emacs的ediff都比这方便
  • UI设计不怎么样,只有工具条和繁琐的主菜单可以使用,没有右键菜单,没有meld中栏那种“直接复制到对 端”的箭头 http://kdiff3.sourceforge.net/doc/screenshots.html 倒是跟我用其它KDE程序的感受一致: 功能似乎很多,但很繁琐,用着累
  • kdiff3不支持syntax highlighting,也不打算支持 http://kdiff3.sourceforge.net/doc/faq.html#id2569879 而BC/Meld/WinMerge/Diffuse都是支持的
  • 另外有一个Windows上qt程序的共性小问题:选择语言为简体中文后,菜单字体总是比较难看的8号字,而且 我在网上搜了一圈,好像Windows上没有Linux下qtconfig那样的配置工具,网上说的办法都是修改代码重新编译

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/archive/2012/07/11/free-compare-tools.html)

2012年7月8日星期日

RabbitVCS如何跟GNOME-3/MATE集成

在Linux下,我一直用RabbitVCS 做SVN的前端(除了Emacs之外),因为它可以和nautilus 很好地集成:通过右键菜单执行常用操作,而且文件图标上有vcs状态图标——跟在Windows下用的tortoise系列有点象(不知道作者将其取名rabbit,跟龟兔赛跑有没有关系 :-)

rabbitvcs+nautilus integration

RabbitVCS目前支持SVN和GIT(它的网站说打算下一版本0.16里添加对Mercurial的支持,那时我就看看是不是将我的主代码仓库迁移到mercurial上去)。安装很简单(如果你用的是GNOME 2):

apt-get install rabbitvcs-nautilus

(其实rabbitvcs也跟XFCE的thunar有集成,但只有右键菜单,而不能显示图标overlay,这我就觉得那还不如用Emacs或者完全命令行)

 

GNOME-3 (nautilus 3.x)

如果你在用GNOME-3作为桌面,而发行版自带的rabbitvcs又比较老(比如我的LinuxMint 12),它是不能跟nautilus 3.x集成的,得升级rabbitvcs到0.15版本以上才行。

Debian

当前的Debian testing/unstable里面的rabbitvcs已经是0.15版本了,直接安装rabbitvcs-nautilus3(注意后面的3,因为对于GNOME 2.x而言应该是rabbitvcs-nautilus包)就可以了。

如果在用stable(squeeze)版本。。。什么,你已经在用GNOME-3了? 你能搞定那个,说明你完全可以自己搞定新版本rabbitvcs的安装了 :-)    (简单地说,就是自己从源代码包进行安装,因为rabbitvcs是用python写的,也没有什么pyd模块)

Ubuntu/LinuxMint

除非你正在使用尚未发布的quantal,否则ubuntu官方提供的rabbitvcs最新也就是0.13了。不过rabbitvcs自己提供了一个apt仓库:

sudo sh -c "echo 'deb http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu **DISTRIBUTION** main' > /etc/apt/sources.list.d/rabbitvcs.list"
sudo apt-get update
sudo apt-get install rabbitvcs-nautilus3

注意把**DISTRIBUTIOn**换成你系统的代号,rabbitvcs对hardy到precise都支持。LinuxMint用户从这里可以查到对应的Ubuntu版本号: Linux Mint Releases

 

MATE

如果你在用MATE作为桌面,那么有点不幸,rabbitvcs目前还不提供对mate文件管理器caja的支持。不过,如果你知道mate其实就是gnome 2.x改了一些名称而已,MATE的文件管理器caja实际就是nautilus-2.x的话,这个问题并不难,把nautilus-2.x的集成扩展简单改改就可以在caja上使用了。

1. 首先,安装rabbitvcs-core。因为,所以并不必须安装最新版本的rabbitvcs;

sudo apt-get install rabbitvcs-core

2. 然后从mate的仓库安装python-mate和python-caja

sudo apt-get install python-mate python-caja -t oneiric

(如果你在使用LinuxMint 12 (Lisa),那么它带的mate是1.0版本,LinuxMint提供的仓库里并没有python-caja这个包,建议用mate官方仓库升级到1.2版本)

3. 下载rabbitvcs-nautilus的deb包,但不用安装,我们要拿过来改改。

Debian wheezy可以从这里下载: http://packages.debian.org/wheezy/all/rabbitvcs-nautilus/download

Ubuntu/LinuxMint从这里:  http://packages.ubuntu.com/rabbitvcs-nautilus

但如果你是从rabbitvcs提供的ppa仓库安装的,那么相应地,到它的仓库去下载:

http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu/pool/main/r/rabbitvcs/

然后用file-roller或者dpkg-deb -x解压rabbitvcs-nautilus...deb,修改解压出来的usr/lib/nautilus/extensions-2.0/python/RabbitVCS.py

将里面的(大约在593行):

import gnomevfs
import nautilus

改为:

import matevfs as gnomevfs
import caja as nautilus

然后将此文件安装到/usr/lib/mate/extensions-2.0/python/RabbitVCS.py(对,该deb里面的其它文件不用要了)

4. 重启caja

caja --quit
caja

 

 

类似地,rabbitvcs跟pluma(mate-text-editor)的集成,也可以通过移植rabbitvcs-gedit的代码搞定。

 
 

本文链接



(automatically copied by ifttt from http://www.cnblogs.com/bamanzi/archive/2012/07/08/rabbitvcs-gnome3-mate.html)