晚风吹

2008年7月14日星期一

一些有用的小Trick

一些有用的小Trick
(这些Trick来自网络和本人的心得,而且不定期更新)

1. VIM中替换字符串

:s/tototo/fromfrom/ 替换当前行第一个 tototo 为 fromfrom
:s/tototo/fromfrom/g 替换当前行所有 tototo 为 fromfrom
:n,$s/tototo/fromfrom/ 替换第 n 行开始到最后一行中每一行的第一个 tototo 为 fromfrom
:n,$s/tototo/fromfrom/g 替换第 n 行开始到最后一行中每一行所有 tototo 为 fromfrom (n为数字,若n为.,表示从当前行开始到最后一行)
:%s/tototo/fromfrom/(等同于 :g/tototo/s//fromfrom/) 替换每一行的第一个 tototo 为 fromfrom
:%s/tototo/fromfrom/g(等同于 :g/tototo/s//fromfrom/g) 替换每一行中所有 tototo 为 fromfrom
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔


2. GNU Readline的一些操作
这里的 C 是指按‘住’Ctrl键,M 是指按‘下’Esc键后松开。
基本操作
C-b 回退 1 字符
C-f 前进 1 字符
Del/Backspace 删除左侧字符 (#1)
C-d 删除光标下的字符
C-_/C-x C-u 撤销最后一次操作
注意: 基于不同的配置,Backspace 键可能被设置成删除光标左侧的字符而 Del 键则和 C-d 一样,删除光标下的字符。
移动光标
C-a 移动到行首
C-e 移动到行末
M-f 前进一个单词(包括数字和字母)
M-b 回退一个单词
C-l 清空屏幕,然后在顶端重新输出当前行
Killing 操作
Killing 操作是指从当前行删除文本的同时保存以供以后粘贴(Yanking)
C-k 从当前位置开始删除剩余部分
M-d 删除从光标位置到单词结束的部分;如果光标在单词之间,则删除下一个单词
M-Del 删除从光标位置到单词开始的部分;如果光标在单词之间,则删除前一个单词
C-w 删除从当前位置到上一个空白之间的部分。与 M-Del 具有不同的单词界定
Yanking 操作
C-y 粘贴最后一次 Kill 的文本到光标处
M-y 回滚粘贴记录,并且粘贴新的最顶端一条。前一条指令必须是 C-y 或 M-y
读取参数
可以传递数字参数给 Readline 命令。格式:
M-[-]digit Command
例:
M-1 0 C-d 传递 10 给 C-d,删除光标后的十个字符
M-- C-k 传递 -1 给 C-k,删除当前行中光标之前的部分
查找历史记录
两种方式:普通查找、增量查找
增量查找:
C-r 在历史记录中向前(反向)查找
C-s 在历史记录中向后(正向)查找
重复 C-r/C-s 会继续查找下一条记录
Esc/C-j 结束查找,接受查找结果为当前行
Enter 结束查找,接受结果并执行
C-g 退出查找,恢复当前行

3. 我的.inputrc文件

"\e[A": history-search-backward
"\e[B": history-search-forward

set bell-style none
set bell-style visible

4. 我的.vimrc文件(最好安装vim-full)

syntax on

if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal g'\"" | endif
endif

if has("autocmd")
filetype indent on
endif

set showcmd
set autoindent
set hlsearch
set cindent
set nu
set incsearch

set vb


5.防止使用rm误删除的方法

首先建立一个“回收站”文件夹,我建立的是用户目录下的trash文件夹。
mkdir ~/trash

其次编写rrm文件,别忘了给它加执行权限:
#!/bin/sh
for ddd in $*; do
        mv $ddd ~/trash/`date "+%Y%m%d_%H%M%S"`.$RANDOM.$ddd
done

其次将rm在shell的profile文件中替换为rrm,在我的macbook上,编辑~/.profile文件,加入:
alias "rm"="~/bin/rrm"
在这里,我把rrm文件放在了用户目录文件夹里的bin文件夹下。

再运行source ~/.profile

OK,结束,这样就不用怕错误删除文件了。因为rm的错误使用问题,我吃过两次好大好大的亏,有了这个方法之后,我们相当于给自己定义了一个回收站,rm命令是把文件放入回收站中。

没有评论:

发表评论