分类: LINUX
2006-11-01 09:43:42
/which #搜索which
cwthat #替换成that
n #重复搜索
. #重复替换
g/pattern/s/old/new/g第一个 g 表示是有选择的操作, pattern 指定选择行的模式, s 表示替换操作, old 是要替换的内容, new 是新内容, g 表示全局替换下面是一些例子:
#给第一到十行加上括弧其中的
:1,10/.*/(&)/
& 代表的是搜索模式下面时一些例子:
~ 代表上一次替换命令中制定的替换文本
\u 改成大写
\l 改成小写
\U或者\L和\e或者\E配合 将后面开始到被替换串结束或者到\e和\E为止的所有支付变成大写或者小写
另外在vi中可以使用除了\,",和|之外的任何非字母表字符做替换命令的分隔符, 这在进行路径替换的时候非常的有用
#将That or this 换成 This or that
:%s/\(That\) or \(this\)/\u\2 or \l\1/
----
#将句尾的child换成children
:%s/child\([ ,.;!:?]\)/children\1/g
----
#将mgi/r/abox换成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g <=> :g/mg[ira]box/s/box/square/g
----
#将多个空格换成一个空格
:%s/ */ /g
----
#使用空格替换句号或者冒号后面的一个或者多个空格
:%s/\([:.]\) */\1 /g
----
#删除所有空行
:g/^$/d
----
#删除所有的空白行和空行
:g/^[ ][ ]*$/d
----
#在每行的开始插入两个空白
:%s/^/> /
----
#在接下来的6行末尾加入.
:.,5/$/./
----
#颠倒文件的行序
:g/.*/m0O <=> :g/^/m0O
----
#寻找不是数字的开始行,并将其移到文件尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
----
#将文件的第12到17行内容复制10词放到当前文件的尾部
:1,10g/^/12,17t$
~~~~重复次数的作用
----
#将chapter开始行下面的第二行的内容写道begin文件中
:g/^chapter/.+2w>>begin
----
:/^part2/,/^part3/g/^chapter/.+2w>>begin
----
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
d 删除ex中用;代替,做行分界符时会将;前面的行改变成当前行
m 移动
co 复制
t 复制行
p 打印
nu 显示行号
g 命令用于寻找匹配的行,然后执行相应的操作
v 反向寻找匹配的的行,然后执行相应的操作
#设置tab宽度建议的主题配置:
:set tabstop=4
#设置缩进时移动的宽度
:set shiftwidth=4
#设置语法高亮模式
:set syntax=fvwm
#关闭备份
:set nobackup
:set nowritebackup
#建议按照如下的方式使用备份
:set backup
:set backupdir=/var/bak
:set backupext=.bak
#下面一些选项是一次听讲座的时候记录的, 具体什么意思没有记清楚, 但应该很有用的
:set nocp
:set su
:set his
:set cin
:set sm #显示匹配的括号
:set ai #自动缩进
:set cino=:ogotocsus
:set paste/nopaste
:set lbr
:set font=mb
:set cindent #打开c缩进模式
#打开语法高亮显示
:syntax on
#格式重排
=
colo torte #图形模式
colo else #字符模式
[RETURN] ^M
[ESC] ^[
[BACKSPACE] ^H
C-T ^T
C-W ^W
C-x ^X
| 不能转义
:map #1 command #映射第一个功能键, 即F1
:map [C-v][Home] command #映射home键
r file #读入文件
r! ls #读入命令输出
C-T 增加一个缩进级别可以通过下面的命令设置自动缩进模式
C-D 减少一个缩进级别
^ ^D 光标移到开始,并保留缩进级别
0 ^D 光标移到开始,并重置缩进级别
:set autoindent
>> 把行或者块右移8个空格
<< 把行或者块左移8个空格
:set list #临时的等价命令是l
:set showmatch #:set sm-设置显示模式
:normal #正常模式
:syntax #语法高亮模式
:hex #十六进制模式
:html #html模式
:man #man模式
:set binary #二进制模式
:set incsearch #增量搜索模式
:set showmode #可视模式
[N] sp[lit] [position] [file]
[N] new [position] [file]
[N] sv[iew] [position] [file]
#用myurl代表http:://localhost/
:ab myurl http:://localhost/
#取消缩写
:una myurl
:! ctags *.c #建立tags文件命令的选项:
: tag name
^] #查看tag定义
-d
-g
-l #指定语言
-m #为结构的成员建立索引
-t #为c的typedef建立索引
-T #为C++的typedef建立索引
:%s/^/^|/
:$
:let end=line(".")
:|
:let num=1
:while num<=end
:let line=getline(".")
:let line=substitude(line,$,num," ")
:call setline(".", line)
:+
:let num=num+1
:endwhile
:X #之后输入密码, :wq退出即可, 去掉密码只要在输入提示输入密码的时候输入回车即可
:1,$s///g
#行首
:g/^/s//newstring/g
:%s/^/newstring/g
行尾
:g/$/s//newstring/g
:%s/$/newstring/g