vi 常用命令

 

 

一般模式                  光标移动

h 或 向左方向键            光标向左移动一个字符

j 或 向下方向键             光标向下移动一个字符

k 或 向上方向键             光标向上移动一个字符

  l 或 向右方向键           光标向右移动一个字符

  Ctrl + f                    屏幕向前翻动一页(常用)

  Ctrl + b                    屏幕向后翻动一页(常用)

  Ctrl + d                    屏幕向前翻动半页

  Ctrl + u                    屏幕向后翻动半页

  +                        光标移动到非空格符的下一列

  -                        光标移动到非空格符的上一列

 n<space>            按下数字后再按空格键,光标会向右移动这一行的n个字符。例如 :  20<space>,则光标会向右移动20个字符

  0                      (这是数字0)移动到这一行的第一个字符处(常用)

  $                        移动到这一行的最后一个字符处(常用)

  H                       光标移动到这个屏幕最上方的那一行

  M                       光标移动到这个屏幕中央的那一行

  L                       光标移动到这个屏幕最下方的那一行

  G                       移动到这个文件的最后一行(常用)

  nG                      移动到这个文件的第n行。例如20G,则会移动到这个文件的第20    行(可配合:set nu)

  n<Enter>                 光标向下移动n行(常用)

  一般模式                查找与替换

 /word                    在光标之后查找一个名为word的字符串(常用)

 ?word                    在光标之前查找一个名为word的字符串

:n1,n2s/word1/word2/g       在第n1与n2行之间查找word1这个字符串,并将该字符串替换为 word2 (常用)

:1,$s/word1/word2/g         从第一行到最后一行查找word1字符串,并将该字符串替换为word2  (常用)

:1,$s/word1/word2/gc        从第一行到最后一行查找word1 字符串,并将该字符串替换为 word2,且在替换前显示提示符让用户确认(conform)(常用)

一般模式                   删除、复制与粘贴

x, X                        x为向后删除一个字符,X为向前删除一个字符(常用)

nx                           向后删除n个字符

dd                          删除光标所在的那一整列(常用)

ndd                         删除光标所在列的向下n列,例如,20dd则是删除20列(常用)

d1G                         删除光标所在行到第一行的所有数据

dG                          删除光标所在行到最后一行的所有数据

yy                          复制光标所在行(常用)

nyy                         复制光标所在列的向下n列,例如,20yy则是复制20列(常用)

y1G                         复制光标所在列到第一列的所有数据

yG                          复制光标所在列到最后一列的所有数据

p, P                         p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行(常用)

J                           将光标所在列与下一列的数据结合成一列

u                           恢复前一个动作(常用)

编辑模式

i, I                         插入:在当前光标所在处插入输入的文字,已存在的字符会向后退(常用)

a, A                        添加:由当前光标所在处的下一个字符开始输入,已存在的字符会

向后退(常用)

o, O                        插入新的一行:从光标所在处的下一行行首开始输入字符(常用)

r, R                         替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止(常用)

Esc                         退出编辑模式,回到一般模式(常用)

命令行模式

:w                          将编辑的数据写入硬盘文件中(常用)

:w!                         若文件属性为只读,强制写入该文件

:q                          退出vi  (常用)

:q!                         若曾修改过文件,又不想保存,使用!为强制退出不保存文件

:wq                         保存后退出,若为:wq!,则为强制保存后退出(常用)

:w [filename]                 将编辑数据保存为另一个文件(类似另存新文档)

:r [filename]                在编辑的数据中,读入另一个文件的数据。亦即将  filename这个文件内容加到光标所在行的后面

:set nu                    显示行号,设定之后,会在每一行的前面显示该行的行号

:set nonu                  与set nu相反,为取消行号

n1,n2 w [filename]           将n1到n2的内容保存为filename这个文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值