2007年10月23日星期二

学习笔记:VIM-1 基本操作4

从崩溃中恢复

基本恢复
vim -r filename
恢复未命名文件
vim -r "" 需要进入原来的目录执行这个命令
vim -r 列出可用交换文件
使用指定交换文件
vim -r filename.swp

tips
单词替换
:%s/four/4/g
"%" 范围前缀表示在所有行中执行替换。最后的 "g" 标记表示替换行中的所有匹配点。
:%s/\/4/g 用 "\<" 来指定匹配单词开头,用 "\>" 来匹配单词结尾
:%s/\/4/gc 替换确认


有如下样式的一个名字列表:
Doe, John
Smith, Peter

你想把它改成:
John Doe
Peter Smith

这可以用一个命令完成:
:%s/\([^,]*\), \(.*\)/\2 \1/
"from" 部分是:\([^,]*\), \(.*\)
第一对 \( 和 \) 之间 [^,] 匹配除逗号外的任何东西 * 任意多次
第二对 \( 和 \) 之间 . 匹配任意字符 * 任意多次
在 "to" 部分,我们有 "\2" 和 "\1"。这些称为 "反向引用"。它们指向前面模式中的
\( 和 \) 间的部分。
以在替换部分使用多达 9 个反向引用。"\0" 表示整个匹配部分。

单词统计
g CTRL-G 统计的是整个文件的字数
要在 "g" 后面输入一个空格,这里只是方便阅读

选中你要计算字数的文本,然后输入 "g CTRL-G"

删除多余的空格
:%s/\s\+$//
% 指明范围
\s\+$ 这表示行末 ($) 前的一个或者多个 (\+) 空格 (\s)

匹配列表
:set is CTRL-D
q: 打开命令行窗口

执行shell命令
:!{command}
:[range]!{program} 经由 {program} 过滤文本

编辑一个目录
:edit .
查看当前目录
:pwd

gf 在当前目录下查找光标所在单词为文件名的文件

显示缓冲区列表
:ls
在多个缓冲区间切换
CTRL-^
编辑指定缓冲区
:buffer n n为缓冲区号

新窗口中打开一个缓冲区:
:sbuffer n

没有评论: