Archive for ‘ToolKits’ Category

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: ,. 726 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: ,. 417 views
May 15, 2010

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

Tags: . 1,077 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: . 2,653 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: ,. 24 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: . 1,159 views
April 3, 2010

开场白

Vim是一个十分强大的文本编辑器,被誉为”编辑器之神”,熟练地使用Vim会使你处理文本、编辑代码的效率提升n个数量级!如果你现在还在使用gedit甚至是”记事本”的话,我奉劝你赶快把它扔到垃圾桶,马上开始你的Vim之旅。这里列出一些我经常使用的基本的Vim命令和技巧,Vim的使用是一个长期的学习、实践、再学习、再实践的过程。Here we go.

安装Vim/Gvim

如果你现在没使用过Vim/Gvim,你首先需要安装它们,当前的版本为7.2。Debian/Ubuntu下面,sudo apt-get install vim-gnome即可。其他系统也有相应的包管理程序来直接安装。对于Windows,你需要到Vim的官方网站来下载安装。安装时记得选中”设置Vim环境变量”的选项,这样你就可以直接在cmd下使用vim了。
在正式开始之前,最好在终端(cmd)里运行vimtutor,一步步按照提示操作,以对vim的操作有一个初步的了解。

快速的移动

别在总在插入模式里呆着

除了敲代码,不要总在插入模式里呆着,因为这样的Vim就和诸如gedit等普通的编辑器就没什么区别了。这就是为什么一些新手总是在插入模式的原因了,”好用”或者说”友好”。但是,Vim真正的威力却在于其命令模式,你将会发现,随着你对Vim的了解和熟练,你用插入模式的时间会越来越少。

Tags: . 1,311 views
描述
Tab 自动补全文件名或者目录名,按下两次会列出多个选项
Ctrl + w 删除左侧的一个单词
Ctrl + u 向左删除字符至行首
Ctrl + k 同上一个命令,但向右删除
Ctrl + y 在光标处粘贴Ctrl + w等所删除的字符序列
Ctrl + t 交换光标前的两个字符
Alt + t 交换光标前的两个单词
Ctrl + -或者 Ctrl + xu 取消上次编辑动作
Ctrl + p 同方向键Up,显示上一个命令
Ctrl + n 同方向键Down,显示下一条命令
Ctrl + b 同方向键Left
Ctrl + f 同方向键Right
Ctrl + l(L) 清屏
Alt + b 光标左移一个word(连续非空字符串)
Alt + f 光标右移一个word
Ctrl + c 终止当前命令
Ctrl + z 将当前命令移至后台执行,fg可招回
Ctrl + d 终止当前会话
!! 重复上一个命令
Ctrl + r 搜索命令history
^foo^bar 替换上一个命令中的foo为bar并执行
cd – 返回上一个目录,alias — -=’cd -’后,-即可

为了使Tab补全时忽略字母的大小写,你需要在.bashrc中加入bind ‘set completion-ignore-case on’

Tags: . 126 views
March 29, 2010
GDB调试命令
命令 描述
backtrace(或bt) 查看各级函数调用及参数
finish 连续运行到当前函数返回为止,然后停下来等待命令
frame(或f) 帧编号 选择栈帧
info(或i) locals 查看当前栈帧局部变量的值
list(或l) 列出源代码,接着上次的位置往下列,每次列10行
list 行号 列出从第几行开始的10行源代码
list 函数名 列出某个函数的源代码
next(或n) 执行下一行语句
print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数
quit(或q) 退出gdb调试环境
set var 修改变量的值
start 开始执行程序,停在main函数第一行语句前面等待命令
step(或s) 执行下一行语句,如果有函数调用则进入到函数中
break(或b) 行号 在某一行设置断点
Tags: . 95 views
February 18, 2010

  这是一个类似gnome-terminal的“终端模拟器”,相比gnome-terminal,具有更快的启动速度,更少的资源占用,更强的可定制性。你可以从其官方网站下载源码编译安装,亦可以从你的发行版的源中直接安装。Debian中,可以执行以下命令

1
sudo apt-get install rxvt rxvt-unicode #rxvt-unicode是为了支持中文

  这样,RXVT就安装好了,默认的界面可能让人很不舒服,就需要一些简单的定制。在用户目录下建立.Xresources文件,然后写入下列配置行:

Tags: ,. 392 views
Page 3 of 41234