Archive for ‘ToolKits’ Category

August 9, 2010

  现在再推荐一个类似的工具集Gow(GNU On Windows). 这是一个轻量级的Cygwin“替代品”,集成了130个Linux命令,可以由Windows Installer方便地安装,自动设定环境变量。同时,自动为Windows Explorer的右键菜单添加一个“open in cmd prompt”的菜单项。里面有特色的工具主要有:

  • 脚本解释器:bash, zsh ;
  • 归档、压缩工具:tar, gzip, bzip2等;
  • putty工具集: putty, psftp, pscp, plink等;
  • 下载工具:cURL, wget;
  • 编辑器:Vim;
  • 文本搜索/查看工具:grep, cat, less, head, tail等;
  • 文件(系统)相关工具:mv, cp, ls, rm, pwd等;

  另外,你可能注意到,Gow中并没有gcc(GNU Compiler Collections),所以,如果你需要这些工具,你可能还需要安装上面的cygnus。需要注意的是,这两个工具集的命令有交集,所以同时安装这两个工具集时要注意PATH中搜索路径的顺序,我更倾向于把Gow的bin放在前面。
  最后,如果你系统中已经装有Vim(通常为较高的版本),最好把Gow中提供的Vim(貌似是6.3)删除。

Tags: ,. 86 views
August 7, 2010

  这款插件叫Mumbless,思路来源于我以前使用的插件block-spam-by-math。刚刚写好,可能还不太完善,但以最近一周的使用来看,还未出现自动的垃圾留言,或许因为小众吧。如果你需要,可以点击此处下载Mumbless.zip。安装方法同其它插件。
  为了更有效地利用这款小插件,这里提供些建议:

  • Mumless.php文件中Mumbless类中的add_check_form函数中的keywords数组包含了候选的验证码,你可以根据自己的喜好增删改;
  • 验证码输入框可能会影响原有表单的tabindex顺序,你可以根据需要调整;
  • 验证码图片的大小、样式在keyimg.php文件中定义,必要时你也可以对某些参数进行修改。

  希望这个插件能为你节省些许删除垃圾评论的时间。

Tags: . 31 views
June 23, 2010

  代码中编辑一些配对符号内的内容是十分普遍的,这些配对符号包括:”, “”, (), {}, [], <>等等。Vim提供了一些命令来方便的编辑这些符号所包含的内容,将光标定位于某符号(如(或者)):

  • ci: 例如,ci(,或者ci),将会修改()之间的文本;
  • di: 剪切配对符号之间文本;
  • yi: 复制;
  • ca: 同ci,但修改内容包括配对符号本身;
  • da: 同di,但剪切内容包括配对符号本身;
  • ya: 同yi,但复制内容包括配对符号本身。
Tags: . 25 views
June 2, 2010

  我的.vimrc,贴出来给大家瞧瞧。有一些不太优雅的,或者个人色彩太强的,或者晦涩的,或者基于特定插件的部分已经被滤掉了。需要注意的是,对于gVim(Windows或者Linux/Unix),我把菜单栏和工具栏都隐藏了,不习惯的话把相关行注释即可。
  下面是一些键映射,仅供参考。

" escape for <ESC>
imap jj <esc>
" ' for `
map ' `
" save the file
" map <leader>w :w<cr>
map ,w :w<cr>
" quit
map ,q :q<cr>
" save and quit
map ,z ZZ
" yank from current line to the EOF
map ,yy "+yG
" paste from clipboard
map ,p "+p
" do substitution globally
map ,s :%s/
" do substitution in current line
map zs :s/
" roll up half screen
"map <tab> <C-u>
" roll down half screen
"map <space> <C-d>
" open the Calendar
map <F4> :Calendar<cr>
" open the NERDTree
map <F10> :NERDTree<cr>
" insert a \n
map ,<cr> i<cr><esc>
" Edit .vimrc
map ,,, :tabnew $HOME/.vimrc<cr>
Tags: . 137 views
May 22, 2010

  Esc是Vim爱好者使用非常频繁的一个按键。但,你不觉得它离你的左手有点远吗?我已经有很长时间没有使用这个键了,取而代之的是组合键Ctrl + [。但,Ctrl + [ 是不是有些麻烦呢?CapsLock,你常用到吗?我几乎不用。相反,CapsLock键就待在Tab键下面,一不留神就会按下,这在Vim下经常会导致一些莫名奇怪的现象。那我们就把它挪走吧!怎么挪?把它和Esc交换啊,但这里不是硬件的交换,你不用把Esc和CapsLock键抠下来交换,而只需要让OS把这两个键的映射对换一下即可。使用命令xmodmap可以完成此操作,xmodmap的具体用法,参考manpage。为了完成CapsLock和Esc的映射交换,你需要建立文件~/.Xmodmap:

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

然后,执行

xmodmap ~/.Xmodmap # 使映射生效
Tags: ,. 104 views

  如果Linux用的比较多的话,你一定遇到过下面的场景。在终端启动了一个任务,这个比较耗时(比如cp, make, apt-get, wget),而此时你又需要在终端下做其它工作。你该如何是好?Ctrl + Alt + F1至F5,再开一个终端?gnome-terminator里面再开一个Tab?再启动一个rxvt?再做一次ssh连接?噢,当然,你还可以Ctrl + C,把那个耗时的进程杀掉。但这都不是一个好的解决之道,相对于使用screen来说。

screen的工作原理

  使用screen,你可以在同一个终端,同一个virtual terminator,同一个ssh中同时进行多个工作。它的大致工作原理是:当前shell中启动screen,此时screen是当前shell的一个子进程,而你现在处于screen的一个会话(session)的一个window中。这个window对应着一个shell进程(比如bash),当你陷入上面的场景时,screen可以让你再开一个(或多个)window,这个window又会对应一个新的shell进程。当然,这些window都在screen的大力监管之下,你可以在这些window之间自由切换。下面两图可能更能说清真象。

Tags: ,. 118 views
May 15, 2010

  前些天看到这篇文章,知道有这么个网站提供了这样的服务。除了方便的在线编辑外,这个网站对外还提供生成公式图片的服务,而且图片格式可选,公式清晰、字体饱满。于是我产生了修改LaTeX for Wordpress插件的想法,于是就有了这个插件Using \LaTeX。使用方法原来zhiqiang的插件,即通过一对$ $之间嵌入LaTeX公式(如$$\LaTeX $$),通过在公式末尾加!号显示LaTeX语句本身(即$$\LaTeX!$$)。
  由于不再使用mimeTeX,而是CodeCogs提供的服务,因此可以使用CodeCogs提供的特有的语法,比如不同的字体风格、不同的分辨率、不同的图片格式、不同背景色等等,其他特色请自己揣摩。另外,Using LaTeX在大约500次访问之后,会自动清空缓冲文件夹。

Tags: . 93 views
May 5, 2010

  这是一款供Vim使用的插件,看名字可以知道,它和The NERD Tree同属一个作者。使用这款插件,你可以对多种文件类型的文件进行不同方式地、快速地注释。这对使用Vim来写代码或者修改配置文件的同学来说,无疑是提升效率和快感的一件利器。你可以到这里来下载这个插件,将压缩包里面的doc/和plugin/文件夹丢到~/.vim/下面就是安装了。为了可以使用其帮助文档,你还需要在Vim中执行:helptags ~/.vim/doc/来注册。
  简单介绍下NERD Commenter的常用键绑定,以C/C++文件为例,详析的使用方法,请:h NERDCommenter。在Normal或者Visual 模式下:

  • ,ca,在可选的注释方式之间切换,比如C/C++ 的块注释/* */和行注释//
  • ,cc,注释当前行
  • ,c,切换注释/非注释状态
  • ,cs,以”性感”的方式注释
  • ,cA,在当前行尾添加注释符,并进入Insert模式
  • ,cu,取消注释
  • Normal模式下,几乎所有命令前面都可以指定行数
  • Visual模式下执行命令,会对选中的特定区块进行注释/反注释
Tags: . 247 views
May 4, 2010

  最近玩儿无损,据说有人曾说无损是种生活,是吗?上帝知道,烧友知道,我知道,你知道吗?
  今天来了兴致,想把自己的几张Avril的碟子给榨出来。Google了一小下,知道有这么个工具,名字挺有意思,abcde = A Better CD Encoder. 它能从CD中rip出来波形文件(WAV),然后根据选项把波形文件转换成特定格式的音频文件,比如mp3, ogg, flac等等。flac = Free Lossless Audio Codec,就是我要的无损了。
  UB/Debian下安装abcde很简单,apt-get abcde就OK了。安装时你可能发现这个东西很小,只有不到2M。其实,abcde只是一个脚本,它利用其它的工具来实现特定的功能。比如利用cdparanoia来生成WAV文件,利用lame生成mp3文件,利用flac生成flac文件,利用mkcue生成cue文件……因此,如果相应的工具没有被安装,或者路径不在PATH中,abcde就会有错误提示:

[ERROR] abcde: lame is not in your path.
[INFO] Define the full path to the executable if it exists on your system.
Tags: ,. 8 views
April 6, 2010

  某些情况下,你不得不停下当前文件的编辑工作,退出Vim,处理其他的事情,然后重新打开Vim继续刚才的工作。我总是希望Vim打开某个文件的时候,光标停在上次关闭文件时所停留的位置。Vim的默认配置似乎也是这样的,但直到我添加了自己的~/.vimrc和各种插件、模板文件后,Vim的”记忆”似乎被抹去了。每次打开文件,光标总是在文件的第一个字节处闪烁。于是我只能使用’.或者`.使光标移动到最后修改过的地方,但是,你知道的,我的注意力并不是总在刚刚修改过的地方。通常,光标在哪里,我的瞳孔就朝向哪里。
  这个问题折磨我好久了,我终于下决心要整治一下。我先把那些插件给禁掉,又把map的很多键也禁了,最后把自定义的.vimrc也清空了,但问题依旧……这让我很是无奈。
  Google了半天,据说viminfo保存了文件的一些状态信息,包括光标信息。:h viminfo,得知’0保存了Vim上次退出时光标的位置信息。但’0还不是我想要的,因为它保存的是一个”全局”的位置信息。比如,我先打开foo.c,光标移动到非开头处,退出,再打开bar.c,移动到非开头处,退出,再打开foo.c,按下’0,Vim自动打开bar.c并跳到退出时的位置。

Tags: . 180 views
Page 1 of 212