标签:
搜索中进行替换 /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$ ex的命令 d 删除 m 移动 co 复制 t 复制行 p 打印 nu 显示行号 g 命令用于寻找匹配的行,然后执行相应的操作 v 反向寻找匹配的的行,然后执行相应的操作 ex中用;代替,做行分界符时会将;前面的行改变成当前行 选项设置 #设置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 #字符模式 命令与键 为了防止ex对特殊键进行解释, vi中可以用C-v对其进行跳脱.如下所示: [RETURN] ^M [ESC] ^[ [BACKSPACE] ^H C-T ^T C-W ^W C-x ^X | 不能转义 map!用于在插入模式下强制映射, unmap!用于在插入模式下取消映射 映射一个功能键 :map #1 command #映射第一个功能键, 即F1 :map [C-v][Home] command #映射home键 od命令可以用来以8进制方式查看文件 @register 执行register中的文本作为命令 r命令可以用于读入文件或者将命令的输出读入当前的缓冲区 r file #读入文件 r! ls #读入命令输出 增加和减少缩进级别在vi的自动缩进模式中,可以通过下面的命令更改缩进级别 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 #可视模式 cindent 按照c的格式缩进 在vi中查看c源码的时候, 可以在#include "hell.h" 在双引号中间安gf就可以打开头文件, C-o(C-t)返回. 窗体分割命令 [N] sp[lit] [position] [file] [N] new [position] [file] [N] sv[iew] [position] [file] 缩写文本 #用myurl代表http:://localhost/ :ab myurl http:://localhost/ #取消缩写 :una myurl 使用ctags :! ctags *.c #建立tags文件 : tag name ^] #查看tag定义 命令的选项: -d -g -l #指定语言 -m #为结构的成员建立索引 -t #为c的typedef建立索引 -T #为C++的typedef建立索引 宏 vi中在全文前植入行号的宏 :%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 插件 tip of the day calendar jad sketch 其他 加密 :X #之后输入密码, :wq退出即可, 去掉密码只要在输入提示输入密码的时候输入回车即可 将dos文件转化为linux文件 :1,$s///g 在每行的行首/尾插入newstring #行首 :g/^/s//newstring/g :%s/^/newstring/g 行尾 :g/$/s//newstring/g :%s/$/newstring/g
标签:
原文地址:http://www.cnblogs.com/tychyg/p/5068864.html