vi常用命令整理

Vi的三种状态
Command mode : 控制屏幕光标之移动,字符或行之删除,复制某区段及进入 Insert mode 下,或者到 Last line mode 。
Insert mode : 唯有在 Insert mode 下, 才可做文字资料输入,按Esc键可到 Command mode 。
Last line mode : 将档案写入或离开编辑器,亦可设定编辑环境, 如寻找字串、列出行号..等。


Command mode下功能键简介
1.进入 Insert mode
i :在目前光标所在处插入输入之文字,已存在文字会向后移。
I :在目前所在行的第一个非空格符处开始插入。
a :从目前光标所在的下一个字符处开始插入
A :从目前光标所在行的最后一个字符处开始插入
o :在目前光标所在的下一行处插入新的一行。
O :在目前光标所在的上一行处插入新的一行。

2.移动光标类命令
h或向左方向键 :光标向左移动一个字符
j或向下方向键 :光标向下移动一个字符
k或向上方向键 :光标向上移动一个字符
l或向右方向键 :光标向右移动一个字符

0 :数字0移动到当前行的最前面一个字符处
$ :移动到当前行的最后面字符处
G :移动到当前档案的最后一行
H :光标移动到当前屏幕的最上面一行
M :光标移动到当前屏幕的中间一行
L :光标移动到当前屏幕的最后一行

3.屏幕翻滚类命令
Ctrl + f :屏幕向前(下)移动一页
Ctrl + b :屏幕向后(上)移动一页
Ctrl + d :屏幕向前(下)移动半页
Ctrl + u :屏幕向后(上)移动半页


4.删除
x:删除一个字符
nx:n代表数字,连续向后删除n个字符
dd:删除当前行
ndd:n代表数字,删除从当前行算起的n行
do:删至行首
d$:删至行尾
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据

5.更改
cw:更改当前光标处得一个单词
cnw:n代表数字,更改当前光标向后连续n个单词

6.取代
r:取代光标所在的那一个字符
R:一直取代光标所在的文字,直到按下ESC为止。

7.复制
yw:复制光标处的一个单词
yy:复制光标所在的那一行
nyy:n为数字。复制光标所在的向下n行。

y1G:复制光标所在行到第一行的所有数据
yG:复制光标所在行到最后行的所有数据
y0:复制光标所在那个字符到该行行首的所有数据
y$:复制光标所在那个字符到该行行尾的所有数据

p:如果复制的是行则在当前光标的一行粘贴,如果复制的是非行的话,则在光标所在处开始粘贴。

8.跳至指定之行
Ctrl + g:列出档案的行数
nG:n代表数字,移动光标至第n行的行首

9.进入Last Line mode
 在Command mode下输入:,/,?进入Last Line mode。

Last line mode下指令简介
1.显示行号
 :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
 :set nonu 与 set nu相反,取消行号

2.保存离开
 :w 将编辑的数据写入硬盘档案中
 :w! 强制写入
 :q  如果未有改动,离开vi;否则提示已有改动
 :q! 强制离开不存储档案。
 :wq 储存后离开
 :e! 将档案恢复到最原始的状态

3.搜索与取代
 /word 向光标之下寻找一个字符名称为word的字符串。
 ?word 向光标之上寻找一个字符名称为word的字符串。
 n:在同一方向重复上一次搜索命令
 N:在反方向上重复上一次搜索命令
 
 :n1,n2s/word1/word2/g n1与n2为数字。在第ni行与n2行之间寻找word1这个字符串,并将该字符串取代为word2。
 :1,$s/word1/word2/g 从第一行,到最后一行寻找word1字符串,并将该字符串替换为word2。
 :1,$s/word1/word2/gc 从第一行,到最后一行寻找word1字符串,并将该字符串替换为word2。且在取代前
                      显示提示字符给使用者进行确认(confirm),是否需要取代。
                     
 :s/p1/p2/g:将当前行中所有p1均用p2替代
 :g/p1/s//p2/g:将文件中所有p1均用p2替换
                     
4.其它
 :w [filename] 将编辑的数据存了另一个档案
 :r [fileName] 读入另一个档案的数据到当前光标所在行的后面
 :! command  暂时离开vi到指令模式下执行command的显示效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值