vi使用总结(更新中)

来源:互联网 发布:淘宝内部券领取 编辑:程序博客网 时间:2024/04/29 22:22


06-8-16 :vi的文本替换

(1)替换从第n行到第m行的文本
:[n],[m]s/[需要替换的文本]/[替换文本]/g

(2)替换整个文本种的需要替换的文本
:%s/[需要替换的文本]/[替换文本]/g

(3)替换从当前光标开始处,到第n行的需要替换的文本
:.,[n]s/abcd/dbde/g


06-8-17 vi 中的查找命令
(1):/的用法
  <1>从光标向后查找相应字符串[STR]
  :/[STR]
  <2>从光标向后查找句首含有[STR]的行
  :/^[STR]
  <3>查找后光标的移动,移到从光标起到下x个找到的字符的位置
  xn
  <4>移动到找到的第一个匹配的位置
 
  <5>光标移动到找到模式的最后一个位置


(2)?string
  <1>光标所在处向前查找相应的字符串
   :?[STR]
  <2>


06-8-18 vi中光标移动命令
   <1>上下左右移动x行:  也就是右手在键盘上放置的位置部分
    xk,xj,xh,xl   其中x是数字如1k,2j,3h,4l 分别是向上下左右移动1,2,3,4行
   <2>跳到指定行数
    nG 其中n是行数
   <3>报告光标所在的行数和列数
    Ctrl+G
   <4>使光标向前或向后跳一个单词
    w,b
   <5>使光标移动到行首/尾
   
   <5>在屏幕中移动的命令
    H 跳到第一行
    M 跳到中间一行
    L 跳到最后一行


06-8-18 vi中的删除命令

(1)删除当前一个字符
   <1>删除当前字符,光标停留在原字符处
   dl
   <2>删除当前字符,光标停留在光标前一个字符
   x

(2)删除一行中的字符
   <1>删除光标所在的一行
    dd
   <2>删除从光标起前一个字符到行首的所有字符
    d0 或 d^
   <3>删除从光标处到行尾的所有字符
    D 或 d$
   <4>删除从光标起到一行开始处的所有字符
    d 0
    d ^(不包括空格和tab键)
   <5>删除从光标起的后5行内容
    5dd
 
(3)删除单词
   <1>删除(改变)当前单词(d->delete,c->change)
    dw (cw)
   <2>删除光标后三个单词
    3dw
   <3>删除从光标起的三个单词末尾
    d3w
   <4>删除光标前x个单词
    dxb
   <5>删除到某个以空格作为分隔符的单词的结尾位置
    dW
   <6>删除到某个以空格作为分隔符的单词的开始位置
    dB
   <7>删除到前面7个以空格作为分隔符的单词的开始位置
    d7B

(4)删除屏幕中的字符
   <1>删除直到屏幕上第一行的内容
    dH
   <2>删除到屏幕所在文本的最后一行
    d L
(5)删除缓冲区中的区域    
   <1>删除从光标到结尾处的所有行
    dG
   <2>删除从光标位置到工作缓冲区开始处所有行(包括光标所在行)
    d1G

(5)删除特定条件下的字符
   <1>删除当前行直到下一个字符“ c”所出现位置之间的内容
    d tc
   <2>删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括
该字符)之间的内容
    d fc

(6)段落的删除
   <1>删除到某个语句的结尾位置
    d)
   <2>删除到第四个语句的结尾位置
    d 4)
   <3>删除到某个语句的开始位置d
    d(
   <4>删除到某个段落的结尾位置
    d }
   <5>删除到某个段落的开始位置
    d {
   <6>删除到当前段落起始位置之前的第7个段落位置
    d 7 {

08-19  vi 中的修改操作命令(change)

(1)字符的修改
    <1>修改当前字符
     cl
    <2>

<2>单词的修改
   <1>修改到某个单词的结尾位置
    c w
   <2>修改到第三个单词的结尾位置
    c 3 w
   <3>修改到某个单词的开始位置
    c b
   <4>修改到某个以空格作为分隔符的单词的结尾位置
    c W
   <5>修改到某个以空格作为分隔符的单词的开始位置
    c B
   <6>修改到前面7个以空格作为分隔符的单词的开始位置
    c 7 B
(3)行的修改
   <1>修改到某行的开始位置
    c 0
   <2>修改当前行
    c c
   <3>修改到某一行的结尾
    C


c) 修改到某个语句的结尾位置
c 4) 修改到第四个语句的结尾位置
c( 修改到某个语句的开始位置
c } 修改到某个段落的结尾位置
c { 修改到某个段落的开始位置
c 7 { 修改到当前段落起始位置之前的第7个段落位置
c tc 修改当前行直到下一个字符c所出现位置之间的内容


5 c c 修改从当前行所开始的5行内容

重复上一次修改!

表8-4 替换命令
替换命令操作
s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符
5 s 将从当前字符开始的5个字符替换为一个或多个字符
vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串

08-19  vi中移动字符的命令
 (1)字母的交换
  <1>交换光标所在字母和下一个字母
   xp

 (2)行的移动
  <1>上下两行调换
   ddp
  <2>将上下两行合并
   J
 
08-19  vi中的复制粘贴命令
(1)同一文件中的操作
   <1>复制粘贴一行的命令
    yy 复制光标所在行 p 粘贴到光标位置
   <2>从当前位置复制到行尾
    y$
    p是粘贴命令
   <3>复制向下x行
    xyy
   <4>复制光标所在列到第一列的所有资料
    y1G
   <5>复制光标所在列到最后一列的所有资料
    yG
   <6>粘贴
    p 粘贴在光标下一行
    P 则为贴在光标上一行!

(2)


08-19 vi 的保存和退出

  w 将编辑的资料写入硬盘档案中(常用)
  :w! 若档案属性为『只读』时,强制写入该档案
  :q 离开 vi (常用)
  :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
  :wq 储存后离开,若为 :wq! 则为强制储存后离开(常用)
  :e! 将档案还原到最原始的状态!
  ZZ 若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开!
  :w [filename] 将编辑的资料储存成另一个档案(类似另存新档)
  :r [filename] 在编辑的资料中,读入另一个档案的资料。亦即将 『filename』这个档案内容加到光标所在行后面
  :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
  :set nonu 与 set nu 相反,为取消行号!
  n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
  :! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]
 

原创粉丝点击