vi 使用时的各种参数

来源:互联网 发布:江歌事件 知乎 编辑:程序博客网 时间:2024/06/05 12:07
vi text  :建立一个text文件
命令模式-->编辑模式: 按i,a,或o,a命令在目前光标位置后面插入,o,在目前这一行开启新的一行
再按ESC键回到命令模式

命令模式下:x,会将光标下的字符删除
                    dd,删除整行                       再按p命令可以重新插入,大写P会把文字插入到当前这行的前面,小写p会吵到后面
                    u ,把刚才所做的改变复原
                   dw,删除光标所在位置的单词

                   R,替换光标所在位置之后的文字,r替换光标下的单一字符
                   ~,将光标所在的字符由大写改为小写,或是将小写改为大写
 
                   w,会将光标移到下个单词的开头,b会把光标移动到目前所在单词的开头位置,而0会把光标移动到目前这行的开头
                   $, 把光标移到行末
             
                   Ctrl-f 会把光标向前移动一整个屏幕,Ctrl-b 会向后移动整个屏幕

                    G 将光标移到文件末尾,10G会将光标移动到文件的第十行
                     键入/ 且后面接着样式(字符串)然后回车会跳到光标之后该样式第一次出现的位置  使用?取代/ ,就会从光标的位置向前搜索
                        (正则表达式)
                    d$  会删除从光标位置到该行行末的任何内容,dG会将光标所在位置到文件结尾的所有都删除

  扩展模式: 命令模式下按:
                       存储按:w
                       存储并离开:wq,相当于命令模式下的ZZ
                                         :q!强制退出
                      :e  文件名    编辑另一个文件       
                      :e! 文件名   编辑另一个文件,但不会存储对旧文件所作的修改

                       :r  文件名 引入另一个文件的内容进入vi缓冲区,会把这个文件的内容插入到目前所在那行的后面


                        :! 可以键入外部命令的名称,如 :! ls -F
                        :r!和:!相似,但是会将该命令的标准输出放到缓冲区
                    :[x,y]s/pattern/repalcemant/flags
                    :x,ys/字符串1/字符串2   会在缓冲区地x行和第y行间搜索字符串1,并以字符串2替换,如果未指定行号,可以用%来代表整个                
                      文件,$是指文件的最后一行,如果把x或y其中之一留为空白,代表目前所在的那一行。
                       flags中,g可以替换每行中出现的pattern,c是在每次替换之前都会询问,以确定是否进行这个替换动作。也可以使用“标                        
                      记”来代表 某些行。移动光标至文件中的某个位置并键入ma(Mark a)就表示该行标记为a,使用`a(反引号)将光标直接移至标                              
                      记a的位置,使用一般的单引号 'a会将光标移至标记a所在该行的开头位置。
                      :'a, .s/字符串1/字符串2   其中'a表示包含标记a的那一行,而.代表目前这一行。

                        10dd,删除从目前位置算起的十行文字,yy将文字取出而不删除,p可以把文字粘贴
                        d$删除光标位置到行尾的文字,同理,y$则取出光标位置一行到行尾的文字,使用y'a命令,这会取出光标位置到标记a的文字

                       ''a 代表寄存器a,''ayy 目前所在的这一行就会被取出到寄存器a,''ap会把寄存器a中的文字粘到目前光标所在这一行的后面

                       :x,y!command  会把第x行到第y行的文字当成标准输入,执行名为command的命令
                       : set  a    设置vi的各种选项


               
0 0
原创粉丝点击