vi的

为什么学 vi?
(1)所有的 Unix Like 系统都会内建 vi 文本编辑器,其他的文本编
辑器则不一定会存在;
(2)很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的
crontab, visudo, edquota 等指令);
(3)vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法癿正
确性,方便程序设计;
(4)因为程序简单,编辑速度相当快速。
我们所学习的vi分为三种模式,一般模式,编辑模式和命令行模式
1 一般模式:vi打开一个文件就会进入到一般模式,(这也是系统默认的模式),可以使用上下键来移动光标,也可以做删除,复制,粘贴的操作
2 编辑模式: 在一般模式下虽然可以做删除,复制,粘贴的操作,可是没有办法做编辑,在此模式中,按下“i I a A r R o O "任意一个字符,在左下方会出现INSERT 或 REPLACE 的字样,此时才可以进行编辑,按下【esc】会退出编辑回到一般模式
3 命令行模式: 在一般模式中,输入“:/ ?” 都会移动到光标最后一行,在这个模式中,可以做查找数据的操作,读取,保存,大量替换字符,显示行号,离开vi等操作
第一部分:一般模式下可用的按钮说明光标移动,复制粘贴,查找替换

                              移动光标

     h  或  ←                光标向左移动一个字符
     L  或  →                光标向右移动一个字符
     k  或  ↑                光标向上移动一个字符
     j  或  ↓                光标向下移动一个字符
    【Ctrl】+ 【f】           屏幕向下移动一页
    【Ctrl】+ 【b】           屏幕向上移动一页
    【Ctrl】+ 【d】           屏幕向下移动半页
    【Ctrl】+ 【u】           屏幕向下移动半页
     +                       光标移动到非空格符的下一行
     -                       光标移动到非空格符的上一行
     n<space>                n表示数字,例如“20” 按下数字后在按空格,光标会移动到这一行的n个字符,例如20<space>,会在光标处向后移动20个字符距离
     0 或【Home】             移动到这一行的最前面字符处
     $ 或 【end】             移动到这一行的最后面字符处
     H                       光标移动到屏幕最上方那一行的第一个字符
     M                       光标移动到屏幕中央那一行的第一个字符
     L                       光标移动到屏幕最下方那一行的第一个字符
     G                       移动到这个文件的最后一行
     nG                      移动到这个文件的第n行
     gg                      移动到这个文件的第1行 
     N【Enter】              光标向下移动n行
                              
                              
                              
                              查找与替换
/word                        向下寻找一个文件名为word的字符串
?word                        向下寻找一个文件名为word的字符串  
n                            重复前一个查找的操作      
N                            反向进行前一个查找的操作  
:n1,n2s/word1/word2/g       在n1与n2行之间查找word1这个字符串并替换成word2
:1,$s/ word1/word2/g         在第一行与最后一行查找word1字符串并替换成word2
:1$s/word1/word2/g          在第一行与最后一行查找word1字符串并替换成word2,在替换前显示给用户确认(confirm)是否替换   



                              删除,复制,粘贴
 

x  X                          在一行中,向后,向前删除一个字符
nx                            向后删除n个字符
dd                            删除光标所在的那一整行
ndd                           删除光标向下的n行
d1G                           删除光标所在到第一行的所有数据
dG                            删除光标所在到最后一行的所有数据
d$                            删除光标所在到该行的最后一个字符
d0                            删除光标所在到该行的最前面一个字符
yy                            复制光标所在的那一行
nyy                           复制光标所在的向下的n行
y1G                           复制光标所在行到第一行的所有数据
yG                            复制光标所在行到第最后一行的所有数据
y0                            复制光标所在的那个字符到该行行首的所有数据
y$                            复制光标所在的那个字符到该行行尾的所有数据
pP                            p为将已复制的数据在光标的下一行粘贴, P为将已复制的数据在光标的上一行粘贴



                                  移动光标的方法

 J                           将光标所在行与下一行的数据结合成同一行
 c                           重复删除多个数据,例如向下删除10行, 【10cj】
 u                           重复前一个操作
【Ctrl】+r                   重做上一个操作

                               命令行保存,离开等命令
:w                         将编辑的数据写入硬盘文件中
:w!                        若文件属性v为只读时,强制写入该文件。不过到底能不能写入,还与你对该文件的权限有关。
:q                         离开
:q!                        若修改过文件又不想存储,强制离开并不保存
:ZZ                        若文件没有更改。不保存离开,若更改过,则保存后离开
:r [file]                  在编辑的数据中,读入另一个文件的数据,将file文件内容加到光标所在行后面
:w[file ]                  将编辑的数据保存成另一个文件
:n1,n2 w [file]            将n1到n2的内容保存成file这个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值